windows+ubuntu双系统中mbr的修复

系统出问题了,在进入grub界面之前直接重启,难道这就是传说中的硬盘逻辑锁吗?
问题判断: 这应该是mbr被修改了,修复一下。但问题是我这是双系统,修复之后两个系统都要正常引导才可以,最好的解决方法是有一张ubuntu的安装光盘,但是我只有一张xp的ghost盘,没办法,只好迂回一下了。
1. 用xp的ghost盘修复mbr,这样可以进入xp,但是grub没有恢复。
2. 安装grub4dos,用ubuntu的安装镜像从硬盘启动ubuntu
3.进入磁盘镜像中的ubuntu后,修复grub
下面就分别说一下。
第1步:没有什么技术含量,光盘启动ghost的xp,进入diskgen,点菜单中的修复mbr就可以了。这样会把以前坏的mbr覆盖,当然双系统的grub也没有了,所以启动时只能时入xp。
第2步:说明一下ubuntu的两种镜像:desktop和alternate, 这两种镜像在硬盘安装时有区别,desktop硬盘安装时直接解压出iso中的vmlinuz和initrd.gz文件就可以引导,alternate硬盘安装时需要另行下载vmlinz和initrd.gz文件。
不管是解压出来的还是网上下载的vmlinz initrd.gz 还有ubuntu的镜像一律放在C盘根目录中。 
    2.1 安装grub4dos, 网上下载grub4dos0.4.4(不要下太老的版本),解压出grldr放到C盘根目录,然后boot.ini文件最后添加一行 c:\grldr="Ubuntu 10.10"
    2.2 解压出ubuntu-10.10-desktop-i386.iso中的casper中的vmlinuz和initrd.lz,放在C盘根目录,最后把ubuntu-10.10-desktop-i386.iso也放在C盘根目录
    2.3 在C盘根目录,建立menu.lst,内容如下。

title Install Ubuntu 10.10(10.10) 
root (hd0,0) 
kernel /vmlinuz boot=casper iso-scan/filename=/ubuntu-10.10-desktop-i386.iso ro quiet splash locale=zh_CN.UTF-8 
initrd /initrd.lz 
boot

这样在重启时就可以进入ubuntu的光盘镜像了。

第3步:挂载ubuntu的各种分区,即重建原先在磁盘上的文件系统目录结构,建好之后,chroot过去,并用update-grub和grub-install将grub安装到mbr,使之可以多重引导。
    3.1 从LiveCD的Desktop进入ubuntu,打开一个terminal。
    3.2 

[url=mailto:root@ubuntu:/]root@ubuntu:/[/url]# sudo su
[url=mailto:root@ubuntu:/]root@ubuntu:/[/url]# mkdir –pv /mnt/test
[url=mailto:root@ubuntu:/]root@ubuntu:/[/url]# mount /dev/sda5  /mnt/test/ 
root@ubuntu:/# mount --bind /sys/ /mnt/test/sys/ 
root@ubuntu:/# mount --bind /dev/ /mnt/test/dev/ 
root@ubuntu:/# mount --bind /proc/ /mnt/test/proc/ 
root@ubuntu:/# chroot  /mnt/test/
 
root@ubuntu:/# update-grub 
Generating grub.cfg ... 
Found linux image: /boot/vmlinuz-2.6.35-22-generic 
Found initrd image: /boot/initrd.img-2.6.35-22-generic 
Found memtest86+ image: /boot/memtest86+.bin 
done 
root@ubuntu:/# grub-install /dev/sda 
Installation finished. No error reported. 
如果出现下面的错误,说明目录结构没有挂载正确,要重新挂载:          "no /boot/grub/grub.cfg or it’s not correct, create one usingupdate-grub“

   3.3 这下grub修复之后,windows又没有了,进入ubuntu

root@ubuntu:~# update-grub 
Generating grub.cfg ... 
Found linux image: /boot/vmlinuz-2.6.35-22-generic 
Found initrd image: /boot/initrd.img-2.6.35-22-generic 
Found memtest86+ image: /boot/memtest86+.bin 
Found Microsoft Windows XP Professional on /dev/sda1 
done
这下两个都有了。


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

桂ICP备19000498号-3