Linux扩展分区大小

查看硬盘使用情况

查看分区使用情况

root@X-U:/home/username# df -h
文件系统        容量  已用  可用 已用% 挂载点
udev            918M     0  918M    0% /dev
tmpfs           192M  1.5M  190M    1% /run
/dev/sda2        24G   23G  616M   98% /
tmpfs           956M     0  956M    0% /dev/shm
tmpfs           5.0M     0  5.0M    0% /run/lock
tmpfs           956M     0  956M    0% /sys/fs/cgroup
/dev/loop0      347M  347M     0  100% /snap/gnome-3-38-2004/115
/dev/loop1      128K  128K     0  100% /snap/bare/5
/dev/loop2       64M   64M     0  100% /snap/core20/1695
/dev/loop3       64M   64M     0  100% /snap/core20/1634
/dev/loop5      347M  347M     0  100% /snap/gnome-3-38-2004/119
/dev/loop6       92M   92M     0  100% /snap/gtk-common-themes/1535
/dev/loop4       66M   66M     0  100% /snap/gtk-common-themes/1519
/dev/loop7       46M   46M     0  100% /snap/snap-store/592
/dev/loop9       48M   48M     0  100% /snap/snapd/17336
/dev/loop8       46M   46M     0  100% /snap/snap-store/599
/dev/loop10      48M   48M     0  100% /snap/snapd/17029
/dev/sda1       511M  5.3M  506M    2% /boot/efi

查看分区情况

root@X-U:/home/username# lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
loop0    7:0    0 346.3M  1 loop /snap/gnome-3-38-2004/115
loop1    7:1    0     4K  1 loop /snap/bare/5
loop2    7:2    0  63.2M  1 loop /snap/core20/1695
loop3    7:3    0  63.2M  1 loop /snap/core20/1634
loop4    7:4    0  65.2M  1 loop /snap/gtk-common-themes/1519
loop5    7:5    0 346.3M  1 loop /snap/gnome-3-38-2004/119
loop6    7:6    0  91.7M  1 loop /snap/gtk-common-themes/1535
loop7    7:7    0  45.9M  1 loop /snap/snap-store/592
loop8    7:8    0  45.9M  1 loop /snap/snap-store/599
loop9    7:9    0    48M  1 loop /snap/snapd/17336
loop10   7:10   0    48M  1 loop /snap/snapd/17029
sda      8:0    0   128G  0 disk
├─sda1   8:1    0   512M  0 part /boot/efi
└─sda2   8:2    0 127.5G  0 part /
sr0     11:0    1  1024M  0 rom

删除当前分区

  • 使用fdisk编辑分区表
root@Li-U:/home/xinbao# fdisk /dev/sda
欢迎使用 fdisk (util-linux 2.34)。
更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。
GPT PMBR size mismatch (52428799 != 268435455) will be corrected by write.
The backup GPT table is not on the end of the device. This problem will be corrected by write.

输入p打印当前分区信息

命令(输入 m 获取帮助): p
Disk /dev/sda:128 GiB,137438953472 字节,268435456 个扇区
Disk model: Virtual Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:FDCD8ADD-9F23-442E-93F2-2CAC38B269A7
设备          起点     末尾     扇区  大小 类型
/dev/sda1     2048  1050623  1048576  512M EFI 系统
/dev/sda2  1050624 52426751 51376128 24.5G Linux 文件系统

删除需要扩容的分区

可以看到/dev/sda已经是128G了,但是分区sda2只有24.5G,且sda2是sda的最后一个分区,因此可以扩容。输入d,选择对应的分区号,这里是删除/dev/sda2

命令(输入 m 获取帮助): d
分区号 (1,2, 默认  2): 2
分区 2 已删除。

新建刚刚删除的分区

实际上,删除的只是分区表信息,数据未删除,因此重建分区即可。输入n,新建分区,起始扇区与之前打印出来的相同,结束扇区根据扩容空间决定,默认是到硬盘的最后一个扇区,即最大扩容空间。输入N保留原有分区签名

命令(输入 m 获取帮助): n
分区号 (2-128, 默认  2):
第一个扇区 (1050624-268435422, 默认 1050624):
Last sector, +/-sectors or +/-size{K,M,G,T,P} (1050624-268435422, 默认 268435422):
创建了一个新分区 2,类型为“Linux filesystem”,大小为 127.5 GiB。
分区 #2 包含一个 ext4 签名。
您想移除该签名吗? 是[Y]/否[N]: N

写入分区信息

请仔细核对,最好先输入p查看分区信息,确认无误之后再输入w写入。

命令(输入 m 获取帮助): p
Disk /dev/sda:128 GiB,137438953472 字节,268435456 个扇区
Disk model: Virtual Disk
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 4096 字节
I/O 大小(最小/最佳):4096 字节 / 4096 字节
磁盘标签类型:gpt
磁盘标识符:FDCD8ADD-9F23-442E-93F2-2CAC38B269A7
设备          起点      末尾      扇区   大小 类型
/dev/sda1     2048   1050623   1048576   512M EFI 系统
/dev/sda2  1050624 268435422 267384799 127.5G Linux 文件系统
命令(输入 m 获取帮助): w
分区表已调整。
正在同步磁盘。

查看分区类型

到这里,虽然分区已经扩展,但是还未更新生效,需要根据分区类型刷新分区

findmnt |grep /dev/sd
# 使用 resize2fs或xfs_growfs 对挂载目录在线扩容
# resize2fs 针对文件系统ext2 ext3 ext4
# xfs_growfs 针对文件系统xfs

更新分区

根据刚刚的分区类型,刷新分区。例如ext4:

root@X-U:/home/username# resize2fs /dev/sda2
resize2fs 1.45.5 (07-Jan-2020)
/dev/sda2 上的文件系统已被挂载于 /;需要进行在线调整大小
old_desc_blocks = 4, new_desc_blocks = 16
/dev/sda2 上的文件系统大小已经调整为 33423099 个块(每块 4k)。
到这里就更新完成啦,愉快的玩耍吧!
THE END