我们知道linux系统启动流程大致分为十个步骤:
1)启动第一步--加载BIOS;
2)启动第二步--读取MBR;
3)启动第三步--Boot Loader;
4)启动第四步--加载内核;
5)用户层init依据inittab文件来设定运行等级;
6)启动第六步--init进程执行rc.sysinit;
7)启动第七步--启动内核模块;
8)启动第八步--执行不同运行级别的脚本程序;
9)启动第九步--执行/etc/rc.d/rc.local;
10)启动第十步--执行/bin/login程序,进入登录状态;
其中在系统启动第二、三步时尤为重要,因为该步骤启动牵涉到MBR(主引导记录)中前446个字节的Bootloader(引导加载器),如果该步骤启动失败,那么linux内核就启动不起来,将直接导致linux系统启动失败。
Bootloader(引导加载器)分为两类:
1)LILO:Linux loader 早期linux比较常用,由于LILO短小精悍但是不能引导1024
   面以后的分区上的系统,因现有盘都比较大,所以该种引导加载器不常用,只有
   在嵌入式开发中用到,这里我们不多做解释;
2)GRUB:Grand Unified Bootloader大统一引导程序),目前该种引导加载器在
   linux系统中是最常用的,同时也可以用于windows系统中,这里我们将会详细说    一下grub,grub采用了非常精巧的启动方式,其启动过程分两个节段并且自己实
   现了接力:  
1)Stage1:位于MBR446Byte中,主要负责引导Stage2  
2)Stage2:放在/boot/grub/目录里,还有另外的路径/usr/share/grub/,其提供
  了导更多操作系统的界面,还可以提供一个图形界面splashp_w_picpath,并且提供一个
  背景图,在此背景图上还提供一个菜单让我们选择,并且该菜单还可以进行编辑,   由此看来grub功能异常强大;
其实grub的工作要依赖于其配置文件(/etc/grub/grub.conf)来实现的,这里来说grub的配置文件:
一、grub的配置文件是/boot/grub/grub.conf,其有两个链接文件分别为/boot/grub/menu.lst/etc/grub.conf;其配置文件分为全局配置文件和局部配置文件:
浅析grub应用_stage1
下面来说下画面中的各选项的代表的意义:
default:用于设定哪个title用于默认启用的;
timeout:设定默认启动时间;
hiddenmenu:隐藏菜单;
splashp_w_picpath:设定背景图片;例如:splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
  grup识别分区有自己的机制;hd0,0 表示第一个硬盘上的第一个主分区;
  /grub/splash.xpm.gz或者/boot/grub /splash.xpm.gz(取决于/boot/是否在
  一个分区上);
title引导一个内核或一个位于特定的分区的操作系统;
root:表示linux内核所在的分区;or(只读方式挂载);root=“真正的根
   文件系统”,quiet 隐藏内核探测信息;
kernel 内核所在分区下的目录;
initrd initrd在内核所在分区下的目录;
系统启动时按任意键,可以进入grup的菜单选项,可以选择需要加载的内核
浅析grub应用_编辑接口_02
如果需要修改有关内核的启动信息的话可以按e键可以对进入编辑接口:
浅析grub应用_单用户模式_03
编辑完成后连续按enter键退出然后按b键进行加载内核,如果要放弃修改可以按esc键退出。
当我们忘记系统密码时可以进入编辑接口向kernel中传递1s,Ssingle
(单用户模式)中的任意一项就可以不用系统密码直接登录系统:
浅析grub应用_单用户模式_04
如果每个人都可以通过单用户模式进入我们的系统的话,像上述操作模式给系统的安全性带来了很大的风险,所以我们可以编辑/etc/grub.conf配置文件增加进入编辑模式的密码,每当用户进入编辑模式时会提示用户输入密码,这样我们的系统就安全多了:
其实在给/etc/grub.conf配置文件增加密码时有三种情况需要说明:
1)在全局配置文件中添加passwd “密码串”(会在编辑接口要输入密码);
2)在局部配置文件中增加passwd “密码串”(会在启动对应操作系统输入密码);
3)grub-md5-crypt 该命令为密码转换为乱码,然后复制到/etc/grub.conf文件下
   的passwd选项下;(该种操作提示用户在启动内核前就必须输入密码);
浅析grub应用_单用户模式_05
二、如果grub由于某种原因损坏将会直接导致系统无法启动,下面讲一下如何重新安装grub,有两种安装方式:
1、 grub命令模式下安装;
#grub(进入grub交互模式)
grub> root (hd0,0)(指定内核所在的分区)
grub> setup (hd0)(指定装在哪一块磁盘上)
quit(退出)
这种安装方法只能安装MBR446Byte的stage1
2、命令行安装;
grub-install 当前硬盘 (为当前硬盘安装grub
grub-install --root-directory=DIR 其它硬盘(为系统上其它硬盘安装grub
下面我们来演示一下为系统上的其它硬盘安装一个grub,安装步骤如下: 
1)分区;
2)将内核所在的分区挂载至某目录;/tmp/boot/mnt/boot;
3)grub-install --root-directory=DIR 其它硬盘;
4)sync:同步的命令(内存的数据同步到磁盘中去);
 
在安装grub之前我们不妨先做一张图片给我们的系统启动界面增加一些美观,图片要求如下:
1)640x480分辨率;
2)14bit色;
3)xpm格式;
4)gz压缩;
下面我们来编辑一张图片:
 -----未完待续-----