This commit is contained in:
zj
2026-02-12 01:37:27 +08:00
parent 6a08d19fd8
commit add8a9643a
3 changed files with 242 additions and 1 deletions

View File

@@ -65,7 +65,33 @@ BootRepairTool/
- Arch/Manjaro: `pacman -S linux`
3. **重新生成 initramfs** - 使用 dracut/mkinitcpio/update-initramfs
### 5. GRUB 修复 (`backend.py:chroot_and_repair_grub`)
### 5. BLS 配置恢复 (`backend.py:restore_bls_entries`)
**NEW v2.2**: 恢复 Boot Loader Specification (BLS) 启动条目
#### 适用系统
- CentOS/RHEL 8+
- Fedora 30+
- Rocky Linux / AlmaLinux
#### 问题场景
`/boot` 分区被清空时BLS 配置文件(`/boot/loader/entries/*.conf`)会丢失,导致 GRUB 菜单为空(`blscfg` 命令加载不到条目)。
#### 恢复方法
1. **使用 kernel-install** - 调用 `kernel-install add` 重新生成 BLS 条目
2. **手动创建 BLS 文件** - 从 `/etc/os-release` 读取系统信息,生成标准格式的 `.conf` 文件
3. **重新生成 grub.cfg** - 确保 BLS 支持配置正确
#### BLS 文件格式示例
```
title CentOS Linux (4.18.0-348.el8.x86_64) 8
version 4.18.0-348.el8.x86_64
linux /vmlinuz-4.18.0-348.el8.x86_64
initrd /initramfs-4.18.0-348.el8.x86_64.img
options root=/dev/mapper/cl-root ro crashkernel=auto rd.lvm.lv=cl/root rhgb quiet
```
### 6. GRUB 修复 (`backend.py:chroot_and_repair_grub`)
#### BIOS 模式
- `grub-install --target=i386-pc --recheck --force /dev/sdX`