从整理论坛的情况来看,还是有弟兄不能搞定GRUB引导多操作系统的问题。看来再次讨论还是有点必要。当然有经验的弟兄,根本就无需看这帖。如果初次安装多操作系统,总是出这样或者那样的问题。这也正常,其实最好的解决办法就是多安装几次,多format几次,这个问题一点也不难。
一。分区:
这也是大家常谈的事了,其实也没有什么难的,但这是最重要的。分区时,最好一次成功。不要给后面安装操作系统带来麻烦。比如空间的大小,分区的个数等。主、扩展以及逻辑分区的个数。这些都是最重要的。
1.硬盘划分为什么很重要?
您可以用dos下的PQ,可能这是最简单的分区工具了。主分区最好只有一个,扩展分区也是一个了。逻辑分区那就根据自己的需要来分。分区要规划好,以防为以后安装操作系统带来麻烦。要有个预期,也就是说,以防您以后安装操作系统,而没有空间。所以我们就要划分硬盘要好好的规划。以满足我们未来不可预期情况的需要。
2.我应该把硬盘划分为多少个区,每个区应该有多大?
对于这个问题,可能有的弟兄很是疑惑。其实对于我们玩家来说,无非是学习和实践。所以我们要为每个Linux划分为一个区,空间大小为6G以上。现在的linux体积都很大,如果是初次玩linux,我还是建议完全安装,这样便于您的学习,否则少东少西的,自己都不知道为什么。等玩的技术差不多时,你再?据自己的需求来选择安装组件。
举个例子,比如我想在一块硬盘上安装两个linux和一个windows,那我就可以这样来划分硬盘。把windows的分区放在硬盘的第一个分区。这个分区大家常用来安装windows系统。如果您还想为windows划分应用程序的分区以及备份文件的分区,那就把第二个和第三个等分区做为windows的分区。linux分区要放在windows的分区的后面,应该避免把windows和linux的分区交叉。我们可以用PQ把linux分区分好。为每个linux分一个大一点的分区6G以上,这里,我们将要在每个分区里,要安装一个linux,其实每个6G左右的分区,就是我们要安装linux的根分区。然后再划分一个小一点的分区,大小为内存的两倍就行。如果用PQ来划分。linux的分区格式,可以不用指定。因为安装系统时,也会有相关的步骤来格式化磁盘。
仔细看一下下面的例子:
在这里,我把安装了,两个linux和一个windows,分区情况如下。主分区是hda1,格式为ntfs,系统是XP,hda2是扩展分区,hda5是逻辑分区,格式为nfts,是windows的安装应用软件的磁盘,hda6,hda7是逻辑分区,格式为fat32的,也是windwows用的,我用来备份和存放常用程序和文档的磁盘。hda8和hda9是linux的磁盘。看一下应该能看得出来,大小为6-7G左右吧。在hda8和hda9,我每个区都安装了一个linux,也就是说,这两个分区是不同的linux的/根分区。hda10也是linux的磁盘,大小是内存的1.5倍,如果您的内存为512M或者以上的,交换分区和内存大小一样就行,格式为/swap.也就是linux的交换分区。
linux的分区,没有windows下面的C盘和D盘的概念。这一点大家应该明白。
一块磁盘最多只能分4个主分区。扩展分区也算一个主分区,所以为了简便 ,我们一块硬盘就分一个主分区,一个扩展分区,其它的都是逻辑分区。下面的例子就是。这样做的好处就是在安装linux的时候,分区表不会错,也不会出现这样或者那样危机windows分区的情况。
在linux中,逻辑分区是从hda5开始的,当然这是说一台机器中只有一个硬盘的情况来说的。如果有两个硬盘,可能就是从hdb5开始,以此类推。如果您不知道,是怎么回事,就要用fdisk -l来查看。要安装系统的时候,也会有相应的让您选择安装位置 ,也是hdaX或者 hdbX分区之类的,没有WIN的C和D盘的概念。
[root@linuxsir01 root]# fdisk -l Disk /dev/hda: 255 heads, 63 sectors, 4865 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 1147 9213246 7 HPFS/NTFS /dev/hda2 1148 4864 29856802+ f Win95 Ext'd (LBA) /dev/hda5 1148 2039 7164958+ 7 HPFS/NTFS /dev/hda6 2040 2804 6144831 b Win95 FAT32 /dev/hda7 2805 3824 8193118+ b Win95 FAT32 /dev/hda8 3825 3830 7768163+ 83 Linux /dev/hda9 3831 4799 7783461 83 Linux /dev/hda10 4800 4864 522081 82 Linux swap
3.硬盘的分区划好后,我如何安装linux呢?
我们可以先安装windows,然后再安装linux,这样做的目的就是用grub能把windows引导起来。如果先安装linux,可能windows就把grub从MBR中删除。我们如果重装windwows经常会出现这样的情况,方法只是把GRUB恢复一下就行了。所以为了方便,我们还是先安装windows.这样就减少不少劳动。呵……
[1] [2] 下一页
接着举例:
在这里,我是先安装Mandrake 9.0,到hda8,这样做的,在安装过程中,有个[自定义],在划分硬盘和安装软件时都有[自定义].我们就选这一项,然后把光标移动到hda8,[编辑,指定分区格式和挂载点。格式为ext3,挂载点为/.OK一下,然后再移动hda10,我们编辑这个分区,格式为/swap.这样就简单了。分区都处理好了,就是选择组件来来装。下面就是点鼠标。应该简单……一直到最后。
然后我们安装redhat 8.0到hda9,也就是说,我们要把redhat 8.0的根分区设置为hda9.安装过程也一样的……在划分磁盘是,要[自定义]用disk druid 来分区。光标移动到hda9,然后[编辑],格式为ext3,挂载点为/,可能会跳出一个对话框,那就anyway.吧。不用再编辑交换区了,因为系统能认得出hda10是交换区,不用我们再设置了。linux的交换区是能共用的。我们把hda9设置好后,确认一下,就进入软件安装的过程了。也是[自定久]……下面的就一路下去,不用我多说了。
到GRUB的设置的那一块。我们要把GRUB安装到MBR上。这样就把mandrake的GRUB覆盖。这也没有什么可怕的,我们可以把它加在Redhat 的GRUB中,系统安装好后,我们设置一下就行了。只是修改一个文件/etc/grub.conf
4.如何修改/etc/grub.conf
一般的发行版,GRUB的配置文件都在/etc/grub.conf中,如果我们安装了多个linux,就要修改这个文件。那我们如何修改呢?一般的情况下,windows是自动加载到了grub.conf中,打开grub.conf,就能看到windows的设置情况。可能有时系统会突然出现不能引志windwows的情况,我们就要下面的类似的改动一下。
title DOS rootnoverify (hd0,0) chainloader +1
改成
title WinXP在这里,title是必须的,WinXP,您可以用别的名,您喜欢怎么样就怎么样。 root (hd0,0) chainloader +1
这样就能启动了。
2.如何把其它的linux的引导加入到GRUB来引导呢?我们可以用下面的方法。也是比较简单。GRUB引导linux系统,就是靠三行来定义。
title XXX
在这里,XXX是您要引导的操作系统的名字。可以自己来定。
root (hdX,Y)
在这里,X和Y都代表一个数值。X是linux的根分区在哪个硬盘上。如果您只有一个硬盘。那就是hd0.如果您的linux的一个发行版是安装在第二个硬盘,这个X,就是1.那Y代表什么?Y是代表您所安装的linux是在哪个区。这个数值有点不同。用原理没有办法说清楚。应该用实例来说。比如我把mandrake安装到hda8了。那他的root (hdX,Y),就应该写为root (hd0,7),也是说是linux所在的根分区hdaZ中的Z减去1就是这个Y的数值:在这之中,hdaZ或者 hdbZ中的Z也是一个数值。看一下上面的例子就明白了。
用fdisk -l 或者df -la来查看
kernel /boot/vmlinuz root=/dev/hdaZ
这里中的Z,也是一个数值,接着上面的例子,我们把Mandrake的引导加入到Redhat 的GRUB中。就可以写成如下的样子:
kernel /boot/vmlinuz root=/dev/hda8
通过上面的分析,我们要让Redhat的GRUB来引导Mandrake 9.0,我们要改动Redhat中的GRUB的配置文件,加入下面的一段:
title MD 8.0 root (hd0,7)
kernel /boot/vmlinuz root=/dev/hda8
如果您想加入其它的操作系统到Redhat 中的GRUB中,也不过是如此,如者用其它发行版中的GRUB来引导别的发行版,原理也是一样的。
GRUB是不是很简单???
(出处:http://www.sheup.com)
title WinXP在这里,title是必须的,WinXP,您可以用别的名,您喜欢怎么样就怎么样。 root (hd0,0) chainloader +1
这样就能启动了。
2.如何把其它的linux的引导加入到GRUB来引导呢?我们可以用下面的方法。也是比较简单。GRUB引导linux系统,就是靠三行来定义。
title XXX
在这里,XXX是您要引导的操作系统的名字。可以自己来定。
root (hdX,Y)
在这里,X和Y都代表一个数值。X是linux的根分区在哪个硬盘上。如果您只有一个硬盘。那就是hd0.如果您的linux的一个发行版是安装在第二个硬盘,这个X,就是1.那Y代表什么?Y是代表您所安装的linux是在哪个区。这个数值有点不同。用原理没有办法说清楚。应该用实例来说。比如我把mandrake安装到hda8了。那他的root (hdX,Y),就应该写为root (hd0,7),也是说是linux所在的根分区hdaZ中的Z减去1就是这个Y的数值:在这之中,hdaZ或者 hdbZ中的Z也是一个数值。看一下上面的例子就明白了。
用fdisk -l 或者df -la来查看
kernel /boot/vmlinuz root=/dev/hdaZ
这里中的Z,也是一个数值,接着上面的例子,我们把Mandrake的引导加入到Redhat 的GRUB中。就可以写成如下的样子:
kernel /boot/vmlinuz root=/dev/hda8
通过上面的分析,我们要让Redhat的GRUB来引导Mandrake 9.0,我们要改动Redhat中的GRUB的配置文件,加入下面的一段:
title MD 8.0 root (hd0,7)
kernel /boot/vmlinuz root=/dev/hda8
如果您想加入其它的操作系统到Redhat 中的GRUB中,也不过是如此,如者用其它发行版中的GRUB来引导别的发行版,原理也是一样的。
GRUB是不是很简单???
(出处:http://www.sheup.com/)