红联Linux门户
Linux帮助

重装WIN7后恢复Linux GRUB引导菜单的方法

发布时间:2014-11-12 15:53:42来源:linux网站作者:linux人

前几天win8预览版放出来的时候,一时好奇,直接从win7升级到了win8,结果发现声卡驱动严重有问题,没办法,只好重装win7,我以前是win7和arch双系统,重装之后,MBR被Windows的BCD菜单覆盖了,无法引导arch。


首先你需要一个引导盘,Ubuntu的liveCD或者其他linux的liveCD都行。然后开机从U盘启动,打开终端,输入:

sudo -i


提升到root权限,然后输入:

fdisk-l


会出现大概像下面一样的内容(因个人分区设置而异)
 
Device Boot Start End Blocks Id System
/dev/sda1 * 63 83886767 41943352+ 7 HPFS/NTFS/exFAT
/dev/sda2 83886768 625142447 270627840 f W95 Ext'd (LBA)
/dev/sda5 83886831 451062447 183587808+ 7 HPFS/NTFS/exFAT
/dev/sda6 451062511 480358959 14648224+ 83 Linux
/dev/sda7 480359023 499889967 9765472+ 83 Linux
/dev/sda8 499890031 501889839 999904+ 82 Linux swap / Solaris
/dev/sda9 501889903 625142447 61626272+ 83 Linux


找到你linux的boot目录所在的分区,比如我的是/dev/sda6,你在安装linux的时候应该知道自己把/boot放在哪里了吧?然后输入:
 
mount--bind/dev/mnt/dev
chroot/mnt
grub-install/dev/sda


如果一切正常的话,这时候就会提示你success,但是在我电脑上失败了,这时可输入:
 
grub
grub<<root (hd0,5)
grub<<setup (hd0)


解释以下上面的命令,输入grub后会进入grub模式,后面的(hd0,5)是指你的第一块银盘上的第6个分区,注意,grub是从0开始数的,所以,第一块硬盘是(hd0),第6个分区是(hd0,5),此处根据你硬盘分区情况输入合适的数字。


然后重启就可以看到grub菜单,进入linux后在终端输入以下命令重新查找windows分区。(这一步我没有用到,我重启之后grub菜单还是以前的,里面有windows分区的引导项)

sudo update-grub


OK,大功告成。