之前先安装的win7,然后安装的Ubuntu,后来用ghost方式装了个xp,xp无法启动,通过查找UUID,可以启动XP,第二天,觉得E40安装XP,AHCI驱动有问题,特别慢,又改回安装win7,光盘安装的,但是看不到ubuntu了,通过安装grub-pc来恢复MBR主引导记录,然后回复到原先的双系统。
一、修复ghost安装的XP系统
环境:
Lenovo E40,垃圾本
win7+ubuntu10.10双系统
重装原因:E40毛病,无故睡眠,经常蓝屏
从网上找了一个ghost版本的xp,制作成U盘启动盘,安装ghost,20分钟后,重启,进入xp,显示找不到系统。
原因:
ghost版本的xp,只是将xp的系统拷贝到了系统盘C盘,并没有修改MBR,所以,MBR里还是原先的WIN7系统,MBR是Ubuntu的grub,里面通过UUID来区分不同的分区,
如下表所示:
menuentry "Microsoft Windows 7 " {
set root=(hd0,1)
search –no-floppy –fs-uuid –set 4a807ca0807c93e3
drivemap -s (hd0) $root
chainloader +1
}
如果是这种情况,恢复系统很简单,因为UUID不对,找不到XP系统所在分区,我们先找到XP所在分区的UUID。
步骤:
1. 重启系统,进入Ubuntu选择画面,
2.输入:C,进入grub>命令行,
3. 输入:ls -l,查看并记住xp所在分区的UUID
4. 重启进入Ubuntu,修改:/boot/grub/grub.cfg里关于windows系统的选项信息:
menuentry "Microsoft Windows XP " {
set root=(hd0,1)
search –no-floppy –fs-uuid –set xxxx-xxxx #输入上一步查看的UUID
drivemap -s (hd0) $root
chainloader +1
}
这时就可以进入XP系统了。
二、安装win7找回原先的ubuntu
环境:
Lenovo E40,垃圾本
XP+ubuntu10.10双系统
重装原因:XP没有AHCI驱动,磁盘访问速度非常慢,不知道是不是因为驱动的原因,时间有限,不管了,还是装回win7吧,折腾吧~~
光盘安装win7,20多分钟后,win7没有问题了,但是没有了启动菜单,找不动原先的ubuntu
原因:
windows这个流氓内心一点都不宽容,在安装的过程中,将MBR重写了,完全不考虑ubuntu的存在,将其覆盖了,所以,要想找到ubuntu要先安装新的MBR,我们可以使用ubuntu的LiveCD来安装grub,找到原先的ubuntu。
PS:windows的东西真的又霸道,又垃圾,用过MAC和ubuntu之后,你会觉得,对它真无语。。。。。。没有办法,天朝的插件都支持IE,嵌入式开发IDE环境还是windows的。
首先找一张LiveCD,没有的话可以下载个镜像然后刻成光盘或者装到U盘里,我是用U盘装的,用UItraISO这个软件就可以非常方便的刻盘或者制作优盘系统文件,这里不是重点。
假设您用优盘进入ubuntu,选择第一项不安装ubuntu直接试用系统。
1. 打开终端,先更新一下apt源、
sudo apt-get update
2. 安装grub-pc(如果是ubuntu9.04则安装grub)
sudo apt-get install grub-pc
3. 打开Disk Utilty,找到你的ubuntu所在分区,比如我的分区是:sda7,将其挂载到LiveCD的目录中,准备安装grub
sudo mount /dev/sda7 /mnt
4. 通过grub-install命令安装新的grub过程MBR里
grub-install --root-directory=/media/bootdir /dev/sda
如果出现 "Installation finished. No error reported!" 表示操作成功了。如果虽然有这句话,但是后边还有几行字,那就是没成功,
说明你安装的grub版本不对,应该安装grub-pc
重启电脑,成功出现grub菜单,但是没有windows 7的选项,只有ubuntu的。这是因为你还没更新菜单呢
进入ubuntu系统,终端下输入 sudo update-grub
出现类似下面文字表示成功:
grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-15-generic
Found initrd image: /boot/initrd.img-2.6.31-15-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows 7 (loader) on /dev/sda1
done