分类:
2011-04-03 01:39:45
Ubuntu10.04修复Grub2笔记
By houqp on 四月 6th, 2010
我的三星上网本自带一个系统还原功能,安装grub的时候它所在的分区都会被检测到,并被显示为windows vista,不过比较悲剧的是一旦你在启动的时候选了这项,mbr就会被重写,然后就引导不了任何系统了,永远处于开机重启的死循环里。
装完系统后一直懒得去修改grub.cfg,这次去旅游带上了上网本,借给别人用的时候忘了叮嘱别人不要选那一项,结果悲剧发生了。
好在有强大的ubuntu livecd,让我本本不至于变成废铁,下面就记录一下我修复grub2的过程吧:
过程跟网上面9.10的方法基本一致,而8.10的方法已经不再适用了。首先用livecd启动,然后在终端下切换到root权限:(你不嫌麻烦的话可以跳过这一步,在一下的每一步前面加sudo)
sudo -i
接下来找一找你ubuntu10.04所在分区,用:
fdisk -l
我的部分输出如下:
Device Boot Start End Blocks Id System /dev/sda1 1 914 7341673+ 12 Compaq diagnostics /dev/sda2 * 915 4967 32554359 7 HPFS/NTFS /dev/sda3 4968 8006 24410767+ 83 Linux /dev/sda4 8007 19457 91980126+ 5 Extended /dev/sda5 8007 14085 48829536 83 Linux /dev/sda6 14086 14328 1951866 82 Linux swap / Solaris /dev/sda7 14329 14344 128488+ 83 Linux /dev/sda8 18485 19457 7815591 b W95 FAT32 /dev/sda9 14345 18308 31839232 83 Linux /dev/sda10 18308 18484 1413120 82 Linux swap / Solaris
内容有点多,因为我是3系统- -!,而我ubuntu10.04根目录所在的分区就是/dev/sda9,如果你不确定的话就找id为83的吧。
下面挂载原系统的根目录:
mount /dev/sda9 /mnt
将/dev/sda9挂载到了/mnt下,当然你也可以选其他地方,这里注意如果你有单独为/boot分区的话,要单独挂载一次/boot,比如说如果你原来的/boot挂载到/dev/sda12上了,那个你这里要再输入mount /dev/sda12 /mnt/boot。我这里没有把它单独分出来,所以就不需要了。
下面是最后一步了:
grub-install --root-directory=/mnt /dev/sda
这里我刚开始的时候自做主张的写成了grub-install –root-directory=/mnt /dev/sda9,同学们不要学我,- -!
如果看到
Installation finished.No Error Reported.
就表示已经成功啦!重启看看,熟悉的grub引导画面是不是又回来了?
最后赞一下强大的man,第一次修复grub,基本靠man就能解决了。
本站原创,欢迎转载,请勿做商业用途,转载请注明出自houqp.com,本文地址: