Linux使用fdisk对分区进行扩容操作
前言
之前写过一篇【Linux下操作分区扩容】,那篇文章中操作分区扩容的工具是parted
,这次换fdisk
。
一般linux各发行版都自带fdisk,而parted都需要另外安装。
对于分区扩容这个操作,parted用起来会让人简单 & 放心,因为它是直接resizepart
,而fdisk是先删除旧分区再建新分区,虽然两种操作都是变更分区表信息、都不会丢失数据,但fdisk那种删旧建新的过程确实会让人更胆战心惊一些。
操作
第一步:确认当前分区结构
首先要确认想要扩容分区需要是连续的扇区,如下示意图,在根区分之后有空闲空间,就可以扩容根分区。
|-------------------------------------11GB-----------------------------------------|
|---512MB启动分区---|---954MB缓存(swap)分区---|---8.6GB根(/)分区---|---空闲空间---|
分区结构如下
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 11G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 954M 0 part [SWAP]
└─sda3 8:3 0 8.6G 0 part /
最后使用fdisk命令查看分区信息
sudo fdisk /dev/sda
分区信息如下
Disk /dev/sda: 11 GiB, 11811160064 bytes, 23068672 sectors
Disk model: Virtual Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: E73B5228-BBA7-453F-AD2D-0D97322BC45B
Device Start End Sectors Size Type
/dev/sda1 2048 1050623 1048576 512M EFI System
/dev/sda2 1050624 3004415 1953792 954M Linux swap
/dev/sda3 3004416 20971486 17967071 8.6G Linux filesystem
查看以上信息是为了确保对分区信息的正确掌握,避免错误操作导致系统崩溃。
第二步:扩容分区
我们是要扩容根(/)分区,也就是/dev/sda3
,扩容的操作实际分成两步,先删除/dev/sda3
,再新建一个/dev/sda3
。此过程中不必担心先删除分区会导致数据丢失。
使用fdisk工具对/dev/sda硬盘进行操作
sudo fdisk /dev/sda
进入fdisk工具的命令行操作界面,显示内容如下
Command (m for help):
接下去就开始进行分区操作
# 首先要删除分区
Command (m for help): d
# 输入需要删除的分区编号,根据第一步中了解的分区信息,这里是3
Partition number (1-3, default 3): 3
# 分区删除成功
Partition 3 has been deleted.
# 新建分区
Command (m for help): n
# 新分区编号,默认是3,也可以手动输入
Partition number (3-128, default 3): 3
# 设定起始扇区,默认即可
First sector (3004416-23068638, default 3004416):
# 设定结束扇区,提示信息显示最末扇区是23068638,默认会预留几个扇区不用,可以直接默认设置,也可以物尽其用,手动输入结束扇区
Last sector, +/-sectors or +/-size{K,M,G,T,P} (3004416-23068638, default 23066623): 23068638
# 提示新分区创建成功
Created a new partition 3 of type 'Linux filesystem' and of size 9.6 GiB.
# 提示3号分区已经存在一个ext4的签名
Partition #3 contains a ext4 signature.
# 是否要删除3号分区的旧签名,这里选是,敲y
Do you want to remove the signature? [Y]es/[N]o: y
# 提示信息,最后保存时会删除旧的分区签名
The signature will be removed by a write command.
# 保存新的分区信息
Command (m for help): w
# 提示分区已完成
The partition table has been altered.
Syncing disks.
最后再resize一下新分区即可
sudo resize2fs /dev/sda3