先装ubuntu后装windows时遇到的问题的解决办法

先说下情况,我的一台机器上装着ubuntu10.04TLS,500G的硬盘空间,用了大概200G,其余的都是剩余空间,之前安装10.04的时候估计就考虑到了之后可能安装其他系统的情况,所以,分区是一个200M的boot,在sda1;一个100G的根目录,在sda2;这两个都是主分区,然后建立了一个200G的主分区,并没有挂载,然后建立了一个扩展分区,在扩展分区中建立了一个sda5逻辑分区,挂载到home,也是100G,然后一个3G的swap。后面还有一段90G左右的空闲空间。

下午的时候想试试最新的ubuntu12.04TLS,就download下iso镜像,刻盘,安装,这个过程比较顺畅,我从最后的90G空间空间中分出了50G的sda7挂载根目录,300M的sda8挂载boot。(swap分区共用之前10.04的)。这两个都是逻辑的分区。安装完成后,12.04就接手了硬盘的MBR,10.04也可正常选择启动。

然后,我又想将那没有挂载的200G的主分区安装上windows7,然后,我就这么做了,200G都给了c盘,因为不可以有其他的分区了,已经是3个主分区,一个扩展分区了。

这里有一个值得注意的地方,ubuntu安装的时候,可以将空闲空间加入到扩展分区中,我是这么认为的,这很好,但同时也有点费解,图形化安装ubuntu的时候,不可以选择建立一个扩展分区,而只可以选择建立一个主分区和逻辑分区,这也算不好的一点吧。

言归正传,windows 7安装好了,也可以用了。但显然的之前安装的10.04和12.04不可以用了。

解决的办法是:重新安装10.04和12.04的grub,分别安装到对于的boot分区,10.04对应的sda1,12.04对应的sda8。然后,windows7中使用easybcd,将sda1和sda8加入到windows7的启动选择中。

放入10.04或者12.04的安装盘,其实就是livecd,我用10.04的,选择试用而不安装,进入图形界面,然后打开终端,操作如下:

sudo -s
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot
mount /dev/sda5 /mnt/home
mount -t proc /proc /mnt/proc
mount --rbind /dev /mnt/dev
chroot /mnt
grub-install --force /dev/sda1

上面是添加10.04的启动项。

然后是12.04的,与之类似,先umount,然后mount,chroot,grub-install --force /dev/sda8。

这里grub-install 后面带--force是必须的,不然会不准安装,ubuntu推荐就安装到MBR上。

10.04和12.04的安装完毕后,就进入windows7,试用easybcd的add entity。如图:

最终的分区如下:

posted @ 2012-05-03 20:32  ray hill  阅读(1185)  评论(0编辑  收藏  举报