Linux开机流程 
1、  接通电源,按下开机键,首先启动BIOS程序,BIOS程序用来进行硬件检测,并初始化硬件,
2、  然后BIOS读取MBR中的内容,执行系统启动加载器,MBR就是硬盘上第0磁道第一个扇区,里存放了预启动信息和分区表信息。BIOS找到MBR后,会把里边的内容复制到内存中。
3、  运行GRUBGRUB是在系统内核运行之前的一个程序,主要调整设置计算机的硬件、软件环境,为下一步加载内核做准备。GRUB的配置存放在/grub/grub.conf 的文件中。
4、  加载内核,根据grub设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。系统将解压后的内核放置在内存之中,并初始化各种设备,完成Linux核心环境的建立。
5、  加载内核之后,运行的第一个程序是/sbin/init,该程序会读取/etc/inittab文件中的内容,并根据文件的内容初始化工作,设定系统运行等级。
6、  接着init程序会执行/etc/rc.sysinit文件,该文件完成的工作比较多,包括:
 
1、udev ,也就是启用热插拔的设备,例如:USB,并且也会启动SELinux
2
、会把kernel的参数设定在/etc/sysctl.conf配置文件里;这个配置文件下下单元详细说明;3、设定系统时间;
4
、载入 keymaps 设定,keymap设定是在定义键盘,这样电脑开机时才能找到相对应的键盘设定;
5
、启用swap这个虚拟内存的分区;
6
、设定主机名称,主机名称设定在 /etc/sysconfig/network 配置文件中的 HOSTNAME= 项下;
7
检查根目录有没有问题,并且重新挂载成为可读可写的状态;
8
、启用RAID磁盘阵列,以及LVM的设备;
9
、启用磁盘配额的功能,就是限制使用者最多可以使用多少硬盘空间;
10
、检查其它文件系统,并且把它们挂载进来;
11
、最后会清除被修改过的locksPID files,其实就是清除一些开机时的缓存文件,以及一些没有用的的信息及文件;
这个过程中会读取分区表文件/etc/fstab,默认启动程序文件 /etc/rc.d/rc.local。最后根据不同的运行级别,执行相应的脚本,/etc/rc.d/rc0.d—rc6.d
7、执行/bin/login程序,进入登陆状态
8、登录,输入用户名和密码,系统会到 /etc/passwd /etc/shadow 文件中进行用户和密码验证,验证通过才能登录到系统。