linux fdisk 命令 磁盘划分新的分区及挂载

2024-04-15 21:48

本文主要是介绍linux fdisk 命令 磁盘划分新的分区及挂载,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

今天VirualBox中的Ubuntu进不了系统,用guest用户登录后知道存储不足,在网上找到了解决办法誊抄下来已做备份;

进入linux的安全模式需开机后长按[b]shift[/b]

linux fdisk 命令

fdisk - Partition table manipulator for Linux
一.通过fdisk -l 查看机器所挂硬盘个数及分区情况;
fdsik 能划分磁盘成为若干个区,同时也能为每个分区指定分区的文件系统,比如linux,fat32,linux swap,fat16以及其实类Unix类操作系统的文件系统等.当然用fdisk 对磁盘操作分区后,还要对分区进行格式化所需要的文件系统,这样一个分区才能使用.
主分区[Primary](包括扩展分区[Extended])的总数不能超过4个;也就是说主分区[Primary]+扩展分区[Extended]总数最多是4,扩展分区[Extended]分区只能有一个
因此如果要分成4快磁盘分区的话,那么最多是可以:
P+P+P+P 或者
P+P+P+E
其中3P+E只有3个可用的磁盘,扩展分区不能直接使用,还要分区成逻辑分区[Logical]才行.

fdisk -l 查看硬盘及分区信息
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux 主分区
/dev/sda2 14 6387 51199155 83 Linux 主分区
/dev/sda3 6388 7407 8193150 82 Linux swap / Solaris 主分区
/dev/sda4 7408 60801 428887305 5 Extended 扩展分区
/dev/sda5 7408 20155 102398278+ 83 Linux 逻辑分区
/dev/sda6 20156 26529 51199123+ 83 Linux 逻辑分区


通过上面的信息 我们知道此机器挂载了1个硬盘sda,大小500G
有255个磁面,63个扇区,60801个磁柱;
每个磁柱的容量是8225280 bytes 约为 8.225280M
sda有4个主分区sda1,sda2,sda3,sda4(扩展分区),逻辑分区是sd5,sd6
硬盘总容量=主分区(包括扩展分区)总容量
扩展分区容量=逻辑分区总容量+未分完的总容量

Start :表示的一个分区从X cylinder(磁柱)开始;
End :表示一个分区到 Y cylinder(磁柱)结束;
id和System 表示的是一个意思,id看起来不太直观,我们要在fdisk 一个分区时,通过指定id来确认分区类型;比如 7表示的就NTFS 分区;这个在fdisk 中要通过t功能来指定。
Blocks:表示这个磁盘有多少个os块,单位是k,通常一个os块大小可以通过命令查看 /sbin/tune2fs -l /dev/sda1 里面有block size参数
Blocks = (相应分区End数值 - 相应分区Start数值)x 单位cylinder(磁柱)的容量,就是这个磁盘拥有多少空间的量

从上面看出 扩展分区从7408到60801磁柱 而逻辑分区只从7408到26529磁柱,说明扩展分区还未分完

二.下面看如何增加一个分区

#fdisk /dev/sda
Command (m for help):m [在这里按m ,就会输出帮助]
Command action
a toggle a bootable flag
b edit bsd disklabel
c toggle the dos compatibility flag
d delete a partition 注:这是删除一个分区的动作;
l list known partition types 注:l是列出分区类型,以供我们设置相应分区的类型;
m print this menu 注:m 是列出帮助信息;
n add a new partition 注:添加一个分区;
o create a new empty DOS partition table
p print the partition table 注:p列出分区表;
q quit without saving changes 注:不保存退出;
s create a new empty Sun disklabel
t change a partition's system id 注:t 改变分区类型;
u change display/entry units
v verify the partition table
w write table to disk and exit 注:把分区表写入硬盘并退出;
x extra functionality (experts only) 注:扩展应用,专家功能;

警告:删除分区时要小心,请看好分区的序号,如果您删除了扩展分区,扩展分区之下的逻辑分区都会删除;所以操作时一定要小心;如果知道自己操作错了,请不要惊慌,用q不保存退出;切记切记!!!!在分区操作错了之时,千万不要输入w保存退出!!!

出现上面的菜单后 按下p 先看下分区情况
Command (m for help): p


Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 6387 51199155 83 Linux
/dev/sda3 6388 7407 8193150 82 Linux swap / Solaris
/dev/sda4 7408 60801 428887305 5 Extended
/dev/sda5 7408 20155 102398278+ 83 Linux
/dev/sda6 20156 26529 51199123+ 83 Linux

然后按下n (添加一个分区)
Command (m for help): n
First cylinder (26530-60801, default 26530): 27000
这里提示这个分区从哪个磁柱开始,默认接着上一个分区,这里回车就是默认值.这里最好直接按回车,如果您输入了一个非默认的数字,会造成空间浪费;
然后出现
Last cylinder or +size or +sizeM or +sizeK (26530-60801, default 60801):
注:这个是定义分区大小的,+200M 就是大小为200M ;当然您也可以根据p提示的单位cylinder的大小来算,然后来指定 End的数值;如果您想添加一个10G左右大小的分区,请输入 +10000M ;

输入好了 可以fdisk 的退出,用q或者w
其中 q是不保存退出,w是保存退出
Command (m for help): w

Command (m for help): q

由于我这台机器已经有4分主分区
如果主分区未达到4个,达到了4个不会出现
按n添加一个分区时候 会出现
Command (m for help): n (注:添加分区;)
Command action
e extended
p primary partition (1-4)
这时根据自己需要选择主分区还是扩展分区了.


三.分区完以后还要对分区格式化以及加载

用 mkfs.bfs mkfs.ext2 mkfs.jfs mkfs.msdos mkfs.vfatmkfs.cramfs mkfs.ext3 mkfs.minix mkfs.reiserfs mkfs.xfs 等命令来格式化分区,比如我想格式化 sda7为ext3文件系统,则输入;

# mkfs.ext3 /dev/sda7
然后加载sda7到目前系统来存取文件,应该有mount 命令,但首先您得建一个挂载目录;比如 /mnt/sda7

# mount /dev/sda7 /mnt/sda7
然后 df -lh 查看
就能进入 /mnt/sda7目录,然后存取文件了

四.让硬盘启动自动挂载
用vi编辑/etc/fstab文件,加入如下内容
/dev/sda7 /mnt/sda7 ext3 defaults 1 2

/etc/fstab 这个文件还有另外一些参数 以后再写了.

摘自[url]http://blog.itpub.net/29392174/viewspace-1064061/[/url]

先把两个硬盘分区,格式化,然后挂载到系统里面,比如要保存usr的那个硬盘挂载到/mnt/usr下,保存home的那个硬盘挂载到/mnt/home(/mnt/usr,/mnt/home要自己建立),然后先分别拷贝原来系统的/usr和/home的东西到/mnt/usr和/mnt/home,拷贝完成,卸载两个新磁盘的挂载, 然后再把这两个磁盘分别挂载到/home和/usr修改/etc/fstab,修改完成后,mount -a,应该就可以了,你可以mount命令查看下

1)新建一个有足够空间的分区给你要搬移的目录,比如/home
2) 新建一个目录,$mkdir /mnt/newhome
3)把新建的分区挂载到新建的目录下,$sudo mount -t ext3 /dev/hda5 /mnt/newhome
(这里假设了,新建的分区是ext3类型的,并且是在/dev/hda5)
4)把整个/home都拷贝过去,
$cd /home/
$find . -depth -print0 | cpio --null --sparse -pvd /mnt/newhome/ (未测试)

tar cpf - .|(cd /mnt/opttemp; tar xvpf -) (在opt目录里面,命令当中有个.) (已测试)
5)卸载 $sudo umount /mnt/newhome
6)把原来的/home 改名,$sudo mv /home /old_home
7)新建一个/home,sudo mkdir /home
把分区挂载过来,$sudo mount /dev/hda5 /home
9)在 “/etc/fstab” file里加上/dev/hda5 /home ext3 nodev,nosuid 0 2,让系统启动的时候就自动挂载。
10)把就的home删除,$sudo rm -r /old_home

tar cpf - .|(cd /mnt/opttemp; tar xvpf -)
这一条测试过了,在生产机上做过,从别处转过来的,可用

这篇关于linux fdisk 命令 磁盘划分新的分区及挂载的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907016

相关文章

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

linux-基础知识3

打包和压缩 zip 安装zip软件包 yum -y install zip unzip 压缩打包命令: zip -q -r -d -u 压缩包文件名 目录和文件名列表 -q:不显示命令执行过程-r:递归处理,打包各级子目录和文件-u:把文件增加/替换到压缩包中-d:从压缩包中删除指定的文件 解压:unzip 压缩包名 打包文件 把压缩包从服务器下载到本地 把压缩包上传到服务器(zip

Linux 网络编程 --- 应用层

一、自定义协议和序列化反序列化 代码: 序列化反序列化实现网络版本计算器 二、HTTP协议 1、谈两个简单的预备知识 https://www.baidu.com/ --- 域名 --- 域名解析 --- IP地址 http的端口号为80端口,https的端口号为443 url为统一资源定位符。CSDNhttps://mp.csdn.net/mp_blog/creation/editor

【Python编程】Linux创建虚拟环境并配置与notebook相连接

1.创建 使用 venv 创建虚拟环境。例如,在当前目录下创建一个名为 myenv 的虚拟环境: python3 -m venv myenv 2.激活 激活虚拟环境使其成为当前终端会话的活动环境。运行: source myenv/bin/activate 3.与notebook连接 在虚拟环境中,使用 pip 安装 Jupyter 和 ipykernel: pip instal

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

Linux_kernel驱动开发11

一、改回nfs方式挂载根文件系统         在产品将要上线之前,需要制作不同类型格式的根文件系统         在产品研发阶段,我们还是需要使用nfs的方式挂载根文件系统         优点:可以直接在上位机中修改文件系统内容,延长EMMC的寿命         【1】重启上位机nfs服务         sudo service nfs-kernel-server resta

poj 2104 and hdu 2665 划分树模板入门题

题意: 给一个数组n(1e5)个数,给一个范围(fr, to, k),求这个范围中第k大的数。 解析: 划分树入门。 bing神的模板。 坑爹的地方是把-l 看成了-1........ 一直re。 代码: poj 2104: #include <iostream>#include <cstdio>#include <cstdlib>#include <al

【Linux 从基础到进阶】Ansible自动化运维工具使用

Ansible自动化运维工具使用 Ansible 是一款开源的自动化运维工具,采用无代理架构(agentless),基于 SSH 连接进行管理,具有简单易用、灵活强大、可扩展性高等特点。它广泛用于服务器管理、应用部署、配置管理等任务。本文将介绍 Ansible 的安装、基本使用方法及一些实际运维场景中的应用,旨在帮助运维人员快速上手并熟练运用 Ansible。 1. Ansible的核心概念