【装系统教程25章之后1】:CentOS启动过程详解 在深入探讨Linux系统之前,我们已经了解了一些关于Windows的基础知识。现在我们将逐步转向Linux的世界,尤其是服务器领域广泛使用的Redhat派系之一——CentOS。尽管Linux发行版繁多,但CentOS 6和7因其稳定性和广泛应用成为讲解的重点。它们的启动流程与Windows类似,但有着自己的特点。 CentOS 6的启动流程如下: 1. BIOS预启动:BIOS首先读取硬盘的MBR(主引导记录)扇区,确保分区表正确无误,然后执行MBR中的引导代码,这部分代码属于GRUB(Grand Unified Bootloader)引导程序。 2. GRUB引导:在BIOS启动模式下,GRUB引导分为三个阶段(stage)。Stage 1的代码存放在MBR的446字节引导区,负责验证分区表和加载下一阶段的引导代码——Stage 1.5。Stage 1.5位于MBR扇区之后的几个扇区(mbr_gap),它的主要任务是识别分区中的文件系统,以便加载/boot分区内的stage_2引导程序和grub.conf配置文件。 3. 用户选择:用户从GRUB提供的启动菜单中选择操作系统内核和initramfs镜像。Stage 2位于/boot分区的grub子目录下,负责加载内核文件(vmlinuz-***)和initramfs文件(initramfs-***.img)。 4. 系统初始化:内核启动后,内核加载initramfs中的驱动和工具,识别LVM分区。在CentOS 6中,/boot分区必须是标准分区(ext4或xfs),因为GRUB的stage_1和stage_1.5无法识别LVM,而GRUB需要在该分区查找stage_2和其他文件。/根分区可以是LVM逻辑卷,也可以是标准分区。 5. 内核解压和初始化:内核文件(vmlinuz)被GRUB加载到内存后,内核自我解压缩,接着初始化系统设备、配置CPU、I/O和存储,并加载部分内核自带的驱动。 6. rootfs文件系统:内核创建rootfs文件系统,解压initramfs到其中,然后执行/sbin/init程序。这个程序加载剩余驱动,找到/根分区,将其挂载到/sysroot,进行根目录切换(chroot /sysroot),运行根分区中的/sbin/init,正式开始系统运行。 总结:CentOS 6的启动过程包括BIOS加载MBR中的GRUB stage1,加载stage1.5,加载stage2,执行启动菜单,加载内核和initramfs,内核初始化,创建rootfs,挂载/根分区,最后切换到真实的系统运行环境。这一系列步骤确保了操作系统能够成功启动并提供服务。
剩余17页未读,继续阅读
- 粉丝: 30
- 资源: 313
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
评论0