Just Keep Simple and Nature.
时间:2011-03-09 来源:KevinGlare
题记:标题是我经过这两天折腾后明白的一个道理。恨多时候,其实简单本身就是一种美,好像我们保持简单、干净和整洁的code就是一种美德,所谓重剑无锋大巧不工也许也是这个道理吧。
Ubuntu9.10 & xp双系统的我,碰巧下了一个带sp1的win7旗舰版,而朋友那边又有比较好的key,so…… 恩,由于时间关系,以下不在啰嗦,进入正题。
1.PowerQuest PartitionMagic8.0在xp下无法工作,转而使用ENSEUS PartitionMaster进行分区(从XP的C盘分了20多个G出去)。
2.重启后分区开始,将近半小时后分区结束,系统重启。结果到了grub loading。往常的menu list没了,取而代之的是grub rescue>
3.心知不妙,而rescue下的命令又少的可怜(其实也可以通过rescue下的命令修复,我采取的是另外一种),插入liveCD,进系统。
4.Terminal - sudo fdisk -l 查看linux的分区所在,我的是/dev/sda5。然后使用mount命令 mount -t ext3 /dev/sda5 /mnt,结果死活挂不了,半个多小时候google到了原来9.10是ext4.. 我第一时间怀疑过,但忘了看分区格式的命令... 网上的庸医也够害人,都说是ext3,三人成虎阿。其实真正只需要:
sudo mount /dev/sdX /mnt #X为你的linux分区号
5.接着挂载boot、和其他分区(如果有的话),这里我的grub和系统是在一起的,所以只需要上述一行命令就搞定。
6.重建grub到MBR(master boot record),命令如下:
sudo grub-install --root-directory=/mnt /dev/sdX #X为你的linux分区号
7.如果上述命令报错:grub-setup: error: Cannot read '/grub/core.img' correctly。使用以下命令(否则请跳到9):
sudo mount /dev/sdX /mnt
sudo mount --bind /dev /mnt/dev
sudo chroot /mnt
sudo grub-install /dev/sdX
8.重复步骤6.
9.reboot…… grub选择界面出来了吗?请看第10条:请看第12条。
10.恭喜,现在进入你的ubuntu系统,执行sudo grub-update。到此为止,修复完毕。ps:如果仍无法识别你的windows,那么可能是你的uuid错了。使用sudo blkid查看windows xp的uuid,然后到/boot/grub/grub.cfg去修改对应的地方,很好找,不再详述。
11.完
12.喔,你和我一样倒霉!仍然是漆黑的界面,只不过命令提示符更可爱了,现在是sh grub>,看到上面的提示了吗,tab一下,这下命令多了吧!希望也来了。
13.依次执行以下命令:
ls # 如果记得linux在哪就不用看了
set root=(hdX,Y) # X代表第几个硬盘,1个就是0,Y代表分区号
linux /vmlinuz root=/dev/sdY #同上,Y为分区号。linux就是以前的kernel命令
initrd /initrd.img
boot
14.ps:上面命令忘了可以使用tab补全。如无其他意外,将成功进入你的ubuntu。
15.下面就简单了,两条命令搞定:
sudo grub-install /dev/sda
sudo update-grub # update-grub2也一样
16.完