CentOS7开机启动流程

1. 硬件自检(POST)

  • 当电源按钮被按下时,计算机开始启动,首先进行硬件自检(Power-On Self-Test,POST),检查CPU、内存、硬盘等硬件设备是否正常。确保计算机硬件能够正常工作。
  • 如果发现严重故障,则停机;对于非严重故障,则给出提示或声音报警信号。

2. BIOS/UEFI初始化

  • BIOS/UEFI接管:自检通过后,BIOS(基本输入输出系统)或UEFI(统一可扩展固件接口)接管计算机的控制权。
  • BIOS/UEFI会读取启动顺序设置,确定从哪个设备(如硬盘、光驱、U盘等)启动系统。
  • BIOS会将MBR的内容加载到内存中指定的区域,并准备执行其中的引导程序。

3. 引导加载

  • 加载引导程序:根据启动顺序,计算机会加载第一个含有引导程序的设备上的引导装载程序(如GRUB)。GRUB是CentOS中常用的引导装载程序,它负责加载Linux内核。
  • 读取配置文件:GRUB会读取/boot分区上的文件系统驱动,并读取相关的配置文件(如/etc/grub.d/、/etc/default/grub和/boot/grub2/grub.cfg),这些配置文件定义了引导菜单、内核参数等重要信息。

4. 内核加载

  • 加载内核:GRUB根据配置加载Linux内核文件(vmlinuz)和初始内存文件系统(initramfs或initrd)。
  • 内核初始化:内核开始初始化,探测可识别的硬件设备,加载硬件驱动程序(可能会借助于ramdisk加载驱动)。内核还会以只读方式挂载根文件系统,并准备运行用户空间的第一个应用程序(在CentOS 7及以后版本中,systemd第一个进程)。

5. systemd初始化

  • 在CentOS 7中,systemd作为系统的初始化进程和服务管理器,负责系统的初始化工作。
  • systemd会按照预设的target配置,依次启动各种系统服务和单元。
  • 例如,systemd会先执行initrd.target来挂载/etc/fstab中定义的文件系统,然后从initramfs根文件系统切换到磁盘根目录。
  • 接着,systemd会执行默认target配置(通常是graphical.target或multi-user.target),根据配置启动相应的系统服务和程序。

6. 用户登录

  • 系统进入多用户模式,允许多个用户通过登录界面输入用户名和密码进行登录。
  • 系统通过比对/etc/passwd和/etc/shadow文件中的信息来验证用户的身份。

7. 用户环境初始化

  • 验证通过后,系统会运行用户主目录下的初始化文件(如/.bashrc、/.bash_profile等)。
  • 用户成功登录后,系统显示bash提示符,用户可以开始交互操作。

8. 系统运行

  • 此时,系统已经成功启动并运行,用户可以通过命令行界面与系统交互,执行各种命令和应用程序。

注意事项

  • BIOS与UEFI的区别:需要注意的是,虽然BIOS和UEFI都负责启动过程,但它们在实现方式和功能上有所不同。UEFI是BIOS的现代替代品,提供了更快的启动速度和更多的功能。然而,无论是BIOS还是UEFI,在启动过程中都会读取MBR(对于使用MBR分区的硬盘)。
  • MBR与GPT的区别:MBR是一种老旧的分区表格式,而GPT(GUID分区表)是一种更现代、更安全的分区表格式。UEFI通常与GPT分区一起使用,而BIOS则与MBR分区一起使用。然而,现代的主板和系统也支持在BIOS模式下使用GPT分区,但这通常需要额外的配置或引导加载程序(如GRUB的EFI版本)。

流程图:

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值