Linux内核启动全解析
1. Linux内核启动流程概述
Linux系统的启动过程可以简化为以下几个主要步骤:
1. 机器的BIOS或引导固件加载并运行引导加载程序。
2. 引导加载程序在磁盘上找到内核映像,将其加载到内存中并启动它。
3. 内核初始化设备及其驱动程序。
4. 内核挂载根文件系统。
5. 内核启动一个名为init的程序,其进程ID为1,这标志着用户空间的开始。
6. init启动系统的其余进程。
7. 在某个时刻,通常是在引导序列的末尾或接近末尾时,init启动一个允许你登录的进程。
graph LR
A[BIOS/引导固件] --> B[引导加载程序]
B --> C[内核加载]
C --> D[设备及驱动初始化]
D --> E[挂载根文件系统]
E --> F[启动init程序]
F --> G[启动其余系统进程]
G --> H[允许用户登录]
识别启动过程的每个阶段对于解决启动问题和全面理解系统非常有价值。然而,许多Linux发行版的默认行为使得在启动过程中识别前几个阶段变得困难,通常只有在启动完成并登录后才能查看详细信息。
2. 启动消息查看
传统的Unix系统在启动时会产生许多诊断消息,这些消息首先来自内核,然后来自init启动的进程和初始化程序。但这些消息往往不美观、不一致,而且在某些情况下信息也不丰富。此外,硬件的改进使得内核启动速度比以前快得多,消息一闪
超级会员免费看
订阅专栏 解锁全文
1329

被折叠的 条评论
为什么被折叠?



