• 重建ubuntu的grub开机引导


    pc开机时,在进入系统之前,要先进入的磁盘里安装了grub开机引导的区域,如果是单系统一般不会有问题,但若是多系统像win+ubuntu或者ubuntu+ubuntu等,有时会出现grub引导程序损坏,或者其主引导所依赖的逻辑顺序不是你想要的

    这里举个极端一些的栗子:一开始在本地磁盘安装了win+ubuntu,grub主引导依赖于本地的ubuntu,然后你有一块移动硬盘,有一天心血来潮想在上面也庄一个ubuntu系统,安装ing..-装好了-正常开机-大功告成!

    看起来好像没问题,但是当你拔下硬盘重新启动,系统告诉你:

    error : unknow filesystem

    grub rescue>

    系统告诉你grub2配置文件易损坏,进不去原来装在本地的系统,只能停留在修复模式(grub rescue)

    这是因为在移动硬盘安装ubuntu时,它顺便也覆盖了原来的grub引导,此时的逻辑主引导系统变成了移动硬盘上面那个

    此时需要做一件事,将本地ubuntu的引导重新变为主引导

    在救援模式下只有很少的命令可以用:set , ls , insmod , root , prefix

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

    ​ (2)ls 查看设备

    ​ (3)insmod 加载模块

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

    ​ (5)prefix 设定grub启动路径

    具体修复步骤如下:

    1、查看分区:
    grub rescue> ls
    会出现如下字样

    ​ (hd0) (hd0,msdos9) (hd0,msdos8) (hd0,msdos7) (hd0,msdos6)

    ​ (hd0,msdos5) (hd0,msdos2) (hd0,msdos1)

    ​ 注:上面是我的分区设备,每个人可能不一样,但原理都是一样的。

    2、寻找ubuntu所在分区:

    ​ (就是寻找你的Linux系统是装在以上哪个分区里)

    ls (hd0,msdos1)/

    ​ 若出现unknown filesystem字样,则尝试下一个

    ​ ……

    ​ 若出现的是你的ubuntu主文件夹下的文件夹和文件的名字,那就是的要找的分区了。
    ​ 3、修改启动分区: (假如你找到的启动分区是hd0,msdos8)
    grub rescue>set root=hd0,msdos8 //假设之前在(hd0,msdos8)下找到了正确的文件夹
    grub rescue>set prefix=(hd0,msdos8)/boot/grub /grub路径设置
    grub rescue>insmod normal //启动normal启动
    grub rescue>normal

    ​ 之后你就会看到熟悉的启动菜单栏了

     4、进入ubuntu修复grub
         在终端里运行     
    

    sudo update-grub
    sudo grub-install /dev/sda
    ​ 5、重启

  • 相关阅读:
    JavaScript Web页面内容导出到Word、Excel (转载)
    合并多个声音文件
    龙舟记
    c#获取应用程序目录
    ADO.NET数据库连接池研究(一) 查看连接池数 (转)
    UpdatePanel 内控件 更新“外的”控件【转】
    web客户端播放wav文件
    解决DataList控件无缝滚动图片(转)
    关闭sleeping连接进程在Sql Server2000数据库存储过程中(转)
    win7下没有注册类别 (异常来自 HRESULT:0x80040154 (REGDB_E_CLASSNOTREG))
  • 原文地址:https://www.cnblogs.com/simard/p/12654218.html
Copyright © 2020-2023  润新知