Aam*_*mir 5 linux ssh grub kernel ubuntu-9.10
我在我的工作电脑上远程工作。我也是我与同事共享的工作站的根。昨天,当更新管理器询问我时,我将内核升级到 2.6.31-17,但没有重新启动,因为我知道我的 NVIDIA 和其他几个内核模块无法工作。不幸的是,我的 linux noob 同事重新启动了机器,我在这里:(
我正在考虑将符号链接 /initrd.img 和 /vmlinuz 更改为以前的内核映像并使用 kexec。请告诉一些更好的方法来从 ssh 而不是 grub 启动菜单加载内核的 2.6.31-16 版本。我正在使用 Ubuntu Karmic。
您不能从 SSH 中选择它。
你可以使用 SSH
a) 检查 Grub 设置以确保您以前的内核仍然是 Grub 菜单中的一个选项,
b) 将 Grub 设置为自动引导到该选项,
c) 最后重启系统。
这与一次启动解决方案非常相似——我在 ServerFault 上的这个答案中用 Grub v1编写了说明。
如果您使用 Grub2,则必须进行一些调查以找到正确的配置——显然该grub-set-default命令在 Karmic 中不起作用。请参阅UbuntuForums 上的“Grub 2 - 5 Common Tasks” ——#2 处理修改默认条目;其中的选项 3 讨论了通过 Grub2 配置文件修改它:
/boot/grub/grub.cfg通过运行以下命令,您可以查看当前列出的“菜单项”项目:Run Code Online (Sandbox Code Playgroud)grep "menuentry" /boot/grub/grub.cfg计数从零 (0) 开始。第一个“menuentry”项是“0”,第二个是“1”,依此类推。第三个可见的“menuentry”是2。
确定您希望设为默认值的数字,并将其输入到 /etc/default/grub.conf 中。进行更改并保存文件。
Run Code Online (Sandbox Code Playgroud)sudo nano /etc/default/grub用户还可以选择“已保存”作为选项,这将使用上次成功启动的内核/操作系统作为默认选择。
Run Code Online (Sandbox Code Playgroud)# Example: DEFAULT="saved"保存文件,然后更新菜单:
Run Code Online (Sandbox Code Playgroud)sudo update-grub
您需要找到旧内核的条目。将默认条目更改为旧内核并更新 Grub 后,您应该能够重新启动系统 ( sudo reboot now) -- 在等待系统恢复后,您应该可以运行旧内核。