Linux系统的启动引导程序有LiLo和grub,但由于LiLo的缺陷–只能识别0-1023范围的柱面构成的分区中的内核文件,因此逐渐被grub代替,但目前的安卓手机都是使用LiLo程序引导的
grub的版本:
grub的版本分为:
- grub 0.X (grub legacy)
- grub 1.X (grub 2)
目前centos 5和centos 6使用的就是 grub legacy 版本
centos 7使用的是 grub2 版本的启动引导程序
grub的三个阶段
- stage 1: 用于启动Boot loader 来加载stage2的内容至内存中
- stage 1_5:用于识别内核和stage2所在分区的文件系统格式类型,帮助引导stage2
- stage 2: 读取 grub.conf 配置文件,并实现引导功能的扩展
Linux系统中,与系统启动相关的文件均存储在/boot目录下.如grub vmlinuz initramfs等等
与grub相关的配置文件
与grub相关的配置文件包括:/etc/grub.conf和/boot/grub/grub.conf
/etc/grub.conf是指向/boot/grub/grub.conf的软连接,grub程序在引导启动时会读取这个配置文件,并按照这个文件的配置参数引导启动系统
文件内容如下:
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS 6 (2.6.32-696.el6.x86_64)
root (hd0,0)
kernel /vmlinuz-2.6.32-696.el6.x86_64 ro root=UUID=2c1d3c99-493f-483b-9abf-c4c7171e4598 rd_NO_LUKS rd_NO_LVM LANG=en_US.UTF-8 rd_NO_MD SYSFONT=latarcyrheb-sun16 crashkernel=auto KEYBOARDTYPE=pc KEYTABL