/boot 太小,无法升级

/boot 太小,无法升级

正在尝试从 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

相关内容