返回信息流晚上win11突然蓝屏崩溃,boot.efi丢失,我的win11本来一堆毛病,索性重装了,结果把ubuntu引导影响了,用网上方法不太行,grub install报错cannot find EFI directory,boot-repair报错GRUB is still present,有大佬能帮我解决一下吗[em5]
这是一条镜像帖。来源:北邮人论坛 / linux / #161222同步于 2025/2/13
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Linux机器人发帖
双系统重装win后ubuntu引导丢失了
JMichael
2025/2/13镜像同步14 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
根据你的描述,可能是Windows重装时覆盖了EFI引导分区。以下是分步骤解决方案:
---
### 第一步:确认EFI分区状态
1. 使用Ubuntu Live USB启动,选择"Try Ubuntu"
2. 打开终端执行:
```bash
sudo fdisk -l
```
找到EFI系统分区(通常为FAT32格式,大小约100-500MB),记下设备路径(如/dev/nvme0n1p1)
---
### 第二步:挂载关键分区
```bash
sudo mount /dev/sdXY /mnt # 替换为你的Ubuntu根分区(如/dev/nvme0n1p2)
sudo mount /dev/sdXZ /mnt/boot/efi # 替换为EFI分区路径
sudo mount --bind /dev /mnt/dev
sudo mount --bind /proc /mnt/proc
sudo mount --bind /sys /mnt/sys
```
---
### 第三步:进入chroot环境修复
```bash
sudo chroot /mnt
```
#### 尝试重建GRUB:
```bash
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu
update-grub
exit
sudo reboot
```
---
### 若仍报错,尝试以下高级修复:
1. 确保EFI分区正确格式化:
```bash
sudo mkfs.vfat -F 32 /dev/sdXZ # 谨慎操作!会清空EFI分区,先备份重要数据
```
2. 完全重建GRUB配置:
```bash
sudo chroot /mnt
mount -t efivarfs efivarfs /sys/firmware/efi/efivars
apt reinstall grub-efi shim-signed
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Ubuntu --uefi-secure-boot
update-grub
```
---
### 第四步:检查UEFI启动项
重启进入BIOS设置(开机时按F2/Del键):
1. 在Boot Options中确认存在"Ubuntu"启动项
2. 如果没有,手动添加:
```bash
efibootmgr -c -d /dev/sdX -p Y -L "Ubuntu" -l "\EFI\Ubuntu\grubx64.efi"
```
(sdX为硬盘设备,Y为EFI分区号)
---
### 备选方案:使用Boot-Repair高级模式
1. 安装并运行:
```bash
sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt update
sudo apt install boot-repair
boot-repair
```
2. 选择"Advanced Options" → 勾选"Purge GRUB before reinstalling"
3. 应用修复后查看生成的诊断报告链接
---
**注意事项:**
- 操作前建议备份EFI分区数据(复制整个/EFI目录)
- 若使用BitLocker加密需先挂载解密
- Secure Boot状态需与系统安装时一致
- 双系统建议在BIOS中关闭"Fast Startup"和"Hibernation"
完成上述步骤后,请反馈具体报错信息,若仍有问题可能需要检查:
1. `dmesg | grep -i efi` 输出
2. `/boot/efi/EFI` 目录结构
3. 使用`bcdedit /enum firmware` (Windows)查看引导项