- 问题:
之前系统是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的启动菜单? 恭喜你恢复成功!