初识Ubuntu:[4]Grub2救援模式恢复启动
来源:网络收集 点击: 时间:2024-06-11造成引导失败的几个原因。
1. 引导分区在前,因建立分区先后顺序不同,导致分区编号错位。
2. 引导分区在后,因前面分区删除或者添加,导致分区移位。
如图,笔者是在100G C盘分出50G安装Ubuntu 14.04。 该分区是主分区,但是建立的时候已经建立了扩展分区(扩展分区也是主分区)。后来为了扩展分区4K对齐,删除重建。然后分区就发生变化了。导致启动失败。

Grub2 的救援模式只能使用几个命令,自动补全,帮助是没有的。
命令注释:
(1)ls 查看设备,查看可识别分区下的目录文件。
(2)set 查看环境变量,这里可以查看启动路径和分区。
(3)root 指定用于启动系统的分区,在救援模式下设置grub启动分区
(4)prefix 设定grub启动路径
(5)insmod 加载模块
如图:命令运行的效果,当然这是马后炮。此图为正常模式grub2的效果。

恢复启动流程(#后为注释):
ls #查看分区信息,会看到 (hd0,msdos1)等信息,可以根据硬盘分区状况来判断哪个分区是你的启动分区(如果有单独的boot分区,请找boot分区)。我的是/分区。
ls (hd0,msdos2)/ #验证我的判断是否正确,后面要跟“/”,否则可能会报错。如果判断没错,就会现实各种目录,如“/etc”、“/boot”等。
set #查看当前的启动信息。救援模式比较简陋,但是你还是会发现,这里的分区和你刚才验证的分区是不符的。
set root=(hd0,msdos2) #设置grub启动分区
set prefix=(hd0,msdos2)/boot/grub/ #设置grub启动路径
insmod normal # 有资料说这里用normal.mod 笔者这里带后缀反而失败。如果没有问题,这时候就会出现启动菜单了。
4/4从上步进入系统之后,重启你发现问题依旧。
执行上步,进入Ubuntu 系统,启动终端。
sudo update-grub #更新grub信息,笔者曾经很天真的以为这样就结束了。实际不然。
sudogrub-install /dev/sda #安装Grub ,至此问题解决了。
注意事项有单独boot分区的,方法不同,原理是相同的。不过现在基本没有单独boot分区了。
ubuntugrub2版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_899422.html