在网上查了不少方法,感觉写得都不够详细,不是测试前提没有说清楚,就是方法对应不了实际的机型版本。导致执行起来有各种问题和错误!
重装WINDOWS系统后,将会改写MBR,导致原来的UBUNTU里GRUB启动菜单丢失。
解决方法:
在WIN下的MENU.LST菜单里加入:注意GRLDR版本用目前比较新的0。4。5版,我用的是这个,其他旧版本没有测试过!
title Ubuntu_10.04
find --set-root --ignore-floppies --ignore-cd /grub/core.img
kernel /grub/core.img
boot
如果您有为UBUNTU单独建立过/boot分区,那么就改为:
title Ubuntu_10.04
find --set-root --ignore-floppies --ignore-cd /boot/grub/core.img
kernel /boot/grub/core.img
boot
注:改方式是引导UBUNTU的GRUB菜单
进入UBUNTU后在终端输入:
sudo grub-install /dev/sda
sudo update-grub
重启,GRUB菜单就恢复了!前提你以前有配置过grub.cfg文件。里面可以启动WIN系统的菜单!此方法是本人亲自测试过的,绝对OK。这个不需要了解太多关于版本的问题或安装分区的细节!
其他方法:也有人用ISO方式进入UBUNTU,但是那个方式是LIVECD模式,这个模式下不能用简单的grub-install /dev/sda这个来恢复,需要加挂栽点,这个方法我觉得相对麻烦些,所以就不列出来了。因为需要知道具体的位置文件信息:
cd ~/桌面 && wget 'http://nchc.dl.sourceforge.net/project/bootinfoscript/bootinfoscript/0.55/boot_info_script055.sh' && sudo bash boot_info_script055.sh
还有一种在WIN下直接引导内核的写法:menu.lst:但是前提需要知道机器上ubuntu安装在第几个区,我这里用的是ubuntu10.04,系统在sda9,写法为:
title 1Ubuntu_10.04
root (hd0,7)
kernel /vmlinuz-2.6.32-24-generic root=/dev/sda9 ro quiet splash
initrd /initrd.img-2.6.32-24-generic
boot
大概就是这样了。其他方法我也没有测试过,以上如有测试错误,欢迎指正!