我可以从 /boot 中删除旧内核吗

我可以从 /boot 中删除旧内核吗

当我运行时dpkg --list 'linux-image*',输出显示我只4.10.0-37安装了:

Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                      Version           Architecture      Description
+++-=========================-=================-=================-=======================================================
un  linux-image               <none>            <none>            (no description available)
ii  linux-image-4.10.0-37-gen 4.10.0-37.41      amd64             Linux kernel image for version 4.10.0 on 64 bit x86 SMP
ii  linux-image-extra-4.10.0- 4.10.0-37.41      amd64             Linux kernel extra modules for version 4.10.0 on 64 bit
ii  linux-image-generic       4.10.0.37.37      amd64             Generic Linux kernel image

然而,当我显示的内容时/boot,还有其他旧内核:

[~]$ ls /boot
abi-4.10.0-37-generic     config-4.8.0-37-generic   memtest86+.bin            vmlinuz-4.10.0-37-generic
abi-4.2.0-16-generic      efi               memtest86+.elf            vmlinuz-4.10.0-37-generic.efi.signed
abi-4.2.0-42-generic      grub              memtest86+_multiboot.bin      vmlinuz-4.2.0-16-generic
abi-4.8.0-37-generic      initrd.img-4.10.0-37-generic  System.map-4.10.0-37-generic  vmlinuz-4.2.0-42-generic
config-4.10.0-37-generic  initrd.img-4.2.0-16-generic   System.map-4.2.0-16-generic   vmlinuz-4.2.0-42-generic.efi.signed
config-4.2.0-16-generic   initrd.img-4.2.0-42-generic   System.map-4.2.0-42-generic   vmlinuz-4.8.0-37-generic
config-4.2.0-42-generic   initrd.img-4.8.0-37-generic   System.map-4.8.0-37-generic   vmlinuz-4.8.0-37-generic.efi.signed

我在跑步4.10.0-37

[~]$ uname -r
4.10.0-37-generic

我可以安全地从中删除旧内核 () 吗/boot?使用sudo apt-get remove ...不会执行任何操作,因为它们当前尚未“安装”。

答案1

您可以安全地从 /boot 中删除未使用的内核。

理想情况下,您希望使用包管理器(apt)来删除它们,因此您可能想看看是否可以使用以下命令删除它们:

sudo apt-get purge linux-image-4.2.0-16-generic

或者如果 apt 不起作用:

sudo dpkg --purge linux-image-4.2.0-16-generic

对您想要删除的内核(4.2.0-16、4.2.0-42 等)添加或重复上述操作。

如果上述方法不起作用,您可以手动删除它们:

sudo rm /boot/abi-4.2.0-16-generic
sudo rm /boot/config-4.2.0-16-generic
sudo rm /boot/initrd.img-4.2.0-16-generic
sudo rm /boot/System.map-4.2.0-16-generic
sudo rm /boot/vmlinuz-4.2.0-16-generic

或者如果你喜欢冒险,可以尝试以下方法:

sudo rm /boot/*-4.2.0-16-generic

有时会保留一个附加内核(相对于您正在运行的内核)作为备份,因此您可能需要这样做,以防当前正在运行的内核出现问题。

删除这些文件后,您应该更新您的引导加载程序,如果您使用 GRUB,您可以执行以下操作:

sudo update-grub

我还会考虑使用从 apt 中删除软件包但不删除文件的“清理”工具是否对您有好处。

编辑:

正如 WinEunuuchs2Unix 指出的那样,这不会删除头文件。通常,在删除旧内核时,您不仅会删除映像,还会删除其他相关文件。例如:

apt-get purge linux-image-4.2.0-16-generic linux-image-extra-4.2.0-16-generic linux-headers-4.2.0-16-generic linux-headers-4.2.0-16

请参阅下面的链接了解更多详细信息。

相关内容