内核更新后:只有 OVH 的救援内核可以工作 - 但为什么我的不可以?

内核更新后:只有 OVH 的救援内核可以工作 - 但为什么我的不可以?

我刚刚从 Debian 9 升级到 Debian 10,遇到了一个奇怪的问题。对于从事更复杂的系统管理工作的人来说可能不是太奇怪,这就是我把它带到这里的原因:

在整个升级过程中,我还将内核升级到如下状态:

$ dpkg -l | grep linux-image
ii  linux-image-4.19.0-12-amd64       4.19.152-1                                       amd64        Linux 4.19 for 64-bit PCs (signed)
ii  linux-image-amd64                 4.19+105+deb10u7                                 amd64        Linux for 64-bit PCs (meta-package)

但是,重新启动时,服务器无法上线,而是触发 Kimsufi(OVH 分销商/经销商)的自动警告,称服务器存在问题(好像我等了一个小时才重新启动,却不知道这一点……)。他们的自动响应将服务器重新启动到“救援模式”,更具体地说,重新启动到以下模式:

$ uname -r
4.19.62-mod-std-ipv6-64-rescue

显然,我安装的内核 (4.19.0) 实际上比他们的救援内核 (4.19.62) 更旧。但我怀疑这是问题所在。... 还是问题所在?

在启动到救援内核时,我怎样才能找出是什么阻止了我的计算机启动?/var/log/boot.log不存在,并且messages只有来自救援内核启动的日志消息 - 没有暗示尝试启动我的计算机。

为了完整起见,这里是生成的 GRUB 配置的要点:https://gist.github.com/IngwiePhoenix/315df5d75551ce1f4d5f61e34fdb9956

因为硬盘模式对于启动来说并非不重要:

Device     Boot      Start        End    Sectors  Size Id Type
/dev/sda1  *          4096    1050623    1046528  511M 83 Linux
/dev/sda2          1050624 3863281250 3862230627  1.8T 83 Linux
/dev/sda4       3905972224 3907018751    1046528  511M 82 Linux swap / Solaris

答案1

经过大量的查找后,我不断地将 GRUB 单挑出来,最终偶然发现了这个/etc/defaults/grub文件并意识到:GRUB 保存了一种默认启动方法,而这种方法已经不存在了!

删除“ovhkernel”后,我实际上就剥夺了 GRUB 的默认启动选项。因此,服务器根本无法启动,只是停留在一个混乱的 GRUB 屏幕上(我看不到,因为 Kimsufi 没有“远程 kvm”功能)。

通过使用他们的选项,使用不同的内核启动并将我的主驱动器用作根驱动器,我能够重新配置 GRUB 并设置新的默认值。猜猜怎么着 - 这就是解决办法。

因此,如果您更新内核,您可能需要设置 GRUB 默认值。这可能会让您省去一些麻烦。我为此浪费了大约 5-7 个小时 - 我本可以花更多的时间做些更有效的事情,因为实际上只需运行一个命令即可……

相关内容