Linux
开机流程
 
1、 
接通电源,按下开机键,首先启动
BIOS
程序,
BIOS
程序用来进行硬件检测,并初始化硬件,
2、 
然后
BIOS
读取
MBR
中的内容,执行系统启动加载器
,MBR
就是硬盘上第
0
磁道第一个扇区
,
里存放了预启动信息和分区表信息。
BIOS
找到
MBR
后,会把里边的内容复制到内存中。
3、 
运行
GRUB
GRUB
是在系统内核运行之前的一个程序,主要调整设置计算机的硬件、软件环境,为下一步加载内核做准备。
GRUB
的配置存放在
/grub/grub.conf
的文件中。
4、 
加载内核,根据
grub
设定的内核映像所在路径,系统读取内存映像,并进行解压缩操作。系统将解压后的内核放置在内存之中,并初始化各种设备,完成
Linux
核心环境的建立。
5、 
加载内核之后,运行的第一个程序是
/sbin/init
,该程序会读取
/etc/inittab
文件中的内容,并根据文件的内容初始化工作,设定系统运行等级。
6、 
接着
init
程序会执行
/etc/rc.sysinit
文件,该文件完成的工作比较多,包括:
<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

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
、最后会清除被修改过的
locks
PID files
,其实就是清除一些开机时的缓存文件,以及一些没有用的的信息及文件;

这个过程中会读取分区表文件
/etc/fstab
,默认启动程序文件
/etc/rc.d/rc.local
。最后根据不同的运行级别,执行相应的脚本,
/etc/rc.d/rc0.d—rc6.d
7
、执行
/bin/login
程序,进入登陆状态
8
、登录
,
输入用户名和密码
,
系统会到
/etc/passwd
/etc/shadow
文件中进行用户和密码验证,验证通过才能登录到系统。