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修改。