Linux 系统启动流程详解

前言 服务器卡在启动界面进不去系统时,看懂启动流程就是看懂排障地图。这篇从固件到 shell,一步步走完 Linux 的"出生过程"。 一、总览:六个阶段 ① 固件自检 (BIOS/UEFI) ▼ ② 引导加载 (GRUB2) ▼ ③ 内核加载 (vmlinuz + initramfs) ▼ ④ PID 1 (systemd 启动) ▼ ⑤ 并行拉起服务 (target + 依赖) ▼ ⑥ 登录 (getty / sshd) 二、阶段一:固件(BIOS/UEFI) BIOS(老) UEFI(现代) 按 MBR 磁盘前512字节引导 读 FAT 格式的 ESP 分区里的 .efi 文件 │ │ ▼ ▼ MBR: 引导代码446B + 分区表64B /boot/efi/EFI/.../grubx64.efi + 魔数 55AA # 看自己的机器是哪种 [ -d /sys/firmware/efi ] && echo UEFI || echo BIOS # UEFI 下看启动项 efibootmgr -v # 固件层常见故障: 启动顺序错了 / 磁盘没认出来 # → 进 BIOS Setup 检查 Boot Order 与磁盘是否识别 三、阶段二:GRUB2 引导 GRUB 的任务:找到内核与 initramfs,把控制权交出去。 ...

2025-06-07 · 3 min · zy

Golang 基础语法:类型、函数与控制流

前言 环境搭好(见上篇),开始正式修炼 Go 语法。Go 的设计哲学是 少即是多——关键字只有 25 个,没有继承、没有异常、没有三元运算符,但每个特性都精打细磨。 ...

2023-07-22 · 3 min · zy

Linux 进程管理:ps、top 与信号机制

前言 服务卡了、CPU 飙了、进程僵了——处理这些问题的第一步永远是"看清进程现场"。这篇梳理进程查看、信号机制和后台任务管理的核心知识。 ...

2023-05-06 · 3 min · zy

Bash 脚本入门:变量、条件与循环

前言 会写 Bash 脚本,是运维和后端开发日常效率的分水岭。这篇把最核心的语法要素串一遍,看完能写出规范、能跑的脚本。 一、脚本骨架 从一个标准骨架开始: #!/usr/bin/env bash # 描述: 演示脚本骨架 set -euo pipefail # 出错即停 + 未定义变量报错 + 管道错误传递 LOG_FILE="/var/log/myapp.log" log() { echo "[$(date '+%F %T')] $*" | tee -a "$LOG_FILE" } main() { log "脚本开始" # ... 业务逻辑 log "脚本结束" } main "$@" 三件套说明: ...

2023-04-08 · 3 min · zy

Linux 文件权限与特殊权限位详解

前言 刚接触 Linux 的同学,第一次看到 ls -l 输出前面那串 drwxr-xr-x 大概率是一脸懵的。这篇文章把 Linux 文件权限这套模型掰开揉碎讲清楚,包括很多人用了很多年也没完全理解的特殊权限位。 ...

2023-03-05 · 3 min · zy