目录
1、 加电开机,启动BIOS进行自检。
2、读取MBR(Master Boot Record, 主要启动记录区)。
3、加载GRUB(GRand Unified Bootloader)菜单。
4、加载内核(kernel)和驱动程序
5、运行systemd进程,加载如下文件
画不多说,先上图
1、 加电开机,启动BIOS进行自检。
BIOS负责加载硬件信息和检测硬件是否正常工作,例如内存、硬盘等设备。(检查硬件是第一步,因为硬件是基本中的基本,从地基开始)
2、读取MBR(Master Boot Record, 主要启动记录区)。
BIOS 自检完成后,会读取硬盘的主引导记录(MBR)。MBR 位于硬盘的第一个扇区,包含引导程序(Boot Loader)和分区表信息。(Loader 的最主要功能是要认识操作系统的文件格式并据以加载kernel到主存储器中去执行。)
3、加载GRUB(GRand Unified Bootloader)菜单。
是一个多操作系统启动管理器。它会读取配置文件,显示操作系统选择菜单(如果有多个操作系统),并允许用户选择要启动的系统。(提供操作系统选择界面,并加载所选系统的内核。)
4、加载内核(kernel)和驱动程序
(内核是操作系统的核心,负责管理系统资源,如 CPU、内存、设备驱动等。)
5、运行systemd进程,加载如下文件
- 执行initrd.target,包含挂载/etc/fstab文件中的文件系统
- 执行default.target,根据它的运行级别可以找到系统要进入哪个模式--如下:
- runlevel0.target--poweroff.target 关机
- runlevel1.target--rescue.target 单用户模式,用于系统修复
- runlevel2.target--multi-user.target 多用户模式,无图像界面
- runlevel3.target--multi-user.target 多用户模式,无图像界面
- runlevel4.target--graphical.target 多用户模式,有图像界面
- runlevel5.target--multi-user.target 多用户模式,无图像界面
- runlevel6.target--reboot.target 重启
- 执行sysinit.target,初始化系统及加载basic.target准备启动系统(包含了系统初始化时需要执行的服务和脚本。这些脚本用于设置系统环境、启动网络服务等。)
- 执行multi-user.target下的程序,包括/etc/systemd/system和/usr/lib/systemd/system目录下开机自启动的程序
- 执行multi-user.target下/etc/rc.d/rc.local的内容(用户可以在这个文件中添加自定义的启动命令。)
- 执行getty.target,用于启动getty进程。(
getty
负责在终端上显示登录提示符,等待用户登录。)