linux的启动流程--

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 文件,该文件完成的工作比较多,包括:
 
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 文件中进行用户和密码验证,验证通过才能登录到系统。

本文出自 “且行且学习” 博客,谢绝转载!

你可能感兴趣的:(linux启动流程)