一.相关的几个概念
1.BIOS(basic input output system,即基本输入输出系统)
每当启动一台电脑,在进入操作系统前,显示器所显示的就是BIOS环境。它的主要作用就是初始化各种硬件设备,为机器加载操作系统做好准备工作。
2.MBR(main boot record,即主引导记录)
每个硬盘都有一个特殊的存储区,它用于存储MBR。MBR主要用来加载启动系统时所需的引导程序。比如,在启动只装有Windows XP的机器时,BIOS会根据MBR找到启动Windows XP所需要的引导程序ntldr。
3.ntldr(nt loader)
ntldr是个隐藏文件,在C盘的根目录下能找到它。它会根据boot.ini中的数据来显示一个开机启动选择界面。某台电脑的boot..ini的内容如下:
[boot loader]
timeout=4
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft WindowsXP Professional" /noexecute=optin /fastdetect
那么开机时出现的启动界面会有两个选项:
Microsoft Windows XP Professional
Grub
4.grldr(grub loader)
类似于ntldr的东西,也是一个引导系统启动的一个文件。它能在Grub For Dos(一个引导系统启动的软件)中找到。
5.menu.lst
也是Grub For Dos中的一个文件,grldr会使用到它。menu.ls对grldr的作用相当于boot.ini对ntldr的作用。
二.安装CentOs的原理
当启动装有Windows XP的电脑时,BIOS会根据主引导记录加载ntldr,而nltdr这个加载程序根据boot.ini的中信息显示启动选择界面。在用户选择了一个启动选项后,ntldr就会执行这个选项所对应的操作,最后实现windows XP的加载。
boot.ini的内容是可改写的,这样就可以通过改写boot.ini的内容来增添自定义的选项。在Windows XP下安装CentOs就是通过修改boo.ini来实现的:修改boot.ini的内容,让启动选择界面出现加载grldr的菜单项,而通过grldr再引导CentOs的安装。
三.准备工作
准备好CentOs.iso和Grub For Dos。
CentOs.iso
在这里CentOs.iso代表64位的CentOs 5.4镜像文件。须将该文件放在一个分区的根目录下,以便让CentOs的安装程序能找到该文件。
文件系统为FAT32 的分区不能放置大小超过4G的文件,而CentOs.iso的大小已超过4G,所以放置该文件的分区不能是FAT32分区。NTFS分区虽然允许放4G以上的文件,但CentOs.iso也不能放在这种文件系统的分区下,因为CentOs的安装程序识别不了NTFS分区。最终选择EXT3的分区放置Cento.iso。
可用Parangon Partition Manager或其他分区工具将一个已经存在的非EXT3分区格式化EXT3分区。格式化后,所得到得EXT3分区是看不到的,因为Windows XP识别不了EXT3分区。解决办法是:安装Ext2IFS,让Windows XP能识别EXT3分区。
安装后Ext2IFS,Windows XP就能识别EXT3分区了。此时可以像操作其他分区一样操作EXT3分区。将CentOs 5.4放置在该分区的根目录下。
Grub For Dos
Grub For Dos是一个引导系统启动的软件,下面用Grub表示。确保Grub ForDos中包含这两个文件:grldr和menu.lst。否则,重新找个有这含有这两个文件的Grub For Dos。
四.具体的安装过程
下面将通过一个例子来具体说明安装过程。
假设Windows XP安装在C盘;CentOs镜像文件CentOs.iso放在EXT3格式的D盘根目录下。现在目标是在WindowsXp环境下实现将CentOs安装到E盘,最终实现双系统共存,能选择进入它们之中的任何一个系统。
步骤
1.用WinRAR打开CentOs.iso,进入isolinux文件夹,将其中的initrd.img和vmlinuz解压缩并放到C盘根目录下。
2.将Grub中所有文件复制到C盘的根目录下。
3.修改boot.ini:boot.ini位于C盘根目录下,它是个隐藏的只读文件。进行相关设置让boot.ini显示出来,并将它的只读属性去掉。然后用记事本打开这个文件,在该文件末尾,另起一行添上C:\grldr=Grub。最后保存退出。
4.修改menu.lst:menu.lst是Grub中的一个文件。在步骤2时,已经把它复制到C盘的根目录下了,所以在C盘根目录能找到这个文件。用记事本打开menu.lst,将其中的数据全部删除,然后添加这三行数据:
title Install CentOs
kernel /vmlinuz
initrd /initrd.img
最后保存并退出menu.lst的编辑。
5.重新启动电脑,过一会后,就会出现一个菜单界面。选择Install CentOs菜单项进入,之后就会出现CentOs安装界面。CentOs安装界面是图形化的,可以根据它的提示完成接下来的安装,在这里不将继续说明。
五.更改启动界面
安装完CentOs 5.4后,当启动电脑时,显示的启动界面是CentOs 5.4的Grub界面,它有两个菜单项,第一个是菜单项用于启动CentOs,另一个菜单项other用于切换到Window XP启动界面。如果想更给启动界面,让Windows XP启动界面成为开机时首先显示的启动界面,请按下面的操作进行。
1. 以root的身份进入登陆CentOs,打开/boot/grub/menu.lst,在该文件中会有类似下面的三行数据:
root xxx
kernel xxx
intrd xxx
注:xxx表示可能出现的数据;这三行数据是连续出现的。
记录下这三行数据,因为下面的操作要用到这些数据。
2.重启电脑,然后进入Windows XP,打开C盘根目录下的menu.lst,添加如下内容:
title CentOs 5.4
root xxx
kernel xxx
initr xxx
title ReturnLast Menu
rootnoverify(hd0,0)
chainloader +1
boot
注:对于xxx,用在操作1中已记录下的,对应的数据进行替换。
3.打开Windows XP的命令窗口,将命令窗口的当前目录设为bootsect.exe所在的目录,然后执行下面命令修改主引导记录,从而让Windows XP启动界面成为开机时首先显示的启动界面。
bootsect /net52C: /mbr
注:bootsect.exe这个程序可以在Windows 7的安装光盘中找到,它具有修复引导Windows XP或Window 7启动的功能。
4.重启电脑后,就会发现启动界面已经更改了。