个人笔记本电脑是固态硬盘 + 机械硬盘的组合,在磁盘管理中发现 Win10 系统安装在固态硬盘,但是 EFI 分区却安装在了机械硬盘,即启动时主板 UEFI 固件会先在机械硬盘找到 EFI 分区,EFI 引导程序再找到固态硬盘中的 Win10 进行启动,当机械硬盘移除或是出现故障的时候系统就会无法启动,因此考虑将 EFI 分区迁移到固态硬盘中。

准备工作

  1. 在磁盘管理中找到系统所在分区,右键压缩卷,大小需要大于原机械硬盘中 EFI 分区,此时固态硬盘中将出现一个未分配空间,这是之后安装 EFI 分区的位置。
  2. 准备一个U盘创建 Win10 安装介质,进入 下载 Windows 10 并按照官方流程进行。

EFI 分区迁移

  1. 插入U盘重启电脑,开机时不停按 F2(取决于电脑品牌)进入 BIOS,选择从U盘启动,会弹出窗口提示更新 Win10 系统,忽略此界面。按 SHIFT + F10 进入命令行。
  2. 输入 diskpart 进入 DISKPART 命令。
  3. 输入 list disk 列出磁盘,此时可以看到固态硬盘,机械硬盘和U盘,并且固态硬盘的可用空间应该是大于我们最开始压缩出来的空间。
  4. 输入 select disk # 选择需要安装 EFI 分区的磁盘,这里也就是固态硬盘。注意:# 替换成磁盘编号,如 0/1/2。
  5. 输入 create partition efi size = 400 创建 EFI 分区,这里的 400 是最开始压缩出来的空间。
  6. 输入 format quick fs=fat32 进行格式化。
  7. 输入 assign letter = s 分配盘符,这里用 s 是为了避免和已有的盘符重复。
  8. 输入 list partition 列出固态硬盘的所有分区,此时可以看到出现了一个 400 MB 的系统分区。
  9. 输入 list volume 查看盘符,找到系统盘盘符(有可能不是 C)和 EFI 分区盘符(即我们分配的 S)。
  10. 输入 exit 退出 DISKPART 命令。
  11. 输入 bcdboot X:\Windows /s S: 将系统引导信息复制到 EFI 分区里,提示已成功创建启动文件则大功告成。注意:X 替换成系统盘盘符,S 代表我们上面分配的 EFI 分区盘符;Windows 前必须使用反斜杠否则会报错!
  12. 关闭命令行,拔掉U盘并重启,进入 BIOS 将固态硬盘设置为第一启动设备。
  13. 进入磁盘管理中可以看到,固态硬盘中已经有了新建的 EFI 分区,机械硬盘中的 EFI 分区并未删除,但不会对系统启动造成影响了。

删除原机械硬盘中 EFI 分区(可选)

直接在磁盘管理中是无法删除 EFI 分区的,使用 DISKPART 命令 即可删除。

  1. Win + R 输入 cmd 进入命令行。
  2. 输入 diskpart 进入 DISKPART 命令。
  3. 输入 list disk 列出磁盘,此时可以看到固态硬盘和机械硬盘。
  4. 输入 select disk # 选择需要删除的 EFI 分区所在的磁盘,这里也就是机械硬盘。注意:# 替换成磁盘编号,如 0/1/2。
  5. 输入 list partition 列出机械硬盘的所有分区,此时可以看到存在一个需要删除的 EFI 分区(可根据大小和类型判断)。
  6. 输入 select partition # 选择上述需要删除的 EFI 分区。注意:# 替换成分区编号,如 1/2/3。
  7. 输入 SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 将分区设置为基本数据分区。
  8. 此时打开磁盘管理会发现之前的机械硬盘上的 EFI 分区已经变成了基本数据分区,右键即可删除卷。

此方式同样可用于双系统情况下删除 Ubuntu 系统的 EFI 分区。

参考