我正在准备一份详细的文档,详细介绍了从按下主机开机按钮到出现登录提示符的 Linux 启动顺序。
如果我们能够将此处的正确答案合并并整理成一个参考位置,那就太好了。请包含启动过程中任何值得注意的详细信息。一旦文档从所有要点完成,我也会在此处发布文档详细信息并更新问题中的链接。
请考虑所有可能的场景,例如从磁盘启动、从 USB 启动、在 rootfs(/) 位于网络上的无盘客户端上从网络启动。
答案1
你想要 Linux 的启动顺序或只是 PC 的启动顺序...因为从 USB/CDROM/HDD 启动 Linux 没有区别...Linux 总是从引导加载程序所在的 MBR 启动...
Linux启动过程:
- 当电源接通时,BIOS 获得控制权
- BIOS 运行自检,通常包括粗略的内存测试。
- 然后 BIOS 加载磁盘的第一个扇区以用于引导并将控制权转移给它。
- MBR 代码有所不同。一个版本将链接到启动分区(Windows)第一个扇区中的代码,另一个版本将加载引导加载程序。 Windows 启动从启动分区中的代码和信息开始。
- 引导加载程序选择内核位置和版本
- bootloader 在内存中准备内核和 initrd 映像,将控制权转移给内核
- 加载内核模块
- 发现硬件并加载额外的内核模块来支持它
- 寻找磁盘
- / 分区的 R/O 安装,以便可以对其进行检查和修复
- 初始化进程生成
- /etc/inittab 读取并执行
- 从 /etc/fstab 挂载所有 FS
- 正在运行的运行级别(基于 /etc/inittab 中的默认运行级别)或其他 init 方法,例如 systemd 或 upstart
- 本地文件
- 登录提示
答案2
尝试安装和使用引导图。