广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    初识Ubuntu:[4]Grub2救援模式恢复启动

    来源:网络收集  点击:  时间:2024-06-11
    【导读】:
    日前,为了调整硬盘4K对齐,进行一次调整。重启后,悲催的发现,不能正常启动了。在打黑屏只有,一行 grub rescue。在该模式下,你会所有的补全,帮助功能都消失了。如何在这样的环境下,恢复正常的引导呢?当然是来百度经验了。工具/原料moregrub rescueset , ls , insmod , root , prefix方法/步骤1/4分步阅读

    造成引导失败的几个原因。

    1. 引导分区在前,因建立分区先后顺序不同,导致分区编号错位。

    2. 引导分区在后,因前面分区删除或者添加,导致分区移位。

    如图,笔者是在100G C盘分出50G安装Ubuntu 14.04。 该分区是主分区,但是建立的时候已经建立了扩展分区(扩展分区也是主分区)。后来为了扩展分区4K对齐,删除重建。然后分区就发生变化了。导致启动失败。

    2/4

    Grub2 的救援模式只能使用几个命令,自动补全,帮助是没有的。

    命令注释:

    (1)ls 查看设备,查看可识别分区下的目录文件。

    (2)set 查看环境变量,这里可以查看启动路径和分区。

    (3)root 指定用于启动系统的分区,在救援模式下设置grub启动分区

    (4)prefix 设定grub启动路径

    (5)insmod 加载模块

    如图:命令运行的效果,当然这是马后炮。此图为正常模式grub2的效果。

    3/4

    恢复启动流程(#后为注释):

    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

    相关资讯

    ©2019-2020 http://www.1haoku.cn/ 国ICP备20009186号05-05 08:44:40  耗时:0.032
    0.032s