目录
系统启动流程
RHEL7 使用了 GRUB2 引导程序。
- 开启电源。
- 加载主板 BIOS
- 检测硬件是否有故障 。
- 找启动介质,进入磁盘的 MBR 引导分区分区。MBR 大小为 512Byte,由 Bootloader(446B)+ 分区表(64B)+ 校验结束位(2B)组成。一个分区的标识数据占用 16B。
- Linux 内核文件保存在 /boot 目录下,通过 GRUB2 程序将内核加载到内存。可以通过修改 grub.cfg,来控制系统启动选项。GRUB2 的本质是一个微型的操作系统,他可以识别到一些常用的文件系统,GRUB 2运行时会读取自己的配置文件 /boot/grub2/grub.cfg。每个内核条目都会以 menuentry 开头 ,menuentry 包含标题、选项(不建议修改),menuentry 后面有一对大括号,其中都是启动项,启动项以 TAB 开头 ,linux16 这行指定内核的位置、根分区的位置、以只读方式挂载根分区 、字符集、键盘布局、语言、rhgb(以图形化方式显示启动过程)、quiet(启动过程出现错误提示)。根分区都是 xfs 格式的,xfs 需要驱动才能读取文件,驱动的位置在 /lib/modules/3.10.0-123.el7.x86_64/kernel/fs/xfs,通过 initrd16 将启动相关的驱动和模块解压到内存,再读取根分区(xfs)的数据。
注意:RHEL7 的 grub.cfg 不能直接修改,要通过