从 USB Ubuntu 18.04 启动,我正在尝试缩小当前的 Ubuntu 16.04 分区。
为了完整起见,这是 lsblk 在我写这篇文章时返回的内容:
sda 8:0 0 465.8G 0 disk
├─sda1 8:1 0 512M 0 part
├─sda2 8:2 0 488M 0 part
└─sda3 8:3 0 464.8G 0 part
├─ubuntu--vg-root 253:0 0 248.9G 0 lvm
└─ubuntu--vg-swap_1 253:1 0 15.9G 0 lvm
sdb 8:16 1 1.9G 0 disk /cdrom
├─sdb1 8:17 1 1.8G 0 part
└─sdb2 8:18 1 2.3M 0 part
如您所见,我的 /dev/sda3 有 464.8G,但只有 264.8G 被 vg-root 和 vg-swap 使用。我想要的是缩小 sda3,这样我就可以在另一个分区安装 Ubuntu 18.04。
下列的本文,调整 LV 大小后,我尝试运行 pvresize:
ubuntu@ubuntu:~$ sudo pvresize --setphysicalvolumesize 265G /dev/sda3
/dev/sda3: Requested size 265.00 GiB is less than real size 464.78 GiB. Proceed? [y/n]: y
WARNING: /dev/sda3: Pretending size is 555745280 not 974721024 sectors.
Physical volume "/dev/sda3" changed
1 physical volume(s) resized / 0 physical volume(s) not resized
鉴于该消息,我知道一切都成功运行,但是当运行 lsblock (或 GParted)时,一切都保持不变:sda3 没有收缩。
需要注意的是,GParted 在 sda3 旁边显示了一个钥匙图标,就好像它已安装一样,而实际上并未安装(因为我从 USB 启动)。运行 umount 确认:
ubuntu@ubuntu:~$ sudo umount /dev/sda3
umount: /dev/sda3: not mounted.
另外,如果我尝试使用 GParted 调整 sda3 的大小,它将运行相同的 pvresize 但会对确认回答“否”,因此结果是错误。
我在这里缺少什么?我还需要做其他事情吗?为什么 GParted 不允许我缩小分区?
答案1
为什么 GParted 不允许我缩小分区?
我希望它检测到 LVM 正在使用它。 lvchange -an ...
应允许停用 LV(逻辑卷),例如/dev/ubuntu--vg-root
和/dev/ubuntu--vg-swap_1
。 vgchange -an ubuntu
应允许停用ubuntu
VG(卷组)。
注意,如果gparted可以收缩分区,则无需事先运行pvresize
。