/boot目录由固件和grub自动读取,含vmlinuz-(内核镜像)、initramfs-(初始内存盘)、/grub2/及/grub.cfg(自动生成),维护需用grub2-mkconfig或update-grub更新配置,grub2-install重装引导,清理旧内核须谨慎。

/boot 目录本身不直接“使用”,而是由固件(BIOS/UEFI)和引导加载器(如 GRUB2)在系统启动早期自动读取其中的文件。用户通常不需要手动执行/boot里的文件,但需理解其组成,并在必要时维护、重建或修复它们。
关键文件及其作用
vmlinuz-*:压缩的 Linux 内核镜像。固件不直接运行它,而是由 GRUB 加载进内存并启动。它是操作系统运行的基础,不能被替换为任意可执行文件。
initramfs-*(或 initrd.img-*):初始内存盘镜像。GRUB 将其加载到内存后,内核用它挂载真实根文件系统——比如解密 LUKS 分区、识别 RAID/LVM、加载 NVMe 或加密模块等。没有它,多数现代系统无法完成启动。
/grub2/(或 /grub/)目录:含 GRUB2 的核心模块(如 normal.mod、linux.mod)、字体、主题和配置脚本。UEFI 系统还会在 /efi/ 下存放 BOOTX64.EFI 或 BOOTAA64.EFI,这是 UEFI 固件直接调用的启动程序。
grub.cfg:GRUB 启动菜单的配置文件。它不是手写维护的,而是由 grub2-mkconfig 根据 /etc/default/grub 和 /etc/grub.d/ 下的脚本自动生成。手动修改易出错,应避免直接编辑。
常见维护操作
更新内核后,新 vmlinuz 和 initramfs 会自动放入 /boot,但 GRUB 菜单未必更新——此时需运行:
-
sudo grub2-mkconfig -o /boot/grub2/grub.cfg(RHEL/CentOS/Fedora) -
sudo update-grub(Debian/Ubuntu)
若 GRUB 主引导记录损坏(例如误刷 MBR 或更换硬盘),需重装引导程序:
-
sudo grub2-install /dev/sda(传统 BIOS,假设系统盘是 sda) -
sudo grub2-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=centos(UEFI 模式)
注意:grub2-install 不生成 grub.cfg,仅写入引导扇区或 EFI 可执行体;两者需配合使用。
哪些文件可以安全清理?
/boot 空间有限(建议 500MB 起),长期不清理易导致内核更新失败。可保留最新 1–2 个内核,删除旧版:
- 确认当前运行内核:
uname -r - 列出已安装内核:
rpm -q kernel(RHEL系)或dpkg -l | grep linux-image(Debian系) - 卸载旧内核:
sudo yum remove kernel-3.10.0-1127.el7或sudo apt autoremove
不要手动删 vmlinuz-*、initramfs-*、grub/ 或 efi/ 内容——除非你清楚自己在做什么并已备份。
误删或损坏后的基本恢复逻辑
系统无法启动 ≠ 数据丢失。只要 /(根)分区完好,就可通过救援环境修复:
- 用安装介质启动,进入 rescue 模式,执行
chroot /mnt/sysroot(或/mnt/sysimage)切换到原系统 - 重新安装内核包:
rpm -ivh /mnt/Packages/kernel-*.rpm --force(挂载光盘后) - 重装 GRUB 并重建配置:
grub2-install+grub2-mkconfig
整个过程不依赖图形界面,纯命令行即可完成。











