前天我在XP下引导了Ubuntu的LiveCD,轻松的安装上了Ubuntu 10.04到电脑里面,然后昨天,终于借来了Win7的安装光盘,把Win7安装到了C盘,再然后就是想办法恢复Grub来引导Ubuntu和Win7。

但是在网上搜了半天,发现一个传播的比较广的方法就是,下载“重装win7修复ubuntu引导包”,解压到C盘,然后再Win7的启动项里就有一个恢复的选项,但是对于恢复Ubuntu 10.04根本行不通的,因为那个引导包里的Grub要查找的引导文件竟然是menu.lst,而现在的Ubuntu系统用的引导程序Grub2的引导文件时grub.cfg,所以显然不行了。于是我就换个思维想下,先在Win7下引导ubuntu的LiveCD启动,然后把LiveCD上的Grub安装到硬盘的MBR你。方法是:安装EasyBCD引导硬盘上的ISO文件,启动LiveCD之后,将原来的根目录挂载到/mnt下,注意此处一定要将原来分区挂载出来的目录挂载回去,比如sda8挂载的是/,而sda9挂载的是/boot,那么,就将sda9挂载到/mnt/boot下,即

mount /dev/sda8 /mnt
mount /dev/sda9 /mnt/boot

不这样做的话,后面重启之后,有可能出现未知的错误。其实,此处要理解Grub的工作原理才明白,为什么要这样做,有兴趣的童鞋,自己可以搜索下Grub的工作原理。挂载好之后,后面就执行:

grub-install --root-directory=/mnt /dev/sda

忘记说了,以上命令都要取得root权限,在LiveCD上,执行:sudo -i 就行了。
做完上面的工作之后,重启,就可以进入Grub了,此时菜单上还没有Win7的选项,进入Ubuntu系统后,执行sudo update-grub2或者sudo update-grub。

有时候我们会遇到安装了grub,但是系统引导不正确,导致出现“grub>”这个提示符的界面,那么我们一般只能手动输入命令来启动系统,在此将常用的命令记录之:
1.从Grub命令行启动Windows :

grub>root (hd0,1)
grub>chainloader +1
grub>boot

2.从Grub命令行启动Ubuntu 10.04:

grub>root (hd0,8)
grub>linux  /vmlinuz-2.6.35-22-generic root=/dev/sda10 ro   quiet splash
grub>initrd /initrd.img-2.6.35-22-generic
grub>boot

注意:此处内核是我现在的ubuntu 10.04的,对其他的可能不适用,另外,此处都是Grub2的命令,于Grub的有区别,具体的区别以后再总结吧。

题外话:11月20号,我从野外项目部回到乌鲁木齐了。在回来的路上,心里感觉还是很高兴的,毕竟出来4个月没回市里了,但是回来后,就忽然处于一种很奇怪的状态,完全不知道自己想干嘛。在野外就上网买好了Milestone,回来的当天就到了,晚上单位又把之前就配好的笔记本发给我了,然后,后面一个星期,除了工作和喝酒我就不知道干什么了。终于前些天感冒了,这几天才好,也才恢复状态。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

[酷] [鄙视] [色] [脸红] [羞] [睡] [汗] [晕] [无语] [折磨] [想] [怒] [微笑] [奸笑] [困] [囧] [哭] [哈哈] [呵呵] [呆] [伤心] [亲亲] [?]

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据