Linux启动过程与级别
Linux启动过程:BootLoader -> kernel -> RootFilesystem
Linux 系统启动级别
runlevel 0 : 系统停机状态,系统默认运行级别不能设为0,否则不能正常启动
runlevel 1 : 单用户工作模式,root权限,用于系统维护,禁止远程登陆
runlevel 2 : 多用户工作模式(但不支持NFS),命令行模式登陆
runlevel 3 : 完全的多用户工作模式(有NFS),命令行模式登陆
runlevel 4 : 系统未使用的模式,保留
runlevel 5 : X11图形模式,登陆后进入图形GUI模式
runlevel 6 : 系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动
分别对应了/etc/rc0.d
至/etc/rc6.d
七个目录。例如rc3.d
这些文件都是从/etc/init.d
目录下链接过来的。
内核启动过程:
1.系统启动后,内核初始化硬件和驱动,然后调用 init
程序。
2.init
程序会读取 /etc/inittab
文件来决定默认的运行级别(如果你的系统不使用inittab
文件,那么可能是通过其他方式指定默认运行级别,例如通过 systemd
(系统管理守护进程) 的target
)。
3.假设系统使用 inittab
,init
找到默认的运行级别之后(比如说是 3),它将执行/etc/init.d/rc
脚本,参数为3
。
4./etc/init.d/rc
脚本会按顺序执行 /etc/rc3.d/
目录内所指向的 /etc/init.d/
目录下的启动脚本。其名称前缀带有 S (用于启动) 和一个数字(定义启动顺序,数字小的先启动)。
当重启或关机时:
1.当执行 shutdown 命令时,系统切换到运行级别 0 或 6,依据是关机还是重启。
2./etc/init.d/rc
脚本将执行 /etc/rc0.d/
(关机) 或 /