shady@shady:~$ sudo update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.13.0-76-generic
Found initrd image: /boot/initrd.img-3.13.0-76-generic
Found linux image: /boot/vmlinuz-3.13.0-74-generic
Found initrd image: /boot/initrd.img-3.13.0-74-generic
Found linux image: /boot/vmlinuz-3.13.0-24-generic
Found initrd image: /boot/initrd.img-3.13.0-24-generic
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
done
为什么是这样
答案1
您的输出显示三个不同的内核,每个内核都有一个关联的 initrd 文件:
vmlinuz-3.13.0-24-generic
vmlinuz-3.13.0-74-generic
vmlinuz-3.13.0-76-generic
这是 3.13.0 系列中的三个内核,Ubuntu 特定的子版本为 24、74 和 76。这种配置类型非常正常。通常,Ubuntu 安装会在计算机上放置一个起始内核。但随着时间的推移,内核可能会更新以修复错误或添加功能,因此您的正常软件更新过程将安装当前可用的任何更新。此过程继续。如果不加以控制,您最终可能会安装数十个内核,如果您的单独分区/boot
太小,则可能会导致问题。这个问题记录在几个错误报告中:
- https://bugs.launchpad.net/ubuntu/+source/unattended-upgrades/+bug/1357093
- https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1465050
如果您sudo apt-get autoremove
在软件更新过程中进行输入,则安装的内核数量通常会限制为最多三个,因此除非您的/boot
分区明显小于默认值~250MB,否则不会出现问题。
保留安装的多个内核是一种有用的预防措施。尽管内核更新通常是为了修复错误而引入的,但它们有时会无意中产生新的错误。在极端情况下,内核错误可能会导致操作系统无法启动。虽然这个问题很少见,但保留安装的最后启动的内核可以保证在出现此类问题时您有办法启动计算机。您需要在启动管理器(通常是 GRUB)中选择较旧的、有效的内核,但至少存在这种可能性。
另请注意,您可以安装单独的签内核,除了标准未签名内核。签名的内核与未签名的内核具有相同的文件名,但附加了.efi.signed
。当安全启动处于活动状态时,需要签名的内核才能从某些引导加载程序(例如 rEFInd 或 Fedora 的 GRUB)启动。如果安装程序检测到安全启动处于活动状态,Ubuntu 应该自行设置为安装签名的内核。因此,您最终可能会得到六内核(以及三个匹配的 initrd 文件,未经签名),即使您定期运行sudo apt-get autoremove
.