双系统grub引导

双系统grub引导(Ubuntu 9.10和windows 7)
ubuntu9.10的grub引导不在使用grub1了,改用grub2(其实是beta版本)。重装windows系统后,用原来的liveCD方法无法再修复了。只能用下面的两个方法了。
方法1.有grub启动的光盘或U盘修复
如果手上有grub启动的工具盘,用工具盘启动,在grub菜单上按c进入命令行状态,
在grub>提示符下输入
grub>find /boot/grub/core.img (有/boot分区的用find /grub/core.img)
(hdx,y) (显示查找到的分区号)
grub>root (hdx,y)
grub>kernel /boot/grub/core.img (/boot分区的用 kernel /grub/core.img)
grub>boot
执行boot后能转入grub2菜单,启动ubuntu后,再在ubuntu终端下执行
sudo grub-install /dev/sda (或sdb,sdc等,根据第几硬盘而定)修复grub。
注意:如果ubuntu的启动分区使用ext4格式,要有支持ext4格式的grub才能修复。
方法2:使用liveCD修复grub (推荐)
用ubuntu9.10的liveCD试用ubuntu启动后,打开终端
假如你的ubuntu的 / 分区是sda9,又假如 /boot分区是 sda6,在终端下输入
sudo -i
mount /dev/sda7 /mnt
mount /dev/sda6 /mnt/boot (如果没 /boot 单独分区这步跳过)
grub-install --root-directory=/mnt/ /dev/sda
和前面一样,要装入第二硬盘的把sda改为sdb。
我的文件系统为ext4,貌似U盘pe 的grub不支持,保险起见用liveCD修复的,修复后却无法引导windows了。可以用下面的方法解决:
进入ubuntu系统,打开终端,
重建grub列表 sudo update-grub
重新写入第一分区mbr sudo grub-install /dev/sda
如果想修改启动顺序,可以修改/boot/grub目录下的grub.cfg文件。这里注意此文件不可写的,可以先运行一下命令
sudo chmod +w /boot/grub/grub.cfg
然后再运行sudo gedit /boot/grub/grub.cfg,就可以修改了,类似于grub1的menu.lst修改。

方法二
近日有同学找来,说重装了windows 7,Ubuntu 9.10不能引导了,让本人搞定一下。没问题!这种问题碰到了多次了,再来一次也不嫌多,反正是手到擒来的。拿上ubuntu 9.04的盘就直奔问题主机了。
按照本人另一篇博文所述修复grub,但是中途却碰到了问题。root (hd0,5)后居然没有返回任何关于分区的信息(但也没报错)。当时没注意,再输入setup (hd0)时出现如下错误提示:
error 17: cannot mount select partition
而且一连几次都是这样。彻底怒了,以为这是机品问题,因为从前修复到这步都是顺利的出现了预想的***succeed.提示。强制安装了grub后,重启时并没有预想中的grub引导界面,取而代之的是grub命令提示符。在里面再次尝试修复,但是以失败告终。
但是,此时和我的愤怒相比,我的人格力量占了上风。同时,我的一个优点明显的表现了出来,那就是经常反思自己。将整个事件

的来龙去脉考虑清楚之后,想到可能是9.04的grub和9.10的不相同所致。(事后上网搜索,果然如此。9.10将grub升级到了grub2,和9.04的Grub是不同的,两者不兼容)
没办法了,此时连windows 7都进不了了,难道这台电脑就要面临重装系统的厄运了吗?不!是人格力量出手的时候了!幸好从前刻录的ubuntu 9.10没有擦掉,翻出来引导电脑,按照提示输入新版的grub修复命令:
sudo grub-install /dev/sda5 --root-directory=/media/root
当然,在此之前需要进行如下工作:
sudo fdisk -l(确定linux所在分区号,也就是/dev/sda后面的数字)
sudo mkdir /media/root
sudo mount /dev/sda5 /media/root(将Linux分区挂载)
如果提示“no error”的话就可以重启看看效果了,合上十指为自己祈祷吧。
重启后发现可以正常的进入Ubuntu了,但是windows 7又进不去了。真是天将降大任与斯人也,必先苦其心志&&劳其筋骨啊。进入grub后引导windows 7,提示-set 5e68f06f68f04775:no such device(大致意思)
无奈!难道这台可怜的电脑又要重新安装windows 7了吗?不!又是人格力量出手的时候了!
再次进入Ubuntu,打开/boot/grub/grub.cfg查看关于windows 7的引导信息。发现其中有一行信息是这样的:
search --nofloppy --fs-uuid -set 5e68f06f68f04775
既然提示找不到5e68f06f68f04775这个设备,那就把它删掉试试。先删除了-set语句,重启后发现需要参数,无奈!
后来以为是grub指定参数错误才导致找不到设备的。于是一顿找/dev/sda5的uuid,结果毫无收获。突然,一个大胆的想法在脑海中产生,为什么不把这个search语句整个删掉呢?!
删除后,终于成功的进入了windows 7。双系统引导故障修复完毕。

相关文档
最新文档