CentOS7基础之Linux启动过程

本文详细解析了Linux系统从加电到完全启动的过程,包括BIOS/UEFI的硬件初始化、bootloader的选择与加载、内核(kernel)及initramfs的装载、systemd的初始化与执行等关键步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux系统启动过程

  1. 加电后系统固件(system firmware),也就是BIOS或者UEFI进行加电测试,初始化部分硬件设备。
  2. 系统固件寻找可启动设备。
  3. 系统固件从disk上读取boot loader,CentOS7中的boot loader是grub2,之后系统固件把控制权交给boot loader。
  4. boot loader从硬盘装载配置文件,向用户显示一个启动选择菜单。
  5. 用户选择启动项后,boot loader从硬盘加载选定的内核(kernel)和initramfs到内存中。initramfs中包括了在启动过程中所需的所有硬件的内核模块(modules)。它的配置文件是 /etc/dracut.conf 。
  6. boot loader把启动时传入的参数如rd.break, 还有initramfs在内存中的地址,以及系统的控制权都移交给kernel。
  7. kernel初始化所有硬件,然后从initramfs中执行 /sbin/init 把它作为PID 1. CentOS7中的init就是systemd。
  8. 来自initramfs中的systemd执行所有initrd.target中的unit。把根文件系统 / 挂载(mount)到 /sysroot.
  9. 内核的根文件系统从initramfs切换到刚才挂载的/sysroot上后,sysroot中的systemd会重新再执行一次。
  10. systemd执行default.target, 系统启动完成。

关注“一起运维”公众号获得更多信息

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值