Linux 基础
系统启动流程
系统引导概述
- 计算机硬件加载 BIOS(计算机中最接近硬件的软件)并检查硬件是否健康;
- 引导系统,读取 MBR(默认第0柱面、第0磁道、第1个扇区);
- 第一个扇区的大小为 512 Bytes,其中引导程序占 446 Byte,磁盘分区表 DPT 占 64 Byte,剩余 2 Byte 是 MBR 结束位;
- Linux 大部分版本使用 Grub 作为系统引导,但 Grub 较大,一般由 MBR 指向 Grub 进行系统启动。
- Grub 根据配置文件加载 kernel 镜像,并运行内核加载后的第一个程序
/sbin/init
,这个程序会根据/etc/inittab
来进行初始化的工作,更具文件中的配置来确定系统将要运行的 runlevel,默认值在id:3:initdefault
中;
- Grub 根据配置文件加载 kernel 镜像,并运行内核加载后的第一个程序
- Linux 根据
/etc/inittab
中定义的系统初始化配置si::sysinit:/etc/rc.d/rc.sysinit
执行/etc/rc.sysinit
脚本;/etc/rc.sysinit
脚本将设置系统变量、网络配置、并启动 swap、设定/proc
、加载用户自定义模块、内核设置等。
- 根据读到的 runlevel 来确定启动的服务,如果值为 5,就会启动
/etc/rc5.d
下的所有脚本; - 运行
/etc/.local
; - 生成终端或者桌面。
系统运行级别
- 级别
- 0 级:关机;
- 1 级:单用户模式(忘记系统密码时,可以通过这种方式进入维护模式,修改密码);
- 2 级:多用户模式,但没有网络链接;