CentOS 7的引导过程是一个复杂但井然有序的过程,它涵盖了从开机自检到用户登录的各个阶段,以下是对CentOS 7引导过程的详细分析:
CentOS 7 引导过程总览
步骤 | 描述 |
开机自检 | 服务器开机后,BIOS根据设置对CPU、内存、显卡、键盘等设备进行初步检测,并初始化部分硬件。 |
MBR引导 | 当从本机硬盘中启动系统时,首先根据硬盘第一个扇区中MBR(主引导记录)的设置,将系统控制权传递给包含操作系统引导文件的分区;或者直接根据MBR记录中的引导信息调用启动菜单。 |
GRUB菜单 | 系统控制权传递给GRUB以后,将会显示提供用于选择,并根据选项加载Linux内核文件。 |
加载Linux内核与内存文件系统 | 系统引导器程序会从本地硬盘中加载内核以及内存文件系统(CentOS7中使用的是initramfs),内存文件系统initramfs是经过gzip的cpio归档,其中包含启动时所有必要的硬件内核模块、初始化脚本等。 |
加载硬件驱动以及初始化过程 | 内核初始化在initramfs中找到驱动程序的所有硬件,然后作为PID 1从initramfs执行/sbin/init,CentOS7中将其复制为systemd,systemd启动initrd.target中所有单元,并挂载根文件系统/sysroot,内核与文件由内存文件系统切换至系统根文件系统,并重新运行/sysroot/systemd。 |
init进程
步骤 | 描述 |
加载/sbin/init程序 | 由Linux内核加载运行/sbin/init程序。 |
系统中的第一个进程 | init进程是系统中的第一个进程。 |
PID号永远为1 | init进程的PID(进程标记)号永远为1。 |
systemd进程
步骤 | 描述 |
systemd简介 | systemd是CentOS7版本开始使用的系统和服务管理器,它是内核第一个加载的程序,PID恒为1。 |
systemd单元类型 | systemd有许多单元类型,用于让系统知道如何进行操作和管理资源。 |
运行级别所对应的Systemd目标 | systemd使用不同的目标来代替传统的运行级别,如multiuser.target对应于传统的运行级别3。 |
FAQs
问题1:如何在CentOS 7中查看服务的状态?
答:在CentOS 7中,可以使用systemctl status 服务名
命令来查看指定服务的状态,要查看sshd服务的状态,可以运行systemctl status sshd
。
问题2:如何在CentOS 7中启用或禁用服务?
答:在CentOS 7中,可以使用systemctl enable 服务名
命令来启用服务,使其在系统启动时自动运行,使用systemctl disable 服务名
命令来禁用服务,防止其在系统启动时自动运行,要启用sshd服务,可以运行systemctl enable sshd
。