这是我的分区表的当前状态。可以看出,引导空间非常小,我无法升级内核,因为更新管理器告诉我 /boot 上没有足够的空间 :( 这实际上意味着我无法更新内核。我可以更改引导空间的大小,而不必重新安装任何已安装的系统吗?
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 12G 4.9G 6.2G 45% /
none 2.0G 284K 2.0G 1% /dev
none 2.0G 8.5M 2.0G 1% /dev/shm
none 2.0G 92K 2.0G 1% /var/run
none 2.0G 0 2.0G 0% /var/lock
/dev/sda3 42G 21G 22G 49% /media/Erste
/dev/sda2 5.1G 2.5G 2.7G 48% /media/Swap
/dev/sda1 30G 25G 4.9G 84% /media/Windows7
/dev/sda9 47G 28G 20G 60% /media/Zweite
/dev/sda6 11G 7.6G 2.0G 80% /home
/dev/sda8 49M 31M 16M 66% /boot
这是输出
sudo fdisk -lu
答案1
您发布的输出df
不是分区表的列表。为此,您需要发布输出fdisk -lu
。问题是,/boot
磁盘上分区后面是什么?如果它不是可用空间,或者您可以稍微缩小并移过去的另一个分区,那么您就无法扩展分区/boot
。
另一种方法是直接删除/boot
分区。首先卸载/boot
分区,然后将其重新安装到其他地方,例如/mnt
。然后sudo cp -ax /mnt /boot
将所有文件复制到根分区。然后从中删除/boot
分区条目/etc/fstab
,最后使用重新安装 grub sudo grub-install /dev/sda
。
答案2
也许你可以避免这种情况?看起来你的分区足够大。可以删除旧内核吗?你当前使用的内核是什么?(uname -r
)它可能会输出类似 2.6.35-24-generic 的内容。安装了哪些内核?(ls /boot | grep vmlinuz
),可能会输出类似
vmlinuz-2.6.35-22-generic
vmlinuz-2.6.35-24-generic
在这个例子中,您知道您正在使用 2.6.35-24,因此请查找 2.6.35-22。
dpkg -l | grep 2.6.35-22
输出告诉我们使用哪些名称来删除它们
ii linux-headers-2.6.35-22 2.6.35-22.35
Header files related to Linux kernel version 2.6.35
ii linux-headers-2.6.35-22-generic 2.6.35-22.35
Linux kernel headers for version 2.6.35 on x86/x86_64
ii linux-image-2.6.35-22-generic 2.6.35-22.35
Linux kernel image for version 2.6.35 on x86/x86_64
现在我们可以
sudo apt-get remove linux-headers-2.6.35-22 linux-headers-2.6.35-22-generic linux-image-2.6.35-22-generic
为安装新内核腾出空间。