适用于系统文件仍在,但EFI 引导区损坏导致无法启动、自动修复失败、bootrec 扫描不到 Windows 的情况。
以下步骤已被实际验证有效。
#️⃣1. 制作恢复 U 盘(Linux 环境)
① 下载微软恢复镜像
选择设备型号(如 Surface Laptop 2)
输入序列号
下载 ZIP(约 7.8GB)
② 在 Linux 中将 U 盘格式化为 FAT32(最重要步骤)
先确认你的 U 盘设备名称,例如:
lsblk
假设是 /dev/sda(⚠ 注意:千万不要选错)
格式化为 FAT32:
sudo umount /dev/sda*
sudo mkfs.fat -F 32 /dev/sda
③ 挂载 U 盘
sudo mkdir -p /mnt/usb
sudo mount /dev/sda /mnt/usb
④ 解压微软恢复镜像
unzip Surface_Recovery.zip -d surf
⑤ 将恢复文件复制到 U 盘(必须复制内容,而不是文件夹)
sudo cp -r surf/* /mnt/usb/
⑥ 卸载 U 盘
sudo umount /mnt/usb
#️⃣2. 从 U 盘启动进入恢复界面
- 插入 U 盘
- 长按 音量 –
- 按电源
- 松开电源但继续按住音量 –
- 进入 Windows 蓝色恢复界面
#️⃣3. 打开命令提示符
疑难解答 → 高级选项 → 命令提示符
#️⃣4. 可选:修复系统文件(推荐)
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
dism /image:C:\ /cleanup-image /restorehealth
#️⃣5. 运行 bootrec(如果扫描到 0 个 Windows,继续下一步)
bootrec /fixmbr
bootrec /fixboot
bootsect /nt60 sys
bootrec /fixboot
bootrec /scanos
#️⃣6. 手动重建 EFI 引导分区(真正解决问题的步骤)
① 打开 diskpart
diskpart
list volume
记住EFI 分区编号:
通常是 100MB FAT32(如 Volume 1)
② 选择 EFI 分区并挂载为 Z:
sel volume 1
assign letter=Z
exit
③ 清空 EFI 目录并重建
cd /d Z:\
rmdir /S /Q Z:\EFI
mkdir Z:\EFI
④ 将 Windows 引导文件写入 EFI(最关键一步)
bcdboot C:\Windows /s Z: /f UEFI
看到:
启动文件创建成功
代表修复成功。
#️⃣7. 重启
exit
选择:
Continue → Continue to Windows
系统即可恢复正常启动。
🟦 总结(极简版流程)
# Linux 制作恢复盘
sudo umount /dev/sdX*
sudo mkfs.fat -F 32 /dev/sdX
sudo mount /dev/sdX /mnt/usb
unzip Recovery.zip -d surf
sudo cp -r surf/* /mnt/usb/
sudo umount /mnt/usb
# Windows 修复:
sfc /scannow /offbootdir=C:\ /offwindir=C:\Windows
dism /image:C:\ /cleanup-image /restorehealth
bootrec /fixmbr
bootrec /fixboot
bootsect /nt60 sys
bootrec /fixboot
bootrec /scanos
diskpart
list volume
sel volume 1
assign letter=Z
exit
cd /d Z:\
rmdir /S /Q Z:\EFI
mkdir Z:\EFI
bcdboot C:\Windows /s Z: /f UEFI