Linux系统启动的基本过程和步骤: 最近在某个版块看到有人讨论GRUB 的问题,这里是我个人的一些理解
我想大部分还是正确的,但肯定也有理解错误的地方,在这里抛砖引玉了
Linux 系统启动过程大致按照如下步骤进行(这是一个简述): 第一阶段:BIOS 启动引导阶段; 在该过程中实现硬件的初始化以及查找启动介质; 从 MBR 中装载启动引导管理器(GRUB)并运行该启动引导管理 第二阶段:GRUB 启动引导阶段; 装载 stage1 装载 stage1
5 装载 stage2 读取/boot/grub
conf 文件并显示启动菜单; 装载所选的kernel 和initrd 文件到内存中 第三阶段:内核阶段: 运行内核启动参数; 解压 initrd 文件并挂载 initd 文件系统,装载必须的驱动; 挂载根文件系统 第四阶段:Sys V init 初始化阶段: 启动/sbin/init 程序; 运行 rc
sysinit 脚本,设置系统环境,启动swap 分区,检查和挂载文件系统; 读取/etc/inittab 文件,运行在/et/rc
d 中定义的不同运行级别的服务初始化脚本; 打开字符终端 1-6 号控制台/打开图形显示管理的7 号控制台 同时在上述过程中各阶段所需要读取的文件和操作的对象: BIOS 启动引导 阶段 GRUB 启动引 导阶段 内核阶段 /init/sysinit 阶段 ================================================================================================== None /boot/grub/grub
conf /boot/vmlinuz- /etc/rc
sysinit /boot/grub/stage1_5 /boot/i