Ubuntu启动问题以及Grub Rescue修复方法

时间:2021-11-25 06:29:37
  • 问题:

之前系统是Windows7 64bit(C盘) + D,E盘(都是NTFS) + Ubuntu。

今天,在Windows7中删除了E盘,准备向其中安装RedHat 6。 重启Windows7之后发现Ubuntu的grub菜单不能启动。屏幕显示Invalid FileSystem。 (如果没有记错的话,呵呵)

  • 分析

由于在Windows下面更改了分区状态,删掉了Ubuntu之前的一个分区,造成Ubuntu的分区由sda5变为sda4了,这样找不到grub了,开机显示

grub rescue>

  • 解决

1.  先使用ls命令,找到Ubuntu的安装在哪个分区:

     grub rescue>ls

     会罗列所有的磁盘分区信息,比方说:

     (hd0,1),(hd0,5),(hd0,3),(hd0,2)

2. 然后依次调用如下命令: X表示各个分区号码

     grub rescue>ls (hd0,X)/boot/grub

     如果都找不到的话,需要查一下是否因为Linux版本差异,造成grub的路径不对,例如直接ls(hd0,X)/grub等等。

3. 假设找到(hd0,5)时,显示了文件夹中的文件,则表示Linux安装在这个分区。

4. 调用如下命令:

    grub rescue>set root=(hd0,5)

    grub rescue>set prefix=(hd0,5)/boot/grub

    grub rescue>insmod /boot/grub/normal.mod

5. 然后调用如下命令,就可以显示出丢失的grub菜单了。

    grub rescue>normal

6. 不过不要高兴,如果这时重启,问题依旧存在,我们需要进入Linux中,对grub进行修复。

    进入Linux之后,在命令行执行:

    sudo update-grub

    sudo grub-install /dev/sda

    (sda是你的硬盘号码,千万不要指定分区号码,例如sda1,sda5等都不对)

7. 重启测试是否已经恢复了grub的启动菜单? 恭喜你恢复成功!