我正在一台全新的机器上运行一个全新的Ubuntu16.04.2 (2周前),但是两天前(5月2-3日),一个内核更新完全破坏了我的系统。我有理由相信,如果我能够告诉grub在启动时选择一个较旧的内核,我就可以修复它。
问题是,这是一个单一的启动安装,所以grub的菜单在默认情况下是禁用的,我无法通过多次按Shift或不按空格键或其他方式显示它。到目前为止,我只能通过按Esc来获得grub的命令行界面。这就是我目前所拥有的全部,因为我甚至不能打开一个会话,而不是一个终端,所以我不能编辑grub的配置文件或其他任何东西。
我试着去做
grub> configfile /boot/grub/grub.cfg但是它只是试图像往常一样启动我的系统,而不需要我去干涉去选择另一个内核。
我听说可以从CLI启动grub的菜单界面,但没有解释如何在手册中这样做。目前,这似乎是我唯一的选择。想法?
的副本
发布于 2017-05-04 16:42:18
您可以从GRUB命令行手动选择内核和initrd。不过,这只会改变一次启动的情况。系统启动后,您必须对GRUB进行必要的调整,以使其永久化。
grub> set root=(hd<disk with kernel and initrd>,msdos<partition with kernel and initrd>)
grub> linux /boot/vmlinuz-<kernel version you want to boot from> root=/dev/<root device>
grub> initrd /boot/initrd-<same version as chosen kernel>
grub> boot根据/boot是否是单独的分区,上述情况可能略有不同。您将初始的root=设置为/boot磁盘和分区,然后当删除linux和boot时,将不包括boot/,因为它将在该目录中启动。不过,linux行中的root=仍然指向根磁盘/分区。
根据我们在注释中讨论的内容,您应该尝试使用以下命令来引导:
grub> set root=(hd1,gpt2)
grub> linux /boot/vmlinuz-<version you want to boot from> root=/dev/sdb2
grub> initrd /boot/initrd-<same version as chosen kernel>
grub> boothttps://askubuntu.com/questions/911895
复制相似问题