Grub轻松解决单硬盘3OS+n个Linux多系统启动
因为要学习Linux和Unix,不得在一块硬盘上安装4个操作系统:FreeBSD(Unix最纯的一种)+Win98+RedHat9+红旗4。安装不难,可是要想让他们和睦共处,,可我花了一番功夫!经过一星期的死磨硬泡,总算搞定!这期间,我在网上发现这也算是个热点话题,干脆也把我的体会也告诉大家。
1-0-1 开端:
因为Linux特殊的硬盘管理模式,可以说是"固定"式的:决不会因为硬盘的增减、BIOS中 硬盘启动顺序更改,而造成像Windows里的分区号的变更/混乱。因此其下的GRUB启动管理器是实现多系统启动的最佳工具。
Grub的功能强大、支持16位色1024分辨率开机背景、更改开机菜单简单方便、故障恢复也很简单。因为Grub是一个独立的,有他自己的一套命令行指令(可以脱离操作系统运作)。
相比有人用NT/2K/XP的Ntload来实现,这需要获得其他系统启动分区的启动扇区文件。这个要直接读写硬盘扇区,你要是不会Linux/Unix,在Windows/Dos下,简直是恶梦!!操作难度高,出错?!后果不堪设想!
同样是获得启动扇区 在Linux/Unix下只要一个简单的 dd if=/目的分区of=/输出路径/输出文件的指令行就OK。
2-0-1 安装系统前的分区规划:
因为一块硬盘最多只可划分4个主分区。扩展分区算作一个主分区,它只能有一个!
2-0-a.假若你要装BSD,要给它分一个主分区(分区类型不限,先别问为什么)。
2-0-b.假若你要装MS Windows 请给每个Windows分一个主分区。
2-0-c.确认你已经没有需要安装在主分区上才能使用的系统/已经分完了3个主分区。
2-0-d.如上一步已经确认,则可以把剩下的空间全交给扩展分区。
2-0-e.假若你还需要更多的Win分区空间,可以在扩展分区里继续分些。
2-0-f.确认完成后,删除先前给BSD分好的分区。
2-0-g.保存分区表,重启生效。
#注意:不要激活任何分区/设为活动Active分区,到下一步再作。
BSD的"类型安装",选Xuser,只需要不到400M空间。
没有给Linux分区,这不要紧,当安装时再分更方便。建议如果用XWindow图形界面,最少给每个Linux留2.5G空间。
3-0-1 安装系统:
按照下面顺序安装
3-0-a.安装Windows大家都会吧?
如多个Windows,要装哪个分区就先把那个分区激活,然后就直接装在C:里,是WinNT/2K/XP的,一定要手动设置为是单个系统启动,不要多系统菜单,也可以自己编辑根目录下的隐藏boot.ini把多系统的其他选项行去掉。如不把前面预留给BSD的分区干掉 现在说不定很容易搞错。我是用Ghost系统镜像灌的,不会出错!当然,你也用Ghost的,就不用设置活动分区这些。
3-0-b.安装BSD时,要选择是否安装BootManger一定选None跳过,这里不用!
3-0-a.安装Linux,直接在扩展分区分区就行,全装成逻辑分区!毕竟主分区很宝贵!或者你早用完了!
3-0-d.如果硬盘里除了主分区、扩展分区还有空闲的空间,Linux可能会自动把"/"分区,或者"/boot"分区(假如你单独给/boot分区的话)强行转变成主分区。特讨厌!如这样,你要返回上面2-0-e步,手动给Linux分区(每个详细的分区:/、/boot、swap、/usr等,只要大小和你真正的linux分区一样就可以。做好后就可以重新开始安装Linux了。
3-0-e.因为你是把Linux装在逻辑分区,他可能会警告你,不管他,强行设置分区、挂载点、文件系统格式,最好都选择格式化 。
3-0-f.继续安装,只是在安装引导程序GRUB时一定要装在MBR或者叫/dev/hda上!多系统菜单现在不用编辑,装好后再编辑。
3-0-g.假如你只装一个Linux,那就到此结束。
3-0-h.要装多个Linux,那么3f这步,需要注意,Grub只需要在其中一Linux的安装时安装就可以了。其余几个,要直接选择不安装引导程序,安装也完全没有必要,还会造成麻烦。
3-0-i.所有Linux都安装完后,根据系统提示取出光盘,自动重启。启动后就会看到启动菜单。
4-0-1.Grub、Linux分区管理理论基础
Linux管理分区很特别也很先进,但对一般Windows用户来说很陌生,但不难。懂了后就会发现它的巨大好处. Grub因为可视作一个带有一些操作系统基本功能的软件,因此它的硬盘管理/识别规则不同于其他任何操作系统,但和Linux最接近,同样也是"固定不变式的"。下面用个很简单的对比表就可说明它们的关系:
主板IDE接口 Linux环境 Grub
IDE0 主盘------------------------------ /dev/hda--------------------------------hd0
|第一主分区-------------------- /dev/hda1------------------------------hd0,0
|第二主分区--------------------/dev/hda2-------------------------------hd0,1
|第三主分区--------------------/dev/hda3-------------------------------hd0,2
|扩展分区--------------------/dev/hda4-------------------------------hd0,3
|第一逻辑分区-------/dev/hda5-------------------------------hd0,4
|第二逻辑分区-------/dev/hda6-------------------------------hd0,5
|第N逻辑分区--------/dev/hdaN------------------------------hd0,N-1
IDE0 从盘------------------------------ /dev/hb--------------------------------hd1
|第一主分区-------------------- /dev/hdb1------------------------------hd1,0
|第二主分区--------------------/dev/hdb2-------------------------------hd1,1
|第三主分区--------------------/dev/hdb3-------------------------------hd1,2
|扩展分区--------------------/dev/hdb4-------------------------------hd1,3
|第一逻辑分区-------/dev/hdb5-------------------------------hd1,4
|第二逻辑分区-------/dev/hdb6-------------------------------hd1,5
|第N逻辑分区--------/dev/hdbN------------------------------hd1,N-1
IDE1 主盘------------------------------ /dev/hdc--------------------------------hd2
|第一主分区-------------------- /dev/hdc1------------------------------hd2,0
|第二主分区--------------------/dev/hdc2-------------------------------hd2,1
|第三主分区--------------------/dev/hdc3-------------------------------hd2,2
|扩展分区--------------------/dev/hdc4-------------------------------hd2,3
|第一逻辑分区-------/dev/hdc5-------------------------------hd2,4
|第二逻辑分区-------/dev/hdc6-------------------------------hd2,5
|第N逻辑分区--------/dev/hdcN------------------------------hd2,N-1
IDE1 从盘------------------------------ /dev/hdd--------------------------------hd3
|第一主分区-------------------- /dev/hdd1------------------------------hd3,0
|第二主分区--------------------/dev/hdd2-------------------------------hd3,1
|第三主分区--------------------/dev/hdd3-------------------------------hd3,2
|扩展分区--------------------/dev/hdd4-------------------------------hd3,3
|第一逻辑分区-------/dev/hdd5-------------------------------hd3,4
|第二逻辑分区-------/dev/hdd6-------------------------------hd3,5
|第N逻辑分区--------/dev/hddN------------------------------hd3,N-1
5-0-1.检测分区和设置启动菜单:
都装好了么?最好确保现在通过Grub只能启动一个Linux! OK!我们开始!
5-0-a.以root身份进入Linux,在控制台下/终端下,输入fdisk -l小写的哦!注意空格!
我的硬盘分区信息显示如下: (以下#后的是我写的注释,方便读者理解)
[root@SGI root]# fdisk -l
Disk /dev/hda: 20.0 GB, 20020396032 bytes
255 heads, 63 sectors/track, 2434 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System
/dev/hda1 * 575 765 1534207+ b Win95 FAT32 #我的Win98
/dev/hda2 766 2434 13406242+ f Win95 Ext'd (LBA) #我的扩展分区(在dos下分的)
/dev/hda3 1 574 4610623+ a5 FreeBSD #我的FreeBSD
/dev/hda5 766 1148 3076416 b Win95 FAT32 #我的FAT32逻辑分区
/dev/hda6 1149 1161 104391 83 Linux #红旗Linux的/boot分区
/dev/hda7 1162 1289 1028128+ 83 Linux #红旗Linux的/分区
/dev/hda8 1290 1672 3076416 83 Linux #红旗Linux的/usrt分区
/dev/hda9 1673 1737 522081 82 Linux swap #Linux的SWAP交换分区
/dev/hda10 1738 1747 80293+ 83 Linux #RH 9Linux的/boot分区
/dev/hda11 1748 2129 3068383+ 83 Linux #RH 9Linux的/usr分区
/dev/hda12