linux系统引导和Systemd服务管理
目录一.Linux 系统引导过程① 开机自检POST② MBR 引导③ GRUB 引导菜单④ 加载 Linux 内核⑤ init 进程初始化二.Systemd 服务管理① Systemd 的核心优势② 运行级别与 Systemd 目标Target③ 设置与切换运行级别④ 服务管理三.课后扩展① chkconfig 命令 centos 6 httpd② systemd 与 chkconfig 的对比四.小结与案例五.总结一、Linux 系统引导过程5 个阶段一.Linux 系统引导过程① 开机自检POST过程按下电源键后BIOS 首先对 CPU、内存、显卡、键盘等关键硬件执行加电自检POST。若所有硬件检测通过则依据 BIOS 中设定的启动顺序硬盘、光驱、U 盘等查找可引导设备。总结BIOS 完成硬件自检并选择第一个有效的引导介质通常为硬盘。② MBR 引导过程若从硬盘启动系统读取硬盘第一个扇区主引导记录 MBR中的引导代码该代码进一步加载并执行启动管理器如 GRUB从而进入操作系统选择阶段。总结MBR 中的引导程序将控制权转交给 GRUB 启动管理器。③ GRUB 引导菜单过程GRUBGrand Unified Bootloader显示启动菜单允许用户选择要启动的操作系统或内核版本。选定后GRUB 根据配置文件/boot/grub2/grub.cfg加载指定的 Linux 内核文件及初始 RAM 磁盘initramfs到内存。总结GRUB 读取配置文件将内核与初始文件系统载入内存并准备跳转至内核入口。④ 加载 Linux 内核过程内核通常为vmlinuz被加载到内存后解压并初始化自身建立基本的内存管理、进程调度和硬件抽象层。此时内核已具备管理硬件资源的能力但尚未启动完整的用户空间。总结内核镜像被装入内存并完成基础初始化为后续系统启动做好准备。⑤ init 进程初始化过程内核启动第一个用户空间进程/sbin/init在 systemd 系统中为/usr/lib/systemd/systemd。该进程负责加载硬件驱动、挂载文件系统、启动各类系统服务并最终显示登录提示符图形界面或命令行等待用户登录。总结init/systemd 完成系统全面初始化进入多用户运行级别或图形界面系统启动完毕。二.Systemd 服务管理① Systemd 的核心优势并行启动服务Systemd 支持多任务并行启动大幅缩短系统启动时间克服了传统 SysVinit 串行启动导致的效率瓶颈。按需启动服务仅在需要时激活对应服务避免冗余加载有效降低资源占用提升系统整体效率。总结Systemd 通过并行化与按需激活机制显著优化了启动速度与服务管理流程同时简化了服务配置和依赖管理弥补了 SysVinit 启动缓慢、脚本编写复杂的不足。② 运行级别与 Systemd 目标Target在 Linux 系统中运行级别runlevel定义了系统的运行状态。Systemd 通过目标target来代替传统的运行级别。以下是常见的运行级别与对应的 Systemd 目标-------------------------------------------------------| 运行级别 | Systemd 目标 | 说明 |-------------------------------------------------------| 0重 | poweroff.target | 关机 || 1 | rescue.target | 单用户模式 || 2、3、4重 | multi-user.target | 多用户模式 || 5重 | graphical.target | 图形化界面 || 6重 | reboot.target | 重启 |-------------------------------------------------------0 系统停机模式系统默认运行级别不能设置为0否则不能正常启动机器关的1 单用户模式root权限用于系统维护禁止远程登录只能通过实机进去该模式的进入方式百度操作即可就像windows下的安全模式登录进入单用户模式的时候root不需要密码就可以登录所以在此模式下可以修改root密码2 多用户模式没有NFS和网络支持3 完整的多用户文本模式有NFS和网络登录后进入控制台命令行模式。 黑屏4 系统未使用保留一般不用在一些特殊情况下可以用它来做一些事情。例如在笔记本电池用尽时可以切换到这个模式来做一些设置5 图形化模式登录后进入图形GUI模式X windows系6 重启模式默认运行级别不能设为6否则不能正常启动。运行init6机器就会重启③ 设置与切换运行级别查看当前默认目标systemctl get-default图2-1设置默认目标systemctl set-default multi-user.target图2-2切换到指定目标systemctl isolate graphical.target图2-3示例切换到图形界面systemctl isolate graphical.target④ 服务管理启用服务开机启动systemctl start httpd.service apachesystemctl enable httpd.service图2-4查看服务的开机启动状态systemctl is-enabled httpd.service图2-5禁用服务开机启动systemctl disable httpd.service图2-6列出所有已启用的服务systemctl list-unit-files | grep enabled图2-7查看系统中所有已激活的服务systemctl list-units --typeservice图2-8永久修改主机名hostnamectl set-hostname newnamehomename 主机名 临时修改主机名查看服务状态#查看服务是否在运行并显示详细状态信息systemctl status sshd图2-9停止服务的运行systemctl stop sshd图2-10关闭防火墙服务systemctl stop firewalld.service图2-11启动服务systemctl start firewalld.service图2-12重启服务systemctl restart firewalld.service图2-13重新加载服务配置systemctl reload firewalld.service图2-14三.课后扩展① chkconfig 命令 centos 6 httpdchkconfig 是一个用于查看和配置服务是否在特定运行级别下启动的工具。常用命令如下查看服务状态chkconfig --list httpd图3-1添加服务到系统chkconfig --add httpd图3-2设置服务在特定级别下启动chkconfig --level 35 httpd on图3-3② systemd 与 chkconfig 的对比systemd 是现代的服务管理工具支持并行服务启动和按需启动服务配置文件为 .service。chkconfig 用于较早的服务管理依赖于运行级别和手动设置服务的开机启动。四.小结与案例Linux 系统引导过程包括开机自检、MBR 引导、GRUB 引导菜单、加载内核以及 init 进程初始化。Systemd 服务管理替代传统的 init 进程通过并行启动服务、按需启动服务提高系统启动速度。\服务管理**使用 systemctl 命令管理服务的启动、停止和开机启动状态支持配置服务在特定目标下的运行。相关案例启用 Apache 服务开机启动systemctl enable httpd.service图4-1切换到多用户模式不带图形界面systemctl isolate multi-user.target图4-2五.总结一、Linux 系统引导过程5 个阶段开机自检POSTBIOS 检测硬件并选择第一个可引导设备硬盘/U盘/光驱。MBR 引导从硬盘主引导记录加载 GRUB 引导管理器。GRUB 引导菜单GRUB 读取/boot/grub2/grub.cfg加载指定内核和 initramfs 到内存。加载 Linux 内核内核初始化硬件管理、内存和进程调度完成基础环境准备。init 进程初始化内核启动 systemd原/sbin/init加载驱动、启动服务最终显示登录界面。二. Systemd 两大优势并行启动多服务同时启动大幅缩短开机时间。按需启动仅在需要时激活服务节省资源。三.新旧工具对比systemd现代.service文件支持并行/按需启动命令为systemctl。chkconfig传统基于运行级别管理/etc/init.d/脚本兼容模式下systemctl enable会自动重定向到chkconfig。