Linux操作系统部分的主要启动流程:

如题所述

Linux的启动流程
1. 加载BIOS的硬件信息,并获取第一个启动设备的代号;
2. 读取第一个启动设备的MBR的引导加载程序(即lilo、grub、spfdisk等)的启动信息;
3. 加载操作系统的核心信息,核心开始解压,并尝试驱动所有的硬件设备;
4. 核心执行init程序并获得运行信息;
5. init执行/etc/rc.d/rc.sysinit文件;
6. 启动核心的外挂模块(/etc/modprobe.conf);
7. init执行运行的各个批处理文件(Script);
8. init执行/etc/rc.d/rc.local文件;
9. 执行/bin/login程序,等待用户登录;
10. 登录之后开始以shell控制主机。
以上是Linux启动时各个加载程序的顺序。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-05-23
当 PC 的电源打开后,80x86 结构的
CPU 将自动进入实模式,并从地址 0xFFFF0 开始自动执行程序代码,这个地址通常是 ROM-BIOS 中的地址。
PC 机的 BIOS 将执行某些系统的检测,并在物理地址 0 处开始初始化中断向量。此后,它将可启动设备
的第一个扇区(磁盘引导扇区,512 字节)读入内存绝对地址 0x7C00 处,并跳转到这个地方。启动设备
通常是软驱或是硬盘。本回答被提问者采纳
第2个回答  2013-05-23
楼上回答的是系统启动到操作系统的流程,
linux真正启动是接下来的流程,
系统读完MBR后开始启动boot loader, 就是GRUB, Lilo, 或者uboot之类的。 bootloade会初始化基础硬件,建立内存映射等等一系列初始化工作。

然后就是加载和启动内核,初始化硬件设备,加载文件系统等等。
接着系统初始化,并启动和加载各个runlevel的服务和守护进程。。。
相似回答