1、POST自检,power on self test ,检查周边硬件是否都能正常工作,比如主板,CPU,内存,硬盘等硬件是否都能正常工作。

2、BIOS初始化,BIOS也会检查硬件健康状况,但是其主要是用户设定的启动次序。一般为第一启动项为硬盘启动,这时会找到磁盘上位于0磁道的大小为512字节的MBR,然后bootloader会找到标识为活动分区的那个分区找--内核所在分区位置

3、内核初始化,找到活动分区加载内核到内存中,并在内存中展开,将检测到的硬件设备自己来管理,开始加载驱动,加载库文件等程序。然后运行init。

4、init,运行init (PID:1),系统第一个进程,所有的进程都是其fork出来的。其配置文件为

/etc/inittab这个配置文件记录了

   1)设定系统默认级别

   2)根据/etc/rc.d/rc.sysinit这个脚本完成系统初始化

   3)系统系统级别下的服务

   4)定义ctrlaltdel组合键

   5)定义UPS紧急处理脚本

   6)打开6个虚拟终端

   7)初始化GUI环境(如果运行级别为5的话)


bootloader:位于磁盘前446个字节,主要作用是为了引导磁盘的OS,GRUB就是bootloader里面的很好的工具:

GRUB:分三段

   1)用于加载第二段

   2)对于某种特定文件系统装载

   3)装载磁盘分区里面的/boot/grub/grub.conf文件

/etc/grub/grub.conf配置文件

default=0 #定义默认启动的系统内核次序
timeout=5 #默认等待时间
splashp_w_picpath=(hd0,0)/grub/fish.xpm.gz #加载图片
hiddenmenu #隐藏菜单
password --md5 $1$TFwPd1$iftXURgwoKH3Cm6mx0ohe. #加密,如果是写在这里表示如果修改grub文件需要输入密码,而如果放置在最后,表示如果想要进入系统,必须输入密码。验证必须通过,否则进入不到系统。如果密码忘记,可以使用光盘引导进入rescue模式
title Red Hat Enterprise Linux Server (2.6.18-348.el5)
   root (hd0,0) #把第一块磁盘,第一个分区挂在到跟上,第一个磁盘的第一个分区在linux文件系统中表现为/boot
   kernel /vmlinuz-2.6.18-348.el5 ro root=LABEL=/ #内核位置,这里的跟其实是linux的/boot
   initrd /initrd-2.6.18-348.el5.img  #加载一个小linux内核,这个内核存放着很多内核中没有的驱动,如raid驱动,lvm驱动