了解Linux的启动过程对于我们学习Linux,深刻理解Linux的工作原理有很大帮助

Linux系统的启动主要分为1,加载bios 2,读取mbr 3boot loader  4,加载内核

5,读取inittab文件设置运行等级 6,读取rc.sysinit设置用户信息 7,启动内核模块

8,运行不同级别的脚本程序, 9启动登录脚本

1,  加载BIOS

在计算机启动的开始系统会首先加载biosbios里面有计算机硬件的相关信息,

2,  读取mbr

Mbr是计算机第一个扇区,其中包含了系统的预启动信息,和分区表信息

3,  加载boot loader

Bootloader是启动系统的引导,有很多种其中常见的有grublilo spfdisk

其中Linux中大部分使用的是grub grub中有系统启动的相关信息存储在grubConf中,grub按照grub.conf中的设置确定系统的启动循序,默认启动的系统,内核的版本等信息

下面就是grub.Conf

 

Linux的启动过程_职场

4,  加载内核

系统根据grub.conf的设置读取内核所在的位置,系统将内核解压缩并读取到内存中,完成内核的各种设备的初始化,建立一个基本的系统

5,  读取inittab文件完成运行等级等各项设置,下面就是initab的设置

 

 

Linux的启动过程_Linux_02

其中inittab的作用是

    (1), 设定默认运行级别

(2),启动系统初始化脚本

(3),执行指定运行级别下的每一个启动脚本

(4),由于捕获特定的快捷键序列   设定Ctrl+alt +del组合键功能

(5),设定电源故障时,要执行的脚本

( 6)设定要启动的虚拟控制台 /dev/tty

(7),指定运行级别为5时做图形界面初始化的脚本

Linux 运行级别 0-6

10 halt 关机

21 单用户模式 不启用 /etc/passwd , /etc/shadow

32 多用户模式 不启用网络文件系统

43完全多用户模式 纯文本界面

54 预留的未使用

65完全多用户模式 窗口界面

76 重启

 

6 读取rc.sysinit文件

Rc.sysinit文件的作用

   (1),激活udevselinex

(2) 设置内核参数/etc/sysctl.conf

(3),设置系统时钟

(4),装载键盘映射

(5),启用交换分区

(6),设置主机名称 /etc/sysconfig/network

(7),根文件系统检查并重新以读写方式挂载系统

    文件系统的一致状态

(8),激活raid lvm设备

(9),启用磁盘配额

(10),检测并挂载其他的文件系统 /etc/fstab下定义的文件系统

(11),清除不再使用的锁和PID文件

7,启动内核模块

Linux内核的制作时为了在内核启动时减少内存的使用率,Linux把许多驱动程序做成模块放在内核中,在内核启动后才加载各个驱动模块

8 执行不同运行级别的脚本程序

   根据运行级别的不同,系统会运行rc.d rc6.d 的相应的脚本晨讯,朗文臣相应的初始化工作和启动相应的复去

9 系统执行/bin/login程序,进入登录状态