如何通过 ssh 加载以前的内核?

如何通过 ssh 加载以前的内核?

我在工作电脑上远程工作。我也是与同事共享的工作站的根用户。昨天,当更新管理器要求时,我将内核升级到 2.6.31-17,但没有重新启动,因为我知道我的 NVIDIA 和其他几个内核模块无法工作。不幸的是,我的同事(一个 Linux 菜鸟)重新启动了机器,然后我就在这里 :(

我正在考虑将符号链接 /initrd.img 和 /vmlinuz 更改为以前的内核映像并使用 kexec。请告诉我一些更好的方法来从 ssh 而不是 grub 启动菜单加载内核的 2.6.31-16 版本。我正在使用 Ubuntu Karmic。

答案1

您无法从 SSH 中选择它。

您可以使用 SSH

  • a) 检查 Grub 设置,确保您之前的内核仍然是 Grub 菜单中的一个选项,

  • b) 将 Grub 设置为自动启动到该选项,

  • c)最后重新启动系统。

这与一次启动解决方案非常相似——我写了Grub v1 的说明在 ServerFault 上的这个答案中。

如果你正在使用 Grub2,你必须做一些调查才能找到正确的配置——显然该grub-set-default命令在 Karmic 中不起作用。请参阅“Grub 2 - 5 个常见任务”在 UbuntuForums 上——#2 涉及修改默认条目;其中的选项 3 讨论了通过 Grub2 配置文件进行修改:

/boot/grub/grub.cfg 您可以通过运行以下命令查看列出的当前“菜单项” :

grep "menuentry" /boot/grub/grub.cfg

计数从零 (0) 开始。第一个“菜单项”为“0”,第二个为“1”,等等。第三个可见“菜单项”为 2。

确定您希望设为默认值的数字,并将其输入到 /etc/default/grub 中。进行更改并保存文件。

 sudo nano /etc/default/grub

用户还可以选择“保存”作为选项,它将使用上次成功启动的内核/操作系统作为默认选择。

 # Example: 
 DEFAULT="saved"

保存文件,然后更新菜单:

 sudo update-grub

您需要找到旧内核的条目。将默认条目更改为旧内核并更新 Grub 后,您应该能够重新启动系统 ( sudo reboot now) - 等待系统恢复后,您应该运行旧内核。

答案2

我发现在 Universe 存储库中还有一个用于 Grub2 的 GUI 编辑器,名为创业经理。我确实用过它。

相关内容