Linux内核启动过程及GRUB引导加载器详解
1. Linux内核启动流程概述
Linux系统启动是一个复杂的过程,简化来看,其启动流程如下:
1. 计算机的BIOS或引导固件加载并执行引导加载程序。
2. 引导加载程序在磁盘中找到内核镜像,将其加载到内存并启动。
3. 内核初始化设备及其驱动程序。
4. 内核挂载根文件系统。
5. 内核启动一个名为init的程序,其进程ID为1,这标志着用户空间的开始。
6. init启动系统的其余进程。
7. 在某个时刻,init启动一个允许用户登录的进程,通常在启动过程的末尾或接近末尾。
这个过程中,前四个阶段主要涉及内核和引导加载程序,了解每个阶段对于解决启动问题和理解整个系统至关重要。但在许多Linux发行版中,默认行为使得在启动过程中很难识别这些早期阶段,通常只有在这些阶段完成并登录系统后才能查看相关信息。
2. 启动初始化消息查看
传统的Unix系统在启动时会生成各种诊断消息,这些消息最初来自内核,随后来自init启动的进程和初始化程序。然而,这些消息不够优雅、一致,有时甚至不太有信息量。现代Linux发行版通常会使用启动画面、填充内容和引导选项来隐藏这些消息。此外,硬件的改进使得内核启动速度比以前快得多,消息一闪而过,很难看清发生了什么。
有两种方法可以在核执行时查看启动和诊断消息:
- 查看内核系统日志文件。通常,该文件可以在 /var/log/kern.log 中找到,但根据系统配置,它也可能与其他系统日志一起存放在 /var/log/messages
超级会员免费看
订阅专栏 解锁全文
1099

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



