双硬盘三系统的安装和引导-阿里云开发者社区

开发者社区> 开发与运维> 正文

双硬盘三系统的安装和引导

简介:
国庆节闲来无事,也没有出去玩,于是体验了一把三系统,在机器里安装了以前逛论坛时曾看到有人发帖吹嘘他的双系统,然后有人回帖说有本事去搞三系统。听起来好像三系统很难的样子,当时限于条件,没有搞过三系统,也不知道它是否真的很难,这回终于如愿以偿。感觉三系统也不是很难,不过确实有点麻烦,主要是开机引导比较麻烦。机器为台式,安装有三个硬盘,如图:

注:这个图是系统安装好以后才截的。用fedora 13自带的截图工具截的图,硬盘信息是通过fedora 13自带的磁盘实用工具显示的,不得不说,这个工具真是不错;OpenSUSE 11.3也提供了一个名为专家分区程序的工具,它比磁盘实用工具还要好用。
这三块硬盘,第一块MAXTOR盘装有win7系统,第二块SAMSUNG盘装fedora 13openSUSE 11.3,第三块WDC盘,按原来的设想,是要划分几个不同格式的分区出来,作为各个系统的共享以及试验用;于是我首先划出了20GFAT32分区,然后再划出了20Gext3分区,其余的暂留空白,需要的时候再划分出其它格式的分区。可是后来遇到了问题,不得已放弃这个想法,下面会说到这个事情。
    那么,上面所说的第一、二、三块硬盘,这个顺序是怎么来的?是根据主板上的SATA接口顺序确定的,操作系统工作中使用的硬盘顺序就是这个。以我的机器为例,我的主板上一共有四个SATA接口,MAXTOR盘插在第1个口,SAMSUNG盘插在了第2个口,WDC盘插在了第4个口,所以这三块硬盘的顺序是第一、第二、第三块硬盘,在操作系统中我们通常使用/dev/sda/dev/sdb/dev/sdc来访问它们。

要注意的是,操作系统工作中使用的硬盘顺序是由主板上的SATA接口次序来决定,而GRUB在引导系统安装或启动过程中识别的硬盘顺序是由BIOS设定的,虽然是完全相同的硬盘,但工作顺序和引导顺序未必一致。还是以我的机器为例,BIOS里设定的第一启动盘是SAMSUNG盘,第二启动盘是WDC盘,第三启动盘才是MAXTOR盘,跟硬盘在主板上的插口顺序完全不一致。刚开始我没有意识到这一点,结果在使用GRUB引导win7开机时遇到了麻烦,搞了好几次才弄明白。

不过我还有点疑惑。我的主板上明明一共有4SATA接口,但为什么上面的图片中显示为只有2个端口?而且,如果在BIOS里查看,会发现SAMSUNG盘是Secondary IDE Master,而WDC盘是Secondary IDE Slave,但实际上我使用了三根独立的数据线,并没有做跳线。莫非主板上SATA34分别是SATA12的从盘接口?哪位朋友对这方面比较了解,希望能指点我一下。

说完了硬盘顺序,下面就大致讲一讲安装过程。我首先安装的是win7,然后fedora 13,最后安装的是openSUSE 11.3

安装win7时,使用的DVD安装盘,安装过程没什么好说的。只是要注意,C盘一定要留够空间,本次安装win7,我分配给C40G的空间。个人感觉,win7系统中C盘留20G就有点偏少,而XP系统,我一般留10G15GC盘。

安装完win7系统后,在win7中从硬盘安装fedora 13。以前我经常使用grub4dosXP系统中从硬盘安装linux,但win7中一般都改用Easybcd了。Easybcd最新版本是Easybcd 2.02,可以从官网下载到。

fedora 13ISO文件放入WDC盘的FAT32分区的根目录下,再从中解压出vmlinuzinitrd文件,也放到分区的根目录下。然后就是easybcd的操作了,它的操作并不复杂,主要是在Add New Entry窗口的ISO Boot项的Path栏中填写你的ISO文件的路径,然后点击右下角的Add Entry,再然后在Edit Boot Menu窗口的右下角点击Save Settings,重启电脑,选择刚才的新建项就可以进行安装了。要注意的是,尽量不要在安装时选择定制软件,我在这上面失败了两次,最后保持默认才顺利安装成功。

安装完成后,在引导双系统开机时遇到了问题:听说Easybcd可以引导多系统开机,不过可能是我不得法,用它引导fedora开机时没有成功, 只能在BIOS里调整硬盘顺序,把SAMSUNG盘设为第一启动盘。这样虽然成功地启动了fedora,但是又没办法引导win7开机了,因为grub启动项里根本就没有win7的选择项!只好手动修改grub.conf文件,在这里我遇到了前面讲到的硬盘顺序问题,win7所在的MAXTOR盘在BIOS里是第三块硬盘,本应该是hd2;但是我误把它在主板上的SATA口顺序当成了BIOS识别顺序,一直认为它是hd0,失败了几次才明白问题所在。在grub.conf文件中做硬盘映射,写入以前命令:

map (hd0) (hd2)

map (hd2) (hd0)

rootnoverify (hd2,0)

chainloader +1

这样就可以引导win7开机了,而且做了硬盘映射,也不用在BIOS里调整硬盘顺序了。

可以看出,双硬盘双系统的引导和单硬盘双系统的引导毕竟不同,引导单硬盘双系统开机很简单,grub会显示其它系统的选择项,一直习惯了这个样子,所以没有意识到双硬盘双系统的开机引导跟它有所不同,结果引导开机失败。

OpenSUSE 11.3的安装又要麻烦一点。首先还是硬盘问题。我准备复制fedora 13的安装过程,把openSUSE 11.3的镜像文件放入WDC盘的FAT32分区中,但是遇到了错误,从网上查了一下才知道,FAT32分区支持的单个文件的最大体积为4G,而openSUSE 11.3的镜像文件已经超过了4G。因此虽然openSUSE号称无论从FAT32还是NTFS都可以引导安装,但是由于FAT32分区对单个文件大小的限制,实际上只能从NTFS分区进行安装,操作起来有点麻烦,好在openSUSE社区对此有专门的指导。
我不想从NTFS分区中进行安装,于是把镜像放到WDCext3分区中,使用fedora 13grub引导安装,这样安装时比较简单一点。但是仍然遇到了问题,手动指定root分区时交替出现了error16error18,网上查了一下grub常见错误,error16错误表示不一致的文件系统结构,可能是此文件系统结构被破坏;error18错误表示选择的柱面超过了BIOS支持的最大能力,通常发生在不支持LBA模式的硬盘上。网上也给出了一些解决方案,但没有解决我的问题,我的ext3分区肯定是好的,BIOS里查看WDC盘,BIOS也明确了WDC盘是支持LBA的,硬盘也是Auto Detect
参考网页:http://www.ubuntuchina.com/viewthread.php?tid=2664
http://linux.chinaunix.net/bbs/archiver/tid-1002451.html
http://my.opera.com/30km/blog/show.dml/779987

现在看来,有可能是openSUSE的安装文件不能放在安装目标硬盘以外的盘上。没办法,只好在SAMSUNG盘中划出50Gext3分区,用于存放openSUSE 11.3镜像,以后也能把它作为fedoraopenSUSE的共享盘;解压出ISO镜像中boot/loader目录下的linuxinitrd文件,把它们也放到根目录下,然后使用grub引导安装。然后果然安装成功了!

到底是什么原因导致了grub的error16error18错误,到现在我也没明白。

然后,安装过程也大致说一下吧。安装fedora 13时我划分出了单独的/boot分区,然后做了LVM,在LVM里把/home/usr/local目录单独划分了出来; 而安装openSUSE 11.3的时候,我只划分出一个单独的/home分区,然后就是/分区,并没有单独划分出/boot分区,至于/swap分区,它是在安装fedora 13时划分的,openSUSE 11.3fedora 13共享一个/swap分区。下面是一张openSUSE 11.3专家分区程序的截图,给出了我电脑中硬盘的最终的分区情况:
      设备名为sda的硬盘就是MAXTOR盘,分了三个区,win7使用;设备名为sdb的硬盘就是SAMSUNG盘,划分了六个分区:sdb1fedora 13/boot分区,sdb2做了VG,下面分了三个LV,分别作为/home分区、/分区、/usr/local分区,sdb3/swap分区,sdb5是存放openSUSE 11.3镜像的ext3分区,sdb6openSUSE 11.3/home分区,sdb7openSUSE 11.3/分区。

OpenSUSE 11.3里的专家分区程序不错吧?若是想要看每个硬盘的详细情况,比如ID,标签,大小等,点击相应的设备名即可。这里有一个知识点:硬盘的设备名、标签、ID分别是什么意思呢?

安装画面出来的时候遇到了一个小问题,就是会提示找不到安装源。这时要选择后退,然后再手动选择安装时的各个选项;另外就是你要记住镜像名称,因为在安装过程中要手动输入一遍这个名称的。然后就可以一路点击鼠标直到完成安装。

如果没有前面讲的这几个问题,openSUSE的安装过程是相当简单而华丽的,比fedora 13还要稍微简单顺利一些,最起码不会像fedora 13那样,在安装过程稍有不慎都有可能死机或安装失败。fedora的这个问题从fedora 8到现在的fedora 13一直都未能避免,fedora 8以前的版本我没有用过,不知道有没有这种情况。

OpenSUSE 11.3安装好以后,又遇到了引导win7开机的问题。在安装系统时,我选择了启用openSUSE 11.3grub,结果,虽然openSUSE 11.3grub界面比fedora 13要华丽,但是只能引导openSUSE 11.3fedora 13开机,无法引导win7,引导win7时会出现错误提示:BOOTMBR is missing。照字面意思理解,应该是openSUSE 11.3grubwin7的引导程序覆盖掉了,但诡异的是:我可以先通过openSUSE11.3grub引导fedora 13,然后再从fedora 13grub里引导win7,竟然可以进入win7系统!太奇怪了!

搜索了大量资料,才搞明白是怎么回事,然后改正了两个错误,终于可以从openSUSE 11.3grub中引导win7开机了。

进入openSUSE 11.3,在终端中使用fdisk命令查看/dev/sda/dev/sdb,会发现它很莫名地把sda的活动分区从sda1改成了sda3,把sdb的活动分区从sdb1改成了sdb4!(活动分区就是有boot那一栏中标有星号的分区。)这是第一个错误。改正方法还是使用fdisk,使用a参数更改sdasdb两块硬盘的活动分区,然后使用w参数保存。对fdisk不熟悉的,可以敲m参数查看帮助。

第二个错误是menu.lst文件里的,里面对windows引导的命令是这样写的:

map (hd2) (hd0)

map (hd0) (hd2)

rootnoverify (hd2,0)

makeactive

chainloader +1

类似命令一共有3组,分别对应win7的三个分区,只是把rootnoverify (hd2,0)换成了(hd2,1)(hd2,2)。改正方法是修改两条map命令的次序,即第一条写成map (hd0) (hd2),第二条写成map (hd2) (hd0),然后删除其余两组windows引导命令。保存退出。重启电脑,即可使用openSUSE 11.3grub引导win7开机了!

双硬盘三系统的安装和开机引导还真是麻烦啊!
安装后这两天体验了一下fedora 13openSUSE 11.3,总体上感觉还不错,GNOMEKDE都很好。体验图形界面是否良好的关键在于软件,这是自由操作系统的一个短板,虽然还不尽如意,但已经做的不错了。
Rhythmbox播放器比Centos 5.4中的版本好用了不少,也体验了一下openSUSE 11.3中的kaffeine,觉得它是一款很优秀的播放器,界面也很好看。无论在fedora 13还是openSUSE 11.3中,都可以自由选择声音硬件设备,这让我可以自由地切换耳机和外放设备。我对此很是赞叹,因为我的外放设备不是很标准,应该只能算是一个扩音器(汗。。。),以前在XP系统中切换耳机和外放设备时,必须要先停止当前播放,或重启播放程序;有时候系统还会提示硬件有变动,要重启电脑,很是痛苦啊。现在就不用那么麻烦了。相对而言,fedora 13在切换音频设备时比openSUSE 11.3还是要方便一些,只需要在右击声音图标,在声音首选项中进行切换,跟win7中的操作很像;而openSUSE 11.3还要在YAST2中进行调整,桌面窗口中的声音图标只负责调整音量,而且调整音量时还要选择好相应的设备,否则音量调整无效。
删除移动硬盘也比以前方便了。我有一个160G的freecom移动硬盘,分了两个区,以前在fedora或centos中删除移动硬盘时,要分别删除两个分区;现在删除任意一个分区,系统都默认为删除整个移动硬盘。
遇到的问题也有,就是复制或移动大文件时容易死机,fedora 13openSUSE 11.3都是如此,我在这两套系统中对他们的iso文件时进行复制或移动时都遇到了死机的情况,即使没有死机,复制或移动过程也不是很顺畅。
至于fedora 13和openSUSE 11.3哪个更好,我没有答案,两个系统都差不多,无论哪一个都值得尝试。


 

本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/401283

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章