Ubuntu 9.10或者10.04/10.10的GRUB引导不在使用GRUB 1了,改用GRUB 2(其实是beta版本)。重装Windows系统后,用原来的livecd 修复Grub无法再修复了。只能用下面的两个方法了。
livecd 修复Grub方法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才能修复。
livecd 修复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修改。
====== U盘启动安装ubuntu或者修复已安装的系统===============
前段时间安装Ubuntu 10,由于公司的机器没有光驱,只能选择制作一个启动U盘去安装。
1、通过UltralISO刻录好之后,找到”syslinux/syslinux.cfg”配置文件,打开并找到以下信息:
default vesamenu.c32
2、在这条语句前加个“#" 把它注释掉就可以啦:
# default vesamenu.c32
重新使用U盘启动,一切OK。
如何通过UltraISO刻录请参考:
http://www.linuxidc.com/Linux/2010-03/25065.htm