如何使用 Live CD 清理启动分区

如何使用 Live CD 清理启动分区

我升级了 Ubuntu 16.04.1,但无法加载桌面,当我尝试某些解决方案时,出现错误 gzip:stdout:设备上没有剩余空间。我的 /boot 分区为 449 MB,有许多旧内核版本。我目前正在使用 Live CD 寻找解决方案,如何释放 /boot 分区上的一些空间?

以下是在 Live CD 会话中对已安装的启动分区执行 ls 命令的输出:

abi-3.13.0-67-generic
abi-3.13.0-68-generic
abi-3.13.0-70-generic
abi-3.13.0-71-generic
abi-3.13.0-73-generic
abi-3.13.0-74-generic
abi-3.13.0-76-generic
abi-3.13.0-77-generic
abi-3.13.0-79-generic
abi-3.13.0-83-generic
abi-3.13.0-88-generic
abi-3.13.0-91-generic
abi-3.13.0-92-generic
abi-4.4.0-31-generic
config-3.13.0-67-generic
config-3.13.0-68-generic
config-3.13.0-70-generic
config-3.13.0-71-generic
config-3.13.0-73-generic
config-3.13.0-74-generic
config-3.13.0-76-generic
config-3.13.0-77-generic
config-3.13.0-79-generic
config-3.13.0-83-generic
config-3.13.0-88-generic
config-3.13.0-91-generic
config-3.13.0-92-generic
config-4.4.0-31-generic
grub
initrd.img-3.13.0-67-generic
initrd.img-3.13.0-68-generic
initrd.img-3.13.0-70-generic
initrd.img-3.13.0-71-generic
initrd.img-3.13.0-73-generic
initrd.img-3.13.0-74-generic
initrd.img-3.13.0-76-generic
initrd.img-3.13.0-77-generic
initrd.img-3.13.0-79-generic
initrd.img-3.13.0-83-generic
initrd.img-3.13.0-88-generic
initrd.img-3.13.0-91-generic
initrd.img-3.13.0-92-generic
initrd.img-4.4.0-31-generic
lost+found
memtest86+.bin
memtest86+.elf
memtest86+_multiboot.bin
System.map-3.13.0-67-generic
System.map-3.13.0-68-generic
System.map-3.13.0-70-generic
System.map-3.13.0-71-generic
System.map-3.13.0-73-generic
System.map-3.13.0-74-generic
System.map-3.13.0-76-generic
System.map-3.13.0-77-generic
System.map-3.13.0-79-generic
System.map-3.13.0-83-generic
System.map-3.13.0-88-generic
System.map-3.13.0-91-generic
System.map-3.13.0-92-generic
System.map-4.4.0-31-generic
vmlinuz-3.13.0-67-generic
vmlinuz-3.13.0-68-generic
vmlinuz-3.13.0-70-generic
vmlinuz-3.13.0-71-generic
vmlinuz-3.13.0-73-generic
vmlinuz-3.13.0-74-generic
vmlinuz-3.13.0-76-generic
vmlinuz-3.13.0-77-generic
vmlinuz-3.13.0-79-generic
vmlinuz-3.13.0-83-generic
vmlinuz-3.13.0-88-generic
vmlinuz-3.13.0-91-generic
vmlinuz-3.13.0-92-generic
vmlinuz-4.4.0-31-generic

答案1

由于您的系统正在启动(虽然不是在 GUI 中),您可以使用 tty 删除旧内核。为此,请按照以下步骤操作。

  • 启动系统后(看到光标和空白屏幕),按 切换到 tty Ctrl + Alt + F1

  • 输入你的用户名与密码。

  • 运行此命令检查当前内核。uname -r请勿在后续步骤中删除此内核。 这只是一项安全措施。

  • 接下来运行此命令dpkg -l | tail -n +6 | grep -E 'linux-image-[0-9]+' | grep -Fv $(uname -r)。此命令列出除当前内核之外的所有内核。

  • ii使用命令删除所有以 开头的内核sudo dpkg --purge kernel-name。例如sudo dpkg--purge linux-image-4.4.0-21。如果命令失败,则使用相同方式删除输出中提到的依赖包,即sudo dpkg --purge PACKAGE

  • 还可以尝试使用命令删除相应的标头sudo dpkg --purge linux-image-header linux-image。标头必须与要删除的内核相对应。这意味着,如果删除的内核是 linux-image-4.4.0-21,则标头将是 linux-image-4.4.0-21-header。即使此命令失败也没关系。

  • 最后,使用以下方法修复损坏的依赖项sudo apt install -f

相关内容