admin 管理员组

文章数量: 887019

问题

首先,本人作死,在没有充分了解/boot/grub.grub.cfg文件的情况下,修改了其“menuentry”项,导致再次开机时无法进入Ubuntu,而是进入grub2的命令行。

解决办法

搞了一下午加一晚上,最终被一篇博客(https://linux/article-3457-1.html)的一行字救了命:

你知道怎么找到正确的分区吗?hd0,1 即 /dev/sda1,hd1,1 即 /dev/sdb1,hd3,2 即 /dev/ sdd2。我想你可以自己推算剩下的了。

这句话留到后面有用,另外该博客就是针对解决本问题而写的,非常有用,但是下面我的个人实践也可提供参考。

grub2命令行中:

1、输入set查看现在电脑的root和prefix所在的位置:

比如我的root和prefix就是:

prefix = hd1,gpt4/boot/grub
root = hd1,gpt4

确认一下(hd1,gpt4)下确实有boot没错。怎么查看确认?

一般ls (hd1,gpt4)/就可以,但是我的就不行,ls不显示,必须在ls (hd1,gpt4)/后加tab才能看的出可用的文件。

2、告诉grub您想要使用的内核的位置:

# linux /boot/vm + tab键 出来一系列可选的内核,选择一个(比如最新的版本)
# 后面还要加上root=/dev/sd**,根据上文红字说明,我的(hd1,gpt4)就对应sdb4
linux /boot/vmlinuz-5.0.0-42-generic root=/dev/sdb4

3、设置initrd文件,必须是和内核相同的版本号:

# 同样的 initrd /boot/init + tab键出来一系列版本的可选initrd文件,选择版本跟内核相同的
initrd /boot/initrd.img-5.0.0-42.generic

4、启动

boot

然后就可以成功进入系统,把错误修改的grub.cfg的内容改回来啦。

本文标签: 不去 后进 界面 文件 系统