Linux引导项损坏可修复,表现为黑屏、grub rescue>、error: unknown filesystem等,本质是引导链断裂;需先确认BIOS/UEFI模式,再用Live USB挂载原系统、chroot后重装GRUB并更新配置,必要时补全/boot内核与initramfs文件。

Linux 引导项损坏通常表现为开机卡在黑屏、grub rescue> 提示符、error: unknown filesystem 或直接跳过 GRUB 菜单进入 BIOS。这类问题本质是引导链断裂——可能是 GRUB 配置丢失、核心映像未写入磁盘、EFI 分区未挂载,或 /boot 下关键文件(如内核、initramfs、grub.cfg)缺失。修复不需重装系统,重点在于恢复引导逻辑链。
一、先确认启动模式(BIOS 还是 UEFI)
运行 ls /sys/firmware/efi/efivars:
- 若提示 No such file or directory → 当前是 BIOS + MBR 模式;
- 若目录存在 → 是 UEFI 模式,必须挂载 EFI 系统分区(ESP),否则
grub-install会失败。
⚠️ 错误示例:UEFI 系统没挂载
/boot/efi就执行grub-install,命令看似成功,但重启仍无法引导。
二、用 Live USB 进入系统并挂载原环境
- 启动 Live 环境(Ubuntu/CentOS/Debian 均可),打开终端;
- 查分区:
sudo fdisk -l或lsblk -f,找出根分区(如/dev/sda2)、独立/boot分区(如有,如/dev/sda1)、EFI 分区(FAT32,标有EFI System,如/dev/sda1); - 挂载根分区:
sudo mount /dev/sda2 /mnt; - 若有独立
/boot:sudo mount /dev/sda1 /mnt/boot; - 若为 UEFI:
sudo mkdir -p /mnt/boot/efi && sudo mount /dev/sda1 /mnt/boot/efi(请替换为实际 ESP 分区); - 绑定虚拟文件系统:
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo mount --bind /run /mnt/run # 部分发行版需要
三、chroot 后重装 GRUB 并重建配置
执行 sudo chroot /mnt 进入原系统环境:
-
BIOS 系统:
grub-install /dev/sda # 注意是磁盘设备(/dev/sda),不是分区(/dev/sda1) grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL/CentOS/Fedora # 或 update-grub # Debian/Ubuntu
-
UEFI 系统:
grub-install --target=x86_64-efi \ --efi-directory=/boot/efi \ --bootloader-id=centos \ # 可改为 ubuntu、fedora 等,保持一致即可 --recheck grub2-mkconfig -o /boot/grub2/grub.cfg
✅ 成功标志:无报错;
/boot/grub2/grub.cfg文件存在且大小 >10KB;UEFI 模式下/boot/efi/EFI/centos/grubx64.efi(或对应名)存在。
四、/boot 文件缺失时补全内核与 initramfs
若 ls /boot 显示 vmlinuz-* 或 initramfs-* 缺失:
-
RHEL/CentOS 系统:
# 先挂载安装 ISO 到 /mnt/cdrom(假设光盘已插入) mount /dev/cdrom /mnt/cdrom rpm -ivh /mnt/cdrom/Packages/kernel-*.rpm --force dracut -f # 重新生成当前内核的 initramfs
-
Debian/Ubuntu 系统:
apt install --reinstall linux-image-$(uname -r) linux-image-amd64 update-initramfs -u -k all
? 提示:
dracut -f或update-initramfs必须在 chroot 环境中运行,否则生成的镜像不在/boot下。
不复杂但容易忽略


















