Total Pageviews

Monday, 15 June 2026

如何恢复 Windows的EFI 分区

 找到了解决方案,方法倒是不是特别难,用到了一个 Windows 的bcdboot命令(https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/bcdboot-command-line-options-techref-di )

操作流程

第一步,准备一个 Windows 的安装介质,推荐使用Ventoy- https://www.ventoy.net/,开源免费,甚至不用格式化 U 盘

第二步,boot 进 live 安装系统,依次点击Repair Computer > Troubleshoot > Advanced > Command Prompt

第三步,进入命令提示符后,使用以下命令显示分区:

$ diskpart // 运行 diskpart
diskpart> list disk  // 列出所有硬盘,每个硬盘都有一个编号(e.g. 0/1/2)
diskpart> sel disk <disk_id> // 选择 Windows 系统 EFI 分区所在的硬盘,如果不存在,则需要手动创建,具体下方`UPDATED`的详细说明
diskpart> list partition // 列出所有分区
diskpart> sel partition <id> // 选择 EFI 分区
diskpart> assign letter=F // 分配 EFI 一个新盘符
diskpart> exit //退出
$ bcdboot C:\Windows /s F: /f ALL // 创建所有 Windows boot files 到 F 盘
$ reboot //重启即可正常进入 Windows

额外操作

UPDATED:

最近因为某种情况,Windows 启动项又消失了,这次甚至连 EFI 分区都没有了,所以又折腾了很久,这里再更新一下。 如果出现 EFI 分区直接消失的情况,可以通过重建 EFI 分区来解决,以下是具体操作步骤:

// 创建 EFI 类型的新分区
diskpart> create partition efi size=100
// 格式化
diskpart> format quick fs=fat32 label="System"
//分配卷标
diskpart> assign letter=L
diskpart> exit
X:Resources> bcdboot C:\Windows /s F: /f UEFI

如果最后提示以下内容,说明成功创建:

Boot files successfully created.

此时退出 CMD,然后重启电脑,进入 BIOS,应该就能看到 Windows 的启动选项了。

p.s. 有的时候,这里分配给 Windows 的系统分区的 letter 可能不是C,你要自己确认一下,可以使用list partition命令来查看具体在哪个分区(一般都有 label,比如系统或者OS之类的),确认之后,再执行上面的bcdboot,否则会创建失败。
总结

总的来说,EFI 分区消失并不是什么太大问题,恢复起来也不是很麻烦,但是每次出现这个问题就很困扰,我到现在都不知道具体什么原因引起的,猜测应该是跟双系统有关。

No comments:

Post a Comment