我正计划编译我自己的内核,我之前已经做过很多次了,但一如既往,这仍然有可能出错并且机器可能无法重新启动。
这台机器位于我无法物理访问的远程数据中心内,因此如果机器无法正确启动,我将花费大量费用让某人亲自前往服务器修复它。
有没有办法可以将 grub 设置为仅在一次启动时使用新内核,但在再次重新启动时回退到旧内核。所以我可以使用我的远程电源管理控制台重新启动机器,如果它无法使用新内核正确启动,它会回退到旧内核。
我知道使用lilo -r kernel
命令 lilo 可以做到这一点,是否有 grub 等价物?
引用GRUB 手册中的一些内容,它为 katriel 的答案添加了一些额外的检查。
您可以尝试在 /boot/grub/menu.lst 中使用“fallback”指令。您将需要指定一个或多个备用内核,并使用内核节中的 savedefault 指令作为备份,例如(取自grub 手册):
这将导致 A 内核启动,如果发生任何故障(未找到内核或内核崩溃),将使用第一个,然后是第二个回退(在 fallback 指令中指定)
请注意,该手册指定了缺少内核或内核崩溃,它没有说明网卡无法正常工作。在您的情况下,这可能与内核恐慌一样糟糕