win7raid启动

(win7raid驱动)

我一直只知道按了power键后会启动centos系统,至于究竟如何进入的系统一直都没有很明白。对于一个使用centos对于系统开发的人来说,了解linux的启动过程将有助于对于系统启动问题的解决。

Centos 7启动流程

1 BIOS开机自检

2 BIOS根据启动顺序找到启动程序

3 bootloader 按配置读取 vmlinuz 内核文件,解压缩initramfs镜像文件

4 内核从解压initramfs中读硬件驱动模块

5 内核启动systemd进程,systemd启动其他过程,启动操作系统


1.BIOS开机自检

如果硬件有问题,主要是检查硬件。主板会发出不同含义的蜂鸣声,开始停止。如果没有问题,屏幕将显示CPU、内存、硬盘等信息。

开机自检

2.BIOS根据启动顺序找到启动程序

如果你从硬盘开始,找到硬盘MBR并读取其中的bootloader(通过INT 13 读取中断功能 MBR )

MBR硬盘的第一个扇区位于物理位置,大小为512字节。其中包含bootloader,分区表,结束标志


MBR构成


3. bootloader 按配置读取 vmlinuz 内核文件,解压缩initramfs镜像文件


在装机时,grub其文件将自动安装

grub2将boot.img安装转换后的内容MBR的bootloader处

grub2将core.img转换后的内容安装在启动风扇区域

grub配置文件为/2boot/grub2/grub.cfg

grub2

以grub2为例,说一下其启动过程

1 BIOS启动硬件检测

2 BIOS按开机顺序读取MBR中的bootloader区域的boot.img

3 boot.img读取开机扇区core.img,core.img读取 vmlinuz 内核文件,在内存中解压缩initramfs镜像文件并挂载根目录

4 内核从解压initramfs中读硬件驱动模块

5 内核启动systemd进程

6 systemd启动其他过程

启动流程


4 内核从解压initramfs中读硬件驱动模块

这里的驱动模块,主要与磁盘驱动相关的模块,如 SCSI、virtio、RAID模块


5 内核启动systemd进程,systemd启动其他过程,启动操作系统

1 systemd 读取 /etc/systemd/system/default.target

2 载入核心模块,启动网络,挂载本机fstab,启动防火墙等

3 启动用户定制的程序



参考: 1.https://wizardforcel.gitbooks.io/vbird-linux-basic-4e/content/166.html

2.https://www.cnblogs.com/f-ck-need-u/p/7094693.html#auto_id_10