如何通过命令行扩展Ubuntu VM的非根分区(并且不使用GParted)

将磁盘大小从200GB增加到300GB的Hyper-V虚拟机,在其中安装Ubuntu服务器lsblk显示以下

 root@ubuntu:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 15G 0 disk ├─sda1 8:1 0 243M 0 part /boot ├─sda2 8:2 0 1K 0 part └─sda5 8:5 0 14.8G 0 part ├─ubuntu--vg-root (dm-0) 252:0 0 14.2G 0 lvm / └─ubuntu--vg-swap_1 (dm-1) 252:1 0 508M 0 lvm [SWAP] sdb 8:16 0 300G 0 disk └─sdb1 8:17 0 200G 0 part /media/storage sr0 11:0 1 1024M 0 rom 

现在我们只需要将当前安装在/media/storage (但可以暂时卸载而没有问题)的sdb1增加到300GB,以便使用sdb上的所有空间。

简单地使用resize2fs似乎不起作用。 从GParted CD启动并执行调整操作的工作是什么? 但是,由于这是一个可以卸载的非根分区,这似乎是一个矫枉过正的问题。 那么有没有一个简单的方法来这与命令行? (不幸的是,谷歌search带来了很多与GParted或关于根分区等pp。这不适用于这里。

resize2fs将调整文件系统而不是分区。 在调整文件系统大小之前,必须调整分区大小(sdb1)。

如果你不想使用parted,那么你可以使用fdisk

最初你必须findsdb1分区的起始扇区。 要做到这一点,只需执行:

 fdisk -l /dev/sdb 

并记下Start列中的数字

然后:

 fdisk /dev/sdb 

然后按d删除第一个分区。

然后按n创build一个新的分区。

然后按p表示它将成为主分区。

然后按1表示它将是第一个分区。

下一步是非常重要的。 fdisk将要求新分区的第一个扇区。 使用您之前记下的数字。

那么fdisk会要求最后一个扇区。 默认情况下,fdisk会提示磁盘的最后一个扇区,所以使用默认值。

然后按w和fdisk将分区表写入磁盘。

您现在可以使用resize2fs命令调整文件系统的大小