来源(久久网络-网络学堂-网络编程)

From: http://www.99net.net/study/system/1113113150.htm

让三种系统在服务器上共“舞”

--------------------------------------------------------------------------------
2003-11-13 11:38:21

DOS小巧玲珑、简单易用;Windows界面友好、操作方便;Linux性能稳定、功能强大。HP NetServer系列PC服务器在国内有相当多的用户,其硬件RAID性能也很优秀。如果能把三大操作系统安装在NetServer上,会给某些用户,如专业的开发人员或网络系统工程师带来方便。

用过Linux的人都知道,Linux的LILO功能很强大,可以启动多种操作系统。其实Windows NT的OS Loader也具有类似功能。本文以HP LH3服务器为例,介绍可以让这三大操作系统同存一台计算机,并通过Windows NT的OS Loader功能引导三大操作系统的方法。

本文中所用的HP LH3基本配置如下:PII 400MHz、128M内存、9.1G热插拔硬盘、HP NetRAID硬件RAID控制器、HP PCI 10M/100M自适应网卡。

一、启用硬件RAID
1.启动HP LH3,按F2键进入CMOS的SETUP,使“Integrated HP NetRAID”一项变为“Enabled”,使“Included SCSI_A Channel”一项变为“Yes”。

2.重启动HP LH3,按Ctrl+M启动HP NetRAID配置工具,进入“Management Menu”选单,选择“Configure”选单,从弹出选单中选择“New Configuration”,再选择“Yes”。进入“New Configuration - ARRAY SELECTION MENU”窗口之后,按空格键选择 “Channel-0 ID0”处的硬盘(因为本机只有一个硬盘,所以它必然处在ID0。如果有多个硬盘,它会从ID0到ID6依次排列),再按F10键进入“Logical Drives Configured”配置窗口。

本文把9.1G硬盘划分为5个逻辑盘,大小依次为500M、2177M、2000M、2000M、2000M,所有的逻辑盘都启用RAID 0(因为只有一个硬盘),然后从“Save Configuration?”窗口中选择“Yes”,保存配置。

3.按Esc键回到“Management Menu”选单,选择“Objects”。从“Objects”窗口中选择“Adapter”,进入“Adapter 0”窗口,让“PowerFail Safeguard”变为“ENABLED”。按Esc键,选择“SCSI Channels”,选择“Channel0”,把“SCSI Transfer rate”改为“ULTRA-2”。

4.按Esc键回到“Management Menu”选单,选择“Initialize”,按F2键选中所有Logical Drives,按F10进行初始化。

至此硬件RAID开始启用,9.1G的大硬盘也分成了五个逻辑硬盘,可以像使用物理硬盘那样来使用它们。

二、把DOS 6.22安装在500M的逻辑硬盘中(以FAT16格式化硬盘)
之所以要把500M的空间留给DOS,一是为了方便安装Windows NT,500M空间可以留给Windows NT产生安装过程中所需要的临时目录。二是因为Windows NT所占用的硬盘是NTFS格式,从DOS下是无法访问NTFS磁盘空间的,一旦Windows NT出了问题,可以有足够FAT磁盘空间用于恢复系统。

三、从CDROM安装RedHat 6.0(当然要先打开CMOS中可由CDROM引导系统的功能)
1.让RedHat 6.0识别经HP NetRAID格式化过的硬盘

由于HP LH3提供了硬件RAID功能,所以最重要的是让RedHat 6.0可以识别HP LH3的硬件RAID控制器(HP NetRAID)。RedHat 6.0可以自动找到HP LH3的ncr 53c895 PCI SCSI adapter,可是RedHat 6.0提供的驱动程序中却没有HP NetRAID的驱动。因为HP NetRAID与AMI MegaRAID Controller是兼容的,所以可以用AMI MegaRAID驱动程序代替它。这样RedHat 6.0就可以识别HP NetRAID格式化之后的五个逻辑硬盘了。五个硬盘在Linux下的盘依次为Sda、Sdb、Sdc、Sdd、Sde。之后把Sdb1(2177M)做为Linux Native区,Sde1(128M)变为Linux SWAP区。

2.安装Linux的引导扇区

在安装 LILO部份时,有三处可供安装。一是MBR(即主引导记录)。它是第一个硬盘第一个柱面内的第一个扇区,电脑启动后,BIOS首先读取这里的引导数据来启动活动分区的操作系统。二是Root。它指Linux的根目录区,就是Linux分区引导程序的存放位置。三是软盘。如果把LILO放在MBR中,在安装完Windows NT 4.0之后,NT会修改存放有LILO引导程序的MBR,使LILO失去作用,如果把LILO放在软盘中,系统引导的过程会很耗时。所以最好把LILO放在Linux的分区引导程序所在的扇区。也就是说在/etc/lilo.conf 文件中的 root 项目及 boot 项目会有相同的值。

本安装过程由于Linux的根目录区占用的是第二个逻辑SCSI硬盘的第一个分割区,所以/etc/lilo.conf 文件的 boot 项目为:

boot=/dev/sdb1

与root 项目的内容相同。

四、把Windows NT 4.0安装在余下的磁盘空间中。
最后整个磁盘的空间分布情况如图所示

五、从Linux 根目录分割区中取出启动扇区
通过软盘引导RedHat 6.0,以root身份登录,在操作系统提示符下键入

dd if=/dev/sdb1 of=/bootsect.lnx bs=512 count=1

把启动扇区从Linux 根目录分割区中取出,存为文件bootsect.lnx,然后将文件 bootsect.lnx 拷贝到一片用DOS格式化过的软盘中,以便把文件传给 NTFS 格式的硬盘。可通过命令

mcopy/bootsect.lnx a:

或者用

mount-t msdos/dev/fd0 /mnt/floppy

copy/bootsect.lnx/mnt/floppy

umount/mnt/floppy

来完成拷贝工作。

六、修改Windows NT 4.0的boot loader菜单
首先把在RedHat 6.0中生成的bootsect.lnx文件拷贝到FAT16分区或NTFS分区的硬盘分区中(在此为C盘),然后去掉C盘下boot.ini文件的只读属性,并用编辑器打开它,在其最后一行加入

C:\BOOTSECT.LNX="Linux--RedHat 6.0"

存盘退出,重启机器后,就可以选择想进入的操作系统了。

Link: http://www.asm32.net/article_details.aspx?id=844