调整启动分区的大小

ant*_*009 9 linux partitioning

Fedora 12 ext4 文件系统

我刚刚做了升级。我收到下面的消息。我不确定我的引导分区上是否没有足够的空间来安装新内核。

当我尝试升级时,我收到此消息:还有未完成的交易。您可能会考虑先运行 yum-complete-transaction 来完成它们

所以我运行 yum-completed-transaction 并收到以下消息:

    [('installing package kernel-2.6.31.6-166.fc12.i686 needs 9MB on the /boot filesystem', (9, '/boot', 8469504L))]
Not removing old transaction files
Run Code Online (Sandbox Code Playgroud)

我想知道这是不是因为我的启动驱动器上没有足够的磁盘空间。但是,当我检查时,我有超过 9mb。

[root@steve-fedora ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda7             9.9G  3.4G  6.5G  34% /
tmpfs                 754M  564K  754M   1% /dev/shm
/dev/sda6              74M   52M   18M  75% /boot
/dev/sda9              26G  803M   24G   4% /home
Run Code Online (Sandbox Code Playgroud)

非常感谢您的任何建议

qua*_*ote 10

看起来您正在安装新内核;这些可能相当大(~20+ MB,即使在压缩时也是如此)。从错误中,我认为yum它告诉您它需要比您可用的9 MB。

有几种方法可以解决这个问题。

  • 删除旧内核。如果您有多个不再使用的旧内核,则可以通过卸载最旧的内核映像来释放足够的空间来安装新内核。这仅在您安装了 2 个或更多内核时才有效,并假设您的系统实际上并未使用最旧的内核映像。

  • 重新定位/boot到根分区。 您可以/boot从它自己的分区重新定位到根分区 ( /)上的目录。我不确定这个过程——我认为这会让基本设置继续下去,但你需要另一个命令来更新你的引导加载程序(Grub?)并提醒它到新位置。

    这些命令需要 root 权限(sudo与 each 一起使用,或使用 获取 root shell su)。

    1. 创建新位置
      mkdir /boot-new

    2. 复制引导文件
      ( cd /boot ; tar cf - . ) | ( cd /boot-new ; tar xvf - )
      (带sudo...)
      sudo sh -c "( cd /boot ; tar cf - . ) | ( cd /boot-new ; tar xvf - )"

    3. 卸载单独的分区——也许不重新启动就行不通?也许需要引导到 liveCD?
      umount /boot

    4. 删除旧的引导目录,重命名新的
      mv /boot /boot-old
      mv /boot-new /boot

    5. 编辑/etc/fstab、注释掉/boot分区行或将挂载点更改为/boot-old

    6. 缺少的步骤:重新配置您的引导加载程序以访问/booton/dev/sda7而不是旧版本/dev/sda6

  • 调整/boot分区大小。 您需要一张 LiveCD 来完成这项任务。启动并运行gparted。您可能需要稍微调整系统分区的大小,然后移动它以腾出空间。在不知道分区表的情况下,我无法为您提供详细信息。

    /boot分区扩展到至少 2-300MB的大小以避免再次出现此问题。

    调整系统分区的大小可能很危险。 在尝试之前进行备份,并在执行之前阅读您正在做的事情。 这是我最不推荐的选项。

  • 更换系统驱动器。最后,如果您想要更大的系统硬盘驱动器,现在正是这样做的好时机。在将分区从旧驱动器复制到新驱动器的过程中,您可以扩展/boot分区。您也可以为此使用 LiveCD。

    这样做就像调整分区大小一样,没有损坏系统根分区的危险。另外,如果您要迁移到更大的硬盘驱动器,您有机会根据需要调整其他分区的大小。