我之前曾在 Linux 系统中使用过growpart
和来调整已挂载的在线 ext4 分区的大小。resize2fs
目前,我有一个在 virtualbox 中运行的 Ubuntu 客户机,我想调整分区大小/dev/sda5
。我已经通过 扩展了主机上的虚拟磁盘vboxmanage modifyhd --resize...
,但是运行后(在来宾中)growpart
我没有看到分区表有任何变化(我假设它是从 lsblk 返回的值)。
chris@chris-VirtualBox:~$ lsblk
...
sda 8:0 0 53.9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 37.8G 0 part /
...
调整大小:
chris@chris-VirtualBox:~$ sudo growpart /dev/sda 5
CHANGED: partition=5 start=1052672 old: size=79251456 end=80304128 new: size=111996895 end=113049567
chris@chris-VirtualBox:~$ sudo resize2fs /dev/sda5
resize2fs 1.45.5 (07-Jan-2020)
The filesystem is already 9906432 (4k) blocks long. Nothing to do!
lsblk
仍然显示旧值:
...
sda 8:0 0 53.9G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 1K 0 part
└─sda5 8:5 0 37.8G 0 part /
...
这是 virtualbox 的限制吗?或者有可行的替代方案吗?
嗯,实际上/dev/sda2
分区看起来很可疑(它的大小似乎太大了?它与 重叠吗/dev/sda5
?:
chris@chris-VirtualBox:~$ sudo parted /dev/sda
GNU Parted 3.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) p
Model: ATA VBOX HARDDISK (scsi)
Disk /dev/sda: 57.9GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Number Start End Size Type File system Flags
1 1049kB 538MB 537MB primary fat32 boot
2 539MB 41.1GB 40.6GB extended
5 539MB 41.1GB 40.6GB logical ext4
答案1
这些命令未按预期工作,因为它们包含在扩展分区中,如下所述:https://askubuntu.com/a/365953/585364
相反,我必须首先/dev/sda2
extended
扩展/dev/sda5
.
因此,所需的所有命令(在我的具体情况下):
growpart /dev/sda 2
growpart /dev/sda 5
resize2fs /dev/sda5