正在尝试从 F15 升级到 F17。我需要找到一种方法来增加 /boot 大小而不破坏数据。细节:
我尝试使用预升级过程并通过 USB 上的 Net iso 启动进行升级,两者都会导致相同的结果:第一个包(文件系统)事务中的“错误”消息表明安装程序需要(大约)1GB 更多 /
无法继续安装。
我还尝试了将 /boot 中的可用空间减少到 < 100M 的技巧,以触发安装程序映像的网络负载...但这会导致一系列镜像 http/404 消息,并且没有任何进展。
我不想再次用核武器摧毁一切,只是为了进行升级。我本以为,到目前为止,这个问题会得到一个更优雅的解决方案,而不是不断尝试猜测下一次升级的 /boot 必须有多大。 (取消评论)
我在 /dev/sdb 上有 4GB 可用空间,但它与 sdb1 (/boot) 不连续:收缩 LVM 卷的过程在 sdb 的末尾而不是开头释放了空间:
> df -kl | grep boot:
/dev/sdb1 3064704 300520 2764184 10% /boot
(请注意,/boot 中现在的内容无关紧要,因为 1G > 300 MB:我必须增加卷大小)
磁盘驱动器:
/dev/sdb1 * 2048 6146047 3072000 83 Linux
/dev/sdb2 6146048 612354047 303104000 8e Linux LVM
cfdisk:
Pri/Log Free Space 1.05*
sdb1 Boot Primary ext4 3145.73*
sdb2 Primary LVM2_member 310378.50*
Pri/Log Free Space 4474.28*
编辑:
在尝试使用 gparted、看着它崩溃、最终猛拉并更换驱动器之后,我创建了一个 15 GB 的启动分区(FCS!),重新安装了 F15 和我的所有文件。然后预升级至 F17 成功。我接受了首选答案,假设如果它没有损坏我的硬盘,它会起作用;)
答案1
使用 gparted 将 sdb2 移向磁盘末尾,以便可用空间位于其前面。然后您可以调整 sdb1 的大小。
答案2
您确定您需要一个单独的启动分区吗?它曾经是必要的(或者至少非常方便),但 grub 非常擅长从 LVM 和 raid 以及当今最常见的 Linux 文件系统启动。
如果您不需要单独的 /boot,您可以将其移动到 / 上的子目录。
例如:
cp -af /boot /boot.new
umount /boot
mv /boot.new /boot
然后编辑/etc/fstab并注释掉/boot条目
您还需要在 /dev/sdb 上重新安装 grub,因为 /boot 中的文件已被移动:grub-install /dev/sdb
。