分类: LINUX
2013-03-24 09:18:30
之前系统是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,msdos1),(hd0,msdos4),(hd0,msdos3),(hd0,msdos2)
2. 然后依次调用如下命令:
grub rescue>set
显示如下信息:
prefix=(hd0,msdos5)/boot/grub
root=hd0,msdos5
这表示grub认为ubuntu在分期msdos5中。但由于之前在windows中删除了一个分区,而此时实际的分区已经变成了msdos4。需要做的就是修改到msdos4上。
4. 调用如下命令:
grub rescue>set root=(hd0,msdos4)
grub rescue>set prefix=(hd0,msdos4)/boot/grub
grub rescue>insmod /boot/grub/normal.mod
(通常可以直接输入 insmod normal)
5. 然后调用如下命令,就可以显示出丢失的grub菜单了。
grub rescue>normal
6. 不过不要高兴,如果这时重启,问题依旧存在,我们需要进入Linux中,对grub进行修复。
进入Linux之后,在命令行执行:
sudo update-grub
sudo grub-install /dev/sda
(sda是你的硬盘号码,千万不要指定分区号码,例如sda1,sda5等都不对)
7. 重启测试是否已经恢复了grub的启动菜单? 恭喜你恢复成功!