引言:原本机子上已经装好了Win7+Ubuntu Kylin 由Win7引导,而不是Ubuntu的grub引导的双系统(安装的方法是用EasyBCD引导的方式硬盘安装)
ADD:win7 主引导还是Grub/grub2主引导的意思就是你一开机,发现出现的是
还是
最近在看鸟哥的Linux私房菜,由于书上用到的是CentOS系统,所以也想尝试安装一个,毕竟方便日后的看书学习。但又不想将自己的ubuntu搞掉,所以便想尝试安装3系统即 win7+centos+ubuntu的三系统,并打算由win7引导,并不想用什么grub或是gurb2的做引导
想法:因为本人的硬盘也不大,600GB左右
安装好时的磁盘分区如下表所示
主分区
扩展分区
NTFS
NTFS
EXT4
EXT4
C
D
E
F
G
/
SWAP
/boot
70GB
135G
135GB
135GB
100GB
30GB
3.8GB
200MB
所以发现要是想再安装一个centos系统,起码得有一块空间吧,30GB左右就差不多(这么大的空间是因为毕竟是个练习机),所以想着把G盘分割出来一块大概40GB 的空间不就有地方了,但是之前在网上有看到过说,在装好win7+ubuntu 的双系统后如果在磁盘上特别是Ubuntu磁盘前面的空间上有类似,分区,合并的操作后就会出现ubuntu进不去的情况,猜想估计是重新分区后的硬盘识别的例如 /dev/sdax 的编号会发生改变导致linux启动时找不到原先的位置了,但是我想我不是有EasyBCD么,安装双系统的最后一步不就是在EasyBCD中设置一个Linux的引导位置,并找到安装Ubuntu时划分出来的/boot
那么,我先从G盘划分一块40GB的空间,再将EasyBCD重新设置一下,不就可能正确了,所以做了尝试。
尝试1:在win7的G盘中分出(压缩)一块40GB的空间,但是并没有给盘符(未执行新建卷的操作)(意味着这应该是空闲的空间)
OK,我并没有重新设置EasyBCD,发现ubuntu可以进入;
猜想此时的 /dev/sdax 的编号并没有改变
尝试2:这次将那块分出来的空闲空间执行新建卷的操作之后,发现这次b掉了,Ubuntu不可进了;于是,我尝试自己的想法,在EasyBCD中重新设置/boot
但请注意下图,重新设置的方法是 1,2,3,4,5
请特别注意步骤3,失败就失败在这里。 先按图中的方式设置类型为GRUB(LEGACY)
这样子的设置后发现,Ubuntu不可进,也就意味着,OK我的想法不可行。
所以在网上找了解决方法
首先,开机后是这样的
(这样子是win7引导的,当然图中NeoGrub引导加载器这几个字其实应该是 Ubuntu Kylin 这几个字的内容是可以在EasyBCD中更改的 ,这里是从网上拉了个图,只为了说明意思)
也就是说选择第二个就进入了我安装好的Ubuntu的系统,当然这次进不去了,搞坏掉了,进入Ubuntu发现出现了这样子的提示
error: unknow filesystem.
Entering resume mode……
grub rescue >
网上解决这样子的问题一大堆 (可自行百度)
大致意思无非就是先使用ls命令列出当前的硬盘分区,在使用ls (hd0,msdosX)的方式注意测试你装的linux的分区位置,当然此时需要注意当时你安装linux时是否单独分了/boot 这个单独分区与否会影响你这里的命令
OK,最后设置成功后你会发现,你进入了久违的 grub2界面 选中第一个发现你进入到了ubuntu系统,但是这样还没有完
因为,此时如果重启,你会发现还是进不去ubuntu系统,所以我按照网上的方法,成功进入ubuntu后打开终端输入
sudo update-grub 回车
sudo grub-install /dev/sda 回车
额,问题就出在这里了,我发现这么做OK,没问题,确实可以解决问题,但是又会产生新的问题,原本我的双系统是win7 的boot loader主引导,这下可成了grub 主引导了,就是这个sudo grub-install /dev/sda命令 分析应该是将grub安装到了MBR,我去,这不是我想要的,我想了想 其实上面两行命令的第二行完全没有必要,当然我也么没有机会尝试了。如果有人尝试只输入第一行命令可以解决问题一定要告诉我。
问题总得解决我不是那种喜欢凑活的人,既然Ubuntu的grub把MBR占了,那么就没有办法了,只能重建MBR了,方法很简单,进入win7的系统,随意找个分区软件基本都可以支持重建MBR,我是使用的是diskgenisu,在菜单栏找到那一项,单击一下即可,原本担心重建MBR会不会对当前磁盘上的数据造成影响,结果发现是我多虑了,因为重建MBR只影响第一扇区的前446B的字节MBR的内容,与之后的分区表的64B的数据没有关系
重建之后,发现我的开机正常先进入win7的boot loader 了,这正是我想要的,可是此时ubuntu还是进不去。怎么办呢,当然,我的人品还不错,在网上的一篇博客中发现了其实这一切都是EasyBCD这个软件搞的鬼,上文我提到过
请特别注意步骤3,失败就失败在这里 如下图所示
其实在标号3 类型那里是有一个选项是Grub2的���选择那个重新添加后发现一切如你所愿,Ubuntu可以进去了。
总结,以上的三个小时的尝试 无非就是在验证在增加分区后是否会影响Ubuntu的启动以及出问题了怎么解决
简单来说的解决办法就是 增加分区后,用EasyBCD将原来的引导删除,再重新添加一个grub2类型的引导即可,就这么简单
OK,给centos留出磁盘空间的而又不影响Ubuntu系统使用的问题解决后,我们就有了实现三系统的可能,原理无非就是再次使用EasyBCD添加一个new grub,进入centos 的安装程序,将那个30GB的空间依次分给/,swap,/boot或者其他自由的分法,但是一定注意要有/boot,并且在如下图所示中,切记不要将centos的boot loader安装到第一个选项(MBR)中,一定要选择第二个,也就是你自己的那个/boot分区
安装完成后再次进入win7用EasyBCD这次添加一个centos的引导即可,这样centos的安装就完成了。
当然由于此时centos的分区必然导致了ubuntu进不去,可以使用之前我们探索过的方法用EasyBCD将原来的Ubuntu引导删除,再重新添加一个Ubuntu grub2类型的引导即可
这样子就Ok了
想法是这样的简单,可现实却比较凄惨,在看centos的安装教程时,发现每一个安装教程都要说,centos都要安装到主分区,额了个神,
原先我的磁盘分区如下表所示
主分区
扩展分区
NTFS
NTFS
EXT4
EXT4
C
D
E
F
G
/
SWAP
/boot
70GB
135G
135GB
135GB
100GB
30GB
3.8GB
200MB
给G盘分出40GB后变为
主分区
扩展分区
NTFS
NTFS
EXT4
EXT4
C
D
E
F
G
空闲
/
SWAP
/boot
70GB
135G
135GB
135GB
60GB
40GB
30GB
3.8GB
200MB
可是这40GB的空间还在扩展分区中怎么办呢?并且按照安装教程所述这40GB中还需要留出10GB的空间放置centos的安装包,并且文件系统类型为FAT32或是etx3(视安装包大小而定)
于是我又尝试使用分区助手软件将40GB的空间划分出30GB并且设为主分区,将剩下的10GB设置成为FAT32格式的
这样子的划分貌似挺凌乱的就成了 主+扩展+主+扩展 按照书本上的知识,扩展分区只能有一个啊,于是我也凌乱了,我在打开diskgenius直接给我提示说扩展分区和第二个主分区的部分柱面存在重叠,·····当时我也就没鸟,重启进入centos的安装程序,结果如我预感的那样,中间有一点在选择安装镜像的位置时就是找不到,我又不断的重启分区,尝试,分区,尝试。都不行,结果我想,造成这样的局面无非就是如此凌乱的分区造成的,而问题所在就是教程中所说的必须要装在主分区,真的有必要么?
于是百度之: 安装centos6.5必须要装在主分区么?
第一条百度知道里面就有人回答,可以不装在主分区中,那么试一试就知道了,于是打开win7自带的磁盘管理,删除主分区那个卷,于是~
于是~ 不知道怎么回事 发生让我错乱的事情,竟然把我的Ubuntu那个分区给合并了 意味着我的Ubuntu那个分区坏掉了,哎呀,我那个气呀,顿时觉得这自带的分区管理真xxxxx难用,直接导致我现在就剩一个win7了,
整了快半天的时间,还退化了
咬咬牙,坏了就坏了吧,幸亏ubunt那个系统没有多少重要的文件
于是索性将后面的磁盘全部格掉就变成了这样的
主分区
扩展分区
NTFS
NTFS
C
D
E
F
G
空闲
70GB
135G
135GB
135GB
60GB
大概75GB空闲空间
开始我的三系统正式安装之路 具体的安装方法,见前两篇教程
思路:
1.从75GB中留出10GB设置成为FAT32格式的放iso镜像安装包
2.剩下的65GB中使用30GB安装CentOS
3.使用剩下的30G安装Ubuntu
OK,一次成功
分区图如下:
安装CentOS时
安装ubuntu时的没拍
看下所有安装好时的分区图