个人笔记本电脑是固态硬盘 + 机械硬盘的组合,在磁盘管理中发现 Win10 系统安装在固态硬盘,但是 EFI 分区却安装在了机械硬盘,即启动时主板 UEFI 固件会先在机械硬盘找到 EFI 分区,EFI 引导程序再找到固态硬盘中的 Win10 进行启动,当机械硬盘移除或是出现故障的时候系统就会无法启动,因此考虑将 EFI 分区迁移到固态硬盘中。
准备工作
- 在磁盘管理中找到系统所在分区,右键压缩卷,大小需要大于原机械硬盘中 EFI 分区,此时固态硬盘中将出现一个未分配空间,这是之后安装 EFI 分区的位置。
- 准备一个U盘创建 Win10 安装介质,进入 下载 Windows 10 并按照官方流程进行。
EFI 分区迁移
- 插入U盘重启电脑,开机时不停按
F2
(取决于电脑品牌)进入 BIOS,选择从U盘启动,会弹出窗口提示更新 Win10 系统,忽略此界面。按SHIFT + F10
进入命令行。 - 输入
diskpart
进入 DISKPART 命令。 - 输入
list disk
列出磁盘,此时可以看到固态硬盘,机械硬盘和U盘,并且固态硬盘的可用空间应该是大于我们最开始压缩出来的空间。 - 输入
select disk #
选择需要安装 EFI 分区的磁盘,这里也就是固态硬盘。注意:# 替换成磁盘编号,如 0/1/2。 - 输入
create partition efi size = 400
创建 EFI 分区,这里的 400 是最开始压缩出来的空间。 - 输入
format quick fs=fat32
进行格式化。 - 输入
assign letter = s
分配盘符,这里用 s 是为了避免和已有的盘符重复。 - 输入
list partition
列出固态硬盘的所有分区,此时可以看到出现了一个 400 MB 的系统分区。 - 输入
list volume
查看盘符,找到系统盘盘符(有可能不是 C)和 EFI 分区盘符(即我们分配的 S)。 - 输入
exit
退出 DISKPART 命令。 - 输入
bcdboot X:\Windows /s S:
将系统引导信息复制到 EFI 分区里,提示已成功创建启动文件则大功告成。注意:X 替换成系统盘盘符,S 代表我们上面分配的 EFI 分区盘符;Windows 前必须使用反斜杠否则会报错! - 关闭命令行,拔掉U盘并重启,进入 BIOS 将固态硬盘设置为第一启动设备。
- 进入磁盘管理中可以看到,固态硬盘中已经有了新建的 EFI 分区,机械硬盘中的 EFI 分区并未删除,但不会对系统启动造成影响了。
删除原机械硬盘中 EFI 分区(可选)
直接在磁盘管理中是无法删除 EFI 分区的,使用 DISKPART 命令 即可删除。
Win + R
输入cmd
进入命令行。- 输入
diskpart
进入 DISKPART 命令。 - 输入
list disk
列出磁盘,此时可以看到固态硬盘和机械硬盘。 - 输入
select disk #
选择需要删除的 EFI 分区所在的磁盘,这里也就是机械硬盘。注意:# 替换成磁盘编号,如 0/1/2。 - 输入
list partition
列出机械硬盘的所有分区,此时可以看到存在一个需要删除的 EFI 分区(可根据大小和类型判断)。 - 输入
select partition #
选择上述需要删除的 EFI 分区。注意:# 替换成分区编号,如 1/2/3。 - 输入
SET ID=ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
将分区设置为基本数据分区。 - 此时打开磁盘管理会发现之前的机械硬盘上的 EFI 分区已经变成了基本数据分区,右键即可删除卷。
此方式同样可用于双系统情况下删除 Ubuntu 系统的 EFI 分区。