分区功能是个使用系统时候的必备功能,但却不特别常用,所以每次使用时难免会因为不记得指令或者错误使用指令而导致一些没必要的错误发生,建议如果不是经常分区,对步骤不是记得太清楚的话,在分区前还是搜索一下详细步骤,免得出了问题仍然不自知。笔者之所以写这篇文章就是潜意识中觉得分区步骤简单,然后出了问题,还不知道问题出在哪儿。

简述分区步骤:

  • df:可以查看下当前系统挂载了的分区,如下图所示
1
2
3
4
5
6
7
8
9
10
11
Filesystem 1K-blocks Used Available Use% Mounted on
udev 4044748 0 4044748 0% /dev
tmpfs 812844 9744 803100 2% /run
/dev/sda2 47930248 11323396 34149048 25% /
tmpfs 4064220 349608 3714612 9% /dev/shm
tmpfs 5120 4 5116 1% /run/lock
tmpfs 4064220 0 4064220 0% /sys/fs/cgroup
/dev/sda1 497696 3668 494028 1% /boot/efi
/dev/sda3 95990540 70935460 20155908 78% /home
tmpfs 812844 12 812832 1% /run/user/1000
/dev/sda5 142794248 34011608 101506060 26% /home/demon/Space
  • 也可以使用sudo fdisk -l 看当前系统存在的分区信息
  • 下面开始分区,使用sudo fdisk /dev/sda,这边要对sda设备进行分区,主要看你要对哪块盘进行分区,如果有第二块盘,则是sdb。执行完这个指令后,会有帮助提示,跟着提示走,会很简单。
  • 这边我们新建分区,输入:n,选择分区码,起始扇区,结尾扇区。最后输入w写入分区表。这边出现警告:
1
2
3
4
5
The partition table has been altered.
Calling ioctl() to re-read partition table.
Re-reading the partition table failed.: Device or resource busy
The kernel still uses the old table. The new table will be used at the next reboot or after you run partprobe(8) or kpartx(8).

起初一直在纠结这个问题,后来通过网上查看发现仅仅是个警告,并非错误,而虽然完成但事实上这边没有格式化,值得注意的是,fdisk虽然选择了分区类型,但并没有格式化分区,而这边的分区类型仅仅是将分区类型的内容写入了MBR中,真正格式化还得手动执行。

  • 使用 sudo fdisk -l 已经可以查看到分区列表了
1
2
3
4
5
6
7
Device Start End Sectors Size Type
/dev/sda1 2048 999423 997376 487M EFI System
/dev/sda2 999424 98656255 97656832 46.6G Linux filesystem
/dev/sda3 98656256 293967871 195311616 93.1G Linux filesystem
/dev/sda4 293967872 309592063 15624192 7.5G Linux swap
/dev/sda5 309592064 600000000 290407937 138.5G Linux filesystem
/dev/sda6 600000512 1953525134 1353524623 645.4G Linux filesystem
  • 下面真正格式化分区,格式化分区需要选择格式化类型,上面通过 fdisk 已经选定了分区为 linux filesystem 了,这边就要将其格式化为其对应的文件系统。sudo mkfs.ext4 /dev/sda6,再看分区 sudo fdisk -l
1
2
3
4
5
6
7
Device Start End Sectors Size Type
/dev/sda1 2048 999423 997376 487M EFI System
/dev/sda2 999424 98656255 97656832 46.6G Linux filesystem
/dev/sda3 98656256 293967871 195311616 93.1G Linux filesystem
/dev/sda4 293967872 309592063 15624192 7.5G Linux swap
/dev/sda5 309592064 600000000 290407937 138.5G Linux filesystem
/dev/sda6 600000512 1953525134 1353524623 645.4G Linux filesystem
  • 最后一步就是挂载分区了,使用sudo mount /dev/sda6 ~/Extern 将sda6新分出来的分区挂载到当前用户目录下的Extern分区中即可。
  • df再次查看可以发现,分区已经被挂载成功了。