症状:
GRUB loading
error:unknow filesystem
grub rescue>
原因: BootRec.exe /fixmbr
(/fixmbr修复mbr, /FixBoot修复启动扇区,/ScanOs检测已安装的win7,/RebuildBcd重建bcd。)
ls
会罗列所有的磁盘分区信息,比方说: 引用:
(hd0,1),(hd0,5),(hd0,3),(hd0,2)
注:我的是(hd0),(hd0,msdos3),(hd0,msdos5)等
2. 然后依次调用如下命令: X表示各个分区号码
ls (hd0,X)/boot/grub
如果/boot单独分区,则用下列命令:
ls (hd0,X)/grub
3.正常情况下,会列出来几百个文件,很多文件的扩展名是.mod和.lst和.img,还有一个文件是grub.cfg。假设找到(hd0,5)时,显示了文件夹中的文件,则表示Linux安装在这个分区。 grub rescue>set root=(hd0,5) grub rescue>set prefix=(hd0,5)/boot/grub grub rescue>insmod /boot/grub/normal.mod 以下是/boot 单独分区的命令:(这几句有待验证) grub rescue>set root=(hd0,5) grub rescue>set prefix=(hd0,5)/grub grub rescue>insmod /grub/normal.mod 然后调用如下命令,就可以显示出丢失的grub菜单了。 grub rescue>normal
不过不要高兴,如果这时重启,问题依旧存在,我们需要进入Linux中,对grub进行修复。 sudo update-grub sudo grub-install /dev/sda
(sda是你的硬盘号码,千万不要指定分区号码,例如sda1,sda5等都不对)
ls (hd0,X)/boot
如果/boot单独分区,则:
ls (hd0,X)
找名字类似与vmlinuz-3.0.0-12-generic这样的文件,这是linux核心文件,如果找到,记下(hd0,X)中的X值。假设找到(hd0,5)时,显示了文件夹中的文件。 sudo mount /dev/sda5 /mnt sudo grub-install --boot-directory=/mnt/boot /dev/sda 如果/boot单独分区,则: sudo mount /dev/sda5 /mnt sudo grub-install --boot-directory=/mnt /dev/sda
然后重新启动即可。 |