开机poweron 一系列硬件检查post自检 bios也会硬件检测 bios(uefi)会根据启动顺序 启动第一启动顺序 在硬盘的话会找到第一个扇区的mbr 从中找主引导程序 找到系统驱动文件在根目录下的boot 去运行内核文件 创建pid1的systemd进程会去进行一系列服务启动 启动对应运行级别(matiu) 进入完全多用户3级 启动开机启动的脚本比如/etc/re.local 和开机配置比如文件系统/etc/fstab进行挂载 然后输入用户名和密码登录 对照/etc/passwd 和/etc/shadow检测用户名和密码是否正确 最后运行家目录下环境初始化
图表 一centos开机启动流程
- POST (Power-On Self Test):当电源开启后,BIOS执行POST自检程序,检查硬件如CPU、内存、硬盘等是否正常。
- Bootloader (GRUB或LILO):BIOS加载MBR中的Bootloader,通常是GRUB或LILO,显示引导菜单供用户选择要启动的操作系统。
- Kernel Loading:Bootloader加载选定的内核到内存中,并传递控制权给内核。
- Root Filesystem Mounting:内核加载根文件系统(rootfs)并将其挂载
- Initialization:内核加载后,不再执行/sbin/init,直接调用systemd作为初始化进程。
- Systemd:systemd读取/usr/lib/systemd/system和/etc/systemd/system目录下的单元文件,根据默认的目标(target)开始启动必要的服务和目标。
- Target Resolution:systemd根据默认目标或用户选择的目标,如multi-user.target或graphical.target,启动相关的系统服务。
- Service Startup:systemd并行启动服务,而不是按顺序执行脚本,提高了启动速度。
- Network and Mountpoints:systemd自动处理网络连接和挂载点,确保服务在适当的环境中启动。
- Login Manager:如果是图形化目标,则启动login manager,如GDM或LightDM。
- Login Prompt:显示登录屏幕或命令行提示符,等待用户登录。