详细描述一个Linux系统的启动过程

Nik*_*ley 14 linux boot boot-loader netboot

我正在准备一份详细介绍 Linux 启动顺序的文档,从按下主机的开机按钮到登录提示出现。

如果我们可以将这里的正确答案合并和整理成一个单一的参考位置,那就太好了。请包括在启动期间可能需要注意的任何细节。一旦文档从所有方面都完成,我也会在此处发布文档详细信息并更新问题中的链接。

请考虑所有可能的情况,例如从磁盘启动、从 USB 启动、在 rootfs(/) 位于网络上的无盘客户端上从网络启动。

小智 7

你想要的是 Linux 的引导顺序还是只是 PC 的引导顺序......因为从 USB/CDROM/HDD 引导 Linux 之间没有区别......Linux 总是从引导加载程序所在的 MBR 引导......

Linux启动过程:

  1. 当电源接通时,BIOS 被赋予控制权
  2. BIOS 运行自检,通常包括粗略的内存测试。
  3. 然后 BIOS 加载磁盘的第一个扇区以用于引导并将控制权转移给它。
  4. MBR 代码各不相同。一个版本将链接到引导分区 (Windows) 第一个扇区中的代码,另一个版本将加载引导加载程序。Windows 启动从启动分区中的代码和信息开始。
  5. 引导加载程序选择内核位置和版本
  6. 引导加载程序在内存中准备内核和 initrd 映像,将控制权转移到内核
  7. 加载内核模块
  8. 发现硬件并加载额外的内核模块来支持它
  9. 寻找磁盘
  10. / 分区的 R/O 挂载,以便可以对其进行检查和修复
  11. 初始化进程产生
  12. /etc/inittab 读取并执行
  13. 从 /etc/fstab 挂载所有 FS
  14. 正在运行的运行级别(基于 /etc/inittab 中的默认运行级别)或其他初始化方法,例如 systemd 或 upstart
  15. 本地
  16. 登录提示


Ale*_*der 3

尝试安装和使用bootchart