双系统修复Ubuntu 9.10 GRUB 2引导的方法
时间:2010-05-08 来源:zeusblog
|
|
Ubuntu 9.10的GRUB引导不在使用GRUB 1了,改用GRUB 2(其实是beta版本)。重装Windows系统后,用原来的Live CD方法无法再修复了。只能用下面的两个方法了。
方法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后能转入GRUB 2菜单,启动Ubuntu后,再在Ubuntu 终端下执行
sudo grub-install /dev/sda (或sdb,sdc等,根据第几硬盘而定)修复GRUB。
注意:如果Ubuntu的启动分区使用 ext4格式,要有支持ext4格式的grub才能修复。
方法2:使用liveCD修复grub (推荐)
用Ubuntu 9.10的Live CD试用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不支持,保险起见用Live CD修复的,修复后却无法引导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,就可以修改了,类似于GRUB 1的menu.lst修改。
其他方法:
方法1:使用Ubuntu 9.10 LiveCD
首先,请从Ubuntu网站下载Ubuntu.在这里,我们假设Ubuntu的安装分区是/dev/sdc3,/boot分区是/dev /sdc2。
现在,使用LiveCD启动计算机,打开“应用程序”-》“附件”-》“终端”,输入下面的命令,以root身份登录,并执行下面的操作:
mount /dev/sdc3 /mnt
mount /dev/sdc2 /mnt/boot
grub-install –root-directory=/mnt/ /dev/sdc
如果你没有’grub.cfg’文件,请重新创建,内容如下:
程序代码 mount –bind /proc /mnt/procmount –bind /dev /mnt/dev
mount –bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
exit
方法2:使用Grub for Dos
首先下载Grub for Dos
对于XP操作系统:
把Grub文件拷贝到C盘根目录,并编辑c:\boot.ini文件(需要去掉隐藏、只读、系统属性),并加上一行:
c:\grldr=”grub4dos”
对于Windows 7/Vista用户:
同样拷贝文件到C盘根目录,建立boot.ini文件,内容如下并保存:
[boot loader]
timeout=0
default=c:\grldr.mbr
[operating systems]
C:\grldr.mbr=”Grub4Dos”
————我是方法2的分割线————————————————–
现在在C盘根目录建立文件(XP、Vista、Windows 7 均适用),内容如下:
timeout 0
default 0
title grub2
find –set-root /boot/grub/core.img
kernel /boot/grub/core.img
boot
现在重新启动,选择Grub4Dos启动,进入Ubuntu。
登录Ubuntu,以后使用下面的命令行,重建Grub:
sudo grub-install /dev/sdc