Linux(Ubuntu) 修复grub引导向

安装完Ubuntu后开机启动后会自动进入grub引导界面,此时无法直接进入开机界面,需要手敲一段代码进入

1、输入ls命令
  grub > ls

显示会有(hd0,gpt1)(hd0,gpt2)…(hd1,gpt1)… 如果此时你的电脑上插着U盘,可能显示的会多几个参数,不过这没有关系

2、查看上述输出的每个结果,例如
  grub > ls(hd0,gpt1)   //(最后面加 / 或者不加 / 应该不会影响结果)

我是每个选项依次进行查看的,直到有一个命令后会出现一长串的结果,其中包括了/boot /proc等系统目录信息,这说明我们找到了正确的组合,我的电脑上是(hd1,gpt5),不同电脑应该不同,并记住1和5这两个数字

3、输入一系列命令

1、

grub > set root = hd1,5   // 1,5两个数字就是上面需要记住的数字

2、

grub > set prefix = (hd1,5)/boot/grub    // 这里和上一步不同的是加了一个括号

3、

 grub > linux /vmlinuz root = /dev/nvme0n1p5

这里的linux 和 vmlinuz 应该是可以tab出来的, nvme0n1p5需要根据自己的实际情况来看(上面我是1,5 所以这里是nvme0n1p5)网上还有说是(/dev/sdb或者 、/dev/sda)的,这里需要自己查看

这里我第一次进入的时候就是上面这样进去的,但是后面再次进入系统的时候会提示vmlinuz命令不存在,(虽然能tab出来),后来我是执行了下述命令:

 grub > linux /boot/vmlinuz-xxx.xxx root = /dev/nvme0n1p5

(这里会提示vmlinuz-xxx.xxx 后面有参数 根据tab出来的结果就好了)
4、

grub > initrd /initrd.img

这里也是tab出来的(这是我首次进入系统的命令)

如果在第3个命令中出现了vmlinuz命令不在的情况,输入以下命令:

grub > initrd /boot/initrd.img-xxx.xxx

这里initrd.img-xxx.xxx(会有版本信息,tab提示可能不止一个,这时需要与上面vmlinuz-xxx.xxx 后面的参数保持一致。

5、

grub > boot 

执行完成上述命令后,会出现一系列ok的字样,如果这样,那么恭喜你成功了!

然而总会有一些问题出现:

4、问题总结:

1、执行完命令后,出现BusyBox,大概率是参数设置有问题,一般是 hdx,x 这里有问题,重新ls一下再确认一下自己有没有打错。

2、有时输完一次命令后没有成功,也没有出现BusyBox,那么不妨 reboot 重启下再输入一遍命令(这都是博主踩过的坑)

3、我现在只要进入系统就会输入这些命令,所以我现在不怎么关机,不知道有没有一劳永逸的方法(哈哈哈)。

以后不知道会不会遇到其他的问题,有的话会及时更新!

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐