centos7变化之启动流程

来源:互联网 发布:尼尔森数据报告 编辑:程序博客网 时间:2024/04/30 11:22

第一阶段BIOS初始化----------开启电源

                                     ----------BISO       ----------初始化硬件

                                                                   ----------查找启动设备

                                                                      ----------cd-dvd -------Kernel&Initrd

                                                                      ----------PXE

                                                                      ----------USB

                                                                      ----------HDD    ----------MBR

                                      ----------MBR        446B boot.img 在启动时装在core.img

                                                                    64B   partition table 选项

                                                                    2B     magic nuber


---------------------------------------------------------------------------------------------------------------------------------------------------------------------


第二阶段GRUB2 启动引导----------boot.img 装载core.img

                                               ----------core.img  GRUB2的核心映像文件

                                               ---------- *.mod 可以动态加载的模块

                                               ----------grub.cfg

----------------------------------------------------------------------------------------------------------------------------------------------------------------------


第三阶段内核引导----------/boot/vmlinuz  Linux内核映像及内核参数传递

                                ----------/boot/intramfs 首先再内存中释放供内核使用的根文件系统(/boot/initramfs)然后挂载真正的根文件系统,最后执行/usr/lib/systemd/systemd

              

----------------------------------------------------------------------------------------------------------------------------------------------------------------------

加载BIOS,通过BIOS加载CMOS信息,取得主机硬件配置信息,包括启动设备的搜寻顺序,各接口设备的I/O地址以及与CPU沟通的IRQ中断等。取得这些信息后BIOS会开机自检,执行硬件设备的初始化,设定PnP设备(即插即用),定义出可开机的设备顺序,读取开机设备顺序,读取并执行第一个开机设备内的MBR的BOOTLOAD。

GRUB2的boot.img在MBR或启动分区中,boot.img将读取core.img的第一个扇区以用来读取core.img后面的部分,完成读取后,core.img会读取默认的配置文件和其他需要的模块,/boot/grub2/i386-pc/目录中的内容。

/boot/中文件作用:config-3.10.0-121.el7.x86_64 系统Kernel的配置文件,内核编译完成后保存的就是这个配置文件(内核编译偷懒可以复制这个过去,然后加上需要添加的功能模块就可以了,反正我是这么偷懒的)。grub2启动相关。initramfs-3.10.-121.el7.x86_64.img,虚拟文件系统文件,初始化内存镜像盘,为系统提供内核映像无法提供的模块,bootloader将其加载在内存中,该文件被解压后在内存中仿真成一个根目录,提供一个可执行程序,通过该程序加载开机过程中所需要的内核模块。vmlinuz-3.10.0-121.e7.x86_64,用于启动的压缩内核镜像文件(以下是我听马哥说的,该内核自解压,前一段代码提供解压功能,解压后一段真正的内核代码)。

内核接管BIOS后的工作,将根分区以只读方式挂载,接着载入初始进程systemd (/usr/lib/systemd/systemd),之前版本/etc/inittab作废。

0 0