CentOS、RedHat 等linux发行版,通过grub引导程序来完成将内核加载到内存中。如果在自己的一个磁盘上安装了多个操作系统的话,那么这多个操作系统也必须的通过grub引导程序来完成内核的加载的。这是因为一个磁盘上只能有一个grub引导程序,但却可以有多个操作系统。
grub引导程序是通过读取自己的配置文件来实现多个系统的引导的。
grub的配置文件为:/boot/grub/grub.conf
grub.conf为:
其中 default=0 定义了系统默认加载的那个操作系统
timeout=5 定义了默认的等待时间
title 定义了系统的名称,可以自己更改的
root (hd0,5) 定义了相应系统的内核文件的存放位置;0 表示第一个磁盘,5表示这个磁盘的第五个分区;
kernel /vmlinuz 当前磁盘下的vlinuz文件,也就是 grub引导程序所在的磁盘分区为当前分区;
initrd /initramfs 是grub所在的磁盘分区上的 initramfs文件;
initramfs(init ram file system)即在内存空间中模拟的一个磁盘文件系统,他的主要作用是连接内核与磁盘上的rootfs文件系统的。如果没有他的话,内核没有办法将磁盘上的rootfs文件系统加载的内存中。
以上是grub引导程序引导linux操作系统的步骤以及详细应的配置;
如果想让grub来引导自己的window操作系统,过程如下:
在原来的grub.conf配置文件中增加一项:
title Window XP 这样grub在引导是会出现Window Xp 这一项
rootnoverify (hd0,0) 在grub之中不管什么类型的硬盘都被标识为hd,
(hd0,0) 表示第一块硬盘的第一个分区,是操作系统的内核文件所存放的地方
chainloader +1 (注意:中间是有空格的) 意思是:链式加载系统所在的分区中的第一个扇区;
makeactive (hd0,0) 是激活操作系统所在的设备
boot 这个最后一步了,即引导操作系统的内核
当把上面的几项添加到grub.conf的配置文件之中以后,保存退出。然后从新启动系统,然后就可以引导你的另一个系统了。
如何更改grub.conf配置文件来引导另一个系统