学习自:
fdisk命令详解 - 知乎
Linux fdisk命令详解:给硬盘分区_fdisk -l-CSDN博客
初始化Linux数据盘(fdisk)|华为云_fdisk 华为云 初始化云盘-CSDN博客
1、说明
新添加硬盘之后,需要用fdisk指令来完成分区。
不要在当前硬盘上使用fdisk,这会删除整个系统。
2、用法
输入fdisk 分区,再输入m后,可以看到fdisk在分区过程中的各种用法(注意不要在当前盘上使用,测试请在虚拟机或者新硬盘上进行):
常用的命令有:
a 切换可引导标志,标明分区是否可以作为引导分区d 删除分区,new的反向操作l 列出已知分区n 新建分区q 退出,不保存修改t 更改分区系统idw 退出,保存修改
3、例子
1)列出系统中所有的硬盘分区:fdisk -l
fdisk -lDisk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000c9474Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886046 41941999+ 83 LinuxDisk /dev/vdb: 10.7 GB, 10737418240 bytes, 20971520 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0xace52025Device Boot Start End Blocks Id System /dev/vdb1 2048 20971519 10484736 83 Linux
解释
上图列出了该系统所拥有的两块硬盘:/dev/vda1、/dev/vdb1
每段的结构介绍都是一样的:
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x000c9474Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886046 41941999+ 83 Linux
①
Disk /dev/vda: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes
盘/dev/vda1大小42.9G,共83886080个扇区,每个扇区大小512B。
②
Device Boot Start End Blocks Id System /dev/vda1 * 2048 83886046 41941999+ 83 Linux
扇区号从2048到83886046。
③扇区
一个硬盘设备可以简单理解为由大量扇区组成,扇区是硬盘的最小存储单元。一个扇区大小为512B,现在也有更大扇区的硬盘。
在所有扇区中,第一个扇区是最重要的,其中保存了主引导记录、分区表。
对于分区而言,首个分区总是从2048开始,即上文的start。由于上文只分了一个区,因此这个盘的扇区Start和End自然就是2048扇区和83886046扇区。
2)申请、分区、挂载新硬盘(下文以华为云硬盘为例,本地盘挂载与此类似,从第三步开始看即可)
①在华为云官网申请一个10G大小的云硬盘
②绑定
这里的挂载是指把这块盘跟服务器关联,来让服务器可以扫描到这块空的盘:
之后服务器ecs-7954就可以“看到”这块盘了,现在去服务器上检查一下:
多出了一块盘,但是现在还没进行分区,因此无法使用:
③分区
fdisk /dev/vdb
输入n,代表开始新建分区(new):
输入p,代表主分区(primary);
再输入1,代表分区个数为1:
之后会让输入起始扇区、结束扇区的编号,在都使用默认的情况下,从2048号扇区(起始扇区能取到的最小的扇区号)到最后一个扇区:
输入w,把上述分区信息保存到系统分区表中:
再用一次fdisk -l查看分区结果:
完成分区。
上文的vdb1中的1代表分区编号,由于我们这里只分了一个区,所以只有一个编号1,如果分了多个区,那么这里的编号就会变多,一个盘最多分4个主分区,即最多有vdb1,2,3,4四个区(学习自:MBR 分区最多只能分四个区,那么扩展分区是如何突破限制的呢?_mbr最多有多少个分区-CSDN博客)。
④格式化
mkfs.ext4 /dev/vdb1
将磁盘格式化为ex4格式。
⑤挂载
a)创建/data目录,作为挂载点
mkdir /applog
b)mount挂载
mount /dev/vdb1 /applog
c)检测磁盘是否可用
cd /applog
vim test.txt
#在test.txt中随便写点东西
cat test.txt
d)设置开机自动挂载
vim /etc/fstab
#在末尾加上挂载信息
/dev/vdb1 /applog ext4 defaults 0 0
测试能否自动挂载:先卸载
umount /applog df -Th
再重新载入挂载信息:
mount -a df -Th
挂载完毕。