Kali GRUB 修复
Kali Linux GRUB 修复完整指南
1. 进入 Kali Live 环境
-
使用 Kali U 盘启动
- 插入 Kali U 盘,重启电脑。
- 进入 BIOS/UEFI(按 F2 / F12 / ESC / DEL)。
- 选择 UEFI: [你的 U 盘] 作为启动项。
- 在 Kali 启动菜单中,选择:
Live System
- 进入 Kali Live 桌面。
-
检查 UEFI 是否正常
- 打开终端(Ctrl + Alt + T),输入:
ls /sys/firmware/efi
- 如果有输出,则表示系统在 UEFI 模式下启动,否则请返回 BIOS 设置,确保启用了 UEFI 模式。
- 打开终端(Ctrl + Alt + T),输入:
2. 挂载系统分区
-
查找 Kali 根分区
sudo fdisk -l
- 找到根分区(通常是
/dev/sda2
或/dev/nvme0n1p2
)。
- 找到根分区(通常是
-
挂载根分区
sudo mount /dev/sda2 /mnt
-
挂载 EFI 分区(如果 EFI 分区是
/dev/sda1
)sudo mount /dev/sda1 /mnt/boot/efi
-
挂载必要的系统目录
sudo mount --bind /dev /mnt/dev sudo mount --bind /proc /mnt/proc sudo mount --bind /sys /mnt/sys sudo mount -t efivarfs efivarfs /mnt/sys/firmware/efi/efivars
3. 进入 Chroot 环境
sudo chroot /mnt
4. 修复 GRUB
-
重新安装 GRUB
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Kali --recheck
-
重新生成 GRUB 配置
sudo update-grub
-
检查 GRUB EFI 变量支持(如果
grub-install
失败)sudo efibootmgr
- 如果提示
EFI variables are not supported on this system
,请确保 U 盘是 UEFI 启动的。
- 如果提示
-
如果
grub-install
失败,手动复制 GRUB 文件sudo mkdir -p /boot/efi/EFI/Kali sudo cp /usr/lib/grub/x86_64-efi/* /boot/efi/EFI/Kali/
-
手动创建 GRUB 配置文件
sudo nano /boot/grub/grub.cfg
添加以下内容:
set timeout=5 set default=0 menuentry "Kali Linux" { set root=(hd0,gpt2) linux /boot/vmlinuz-$(ls /boot | grep vmlinuz) root=/dev/sda2 ro quiet splash initrd /boot/initrd.img-$(ls /boot | grep initrd) }
- 注意:
(hd0,gpt2)
需要根据实际情况修改,确保 root=/dev/sda2 是你的 Kali 根分区。
- 注意:
-
手动创建 EFI 启动项(如果
efibootmgr
失败)sudo efibootmgr --create --disk /dev/sda --part 1 --loader /EFI/Kali/grubx64.efi --label "Kali Linux" --unicode
- 如果
efibootmgr
仍然失败,尝试 Windows 修复(见 5.2)。
- 如果
5. 退出并重启
exit
sudo umount -R /mnt
sudo reboot
- 拔掉 U 盘,尝试启动 Kali。
6. 其他修复方法
6.1 使用 boot-repair
(推荐)
如果 grub-install
仍然失败,可以尝试自动修复:
sudo apt update
sudo apt install boot-repair -y
boot-repair
然后选择 Recommended Repair,等待修复完成后重启。
6.2 通过 Windows 修复 EFI
如果你有 Windows 双系统,进入 Windows,打开管理员命令行(cmd),执行:
bcdedit /set {bootmgr} path \EFI\Kali\grubx64.efi
然后重启。
6.3 通过 UEFI Shell 手动引导 Kali
如果 efibootmgr
失败,进入 BIOS,找到 UEFI Shell
,执行:
FS0:
cd EFI\Kali
grubx64.efi
7. 总结
- 确保 Kali U 盘以 UEFI 模式启动(
ls /sys/firmware/efi
)。 - 正确挂载 EFI 分区(通常是
/dev/sda1
)。 - 使用
grub-install
重新安装 GRUB,如果失败,尝试手动复制 GRUB EFI 文件。 - 如果
efibootmgr
失败,可使用 Windows 或 UEFI Shell 进行修复。 - 最后,使用
boot-repair
进行自动修复(推荐)。
如果仍然无法启动,请提供以下命令的输出:
sudo efibootmgr -v
ls /mnt/boot/efi/EFI/
fdisk -l
这样可以更准确地分析问题。
Kali GRUB 修复Kali GRUB 修复