调整 ESP 分区和重建 Windows 引导

这个页面解决什么问题?

解决安装目标盘的 ESP 分区不够时提示的各种错误,以及如何科学地修复 Windows 引导。

我需要拥有什么工具/掌握什么前置知识?

需要你对硬盘分区的概念、Windows 引导的基本方式、BIOS 设定有基础的理解。

如果你当前有另一个操作系统,请确认该系统使用 UEFI 引导。并请确认接下来操作涉及的硬盘,已经是 GUID 分区表(GPT)。通常情况下,如果你在笔记本出厂后没有请半吊子人员重装过系统,这两项要求已经默认满足。

你可能需要使用 DiskGenius 磁盘分区管理应用,以及 Windows PE 维护环境,如 WePE.

Tips: 分区操作有风险,请看清楚了再点。万一你少看了几个字或者手抖点错了什么按键导致数据丢失,我是不承担任何责任的哦。

让我们先弄清楚你将要安装 macOS 系统到哪块硬盘

通常的安装场景有如下几种:

  1. 将一块硬盘全部用于安装 macOS 系统,不保留任何数据。

  2. 在一块数据盘的部分空间分区用于安装 macOS 系统,保留原有数据和双系统引导。

  3. 在一块已经装有 Windows(或其它操作系统)的硬盘上安装 macOS 系统, 保留原有数据和双系统引导.

对于第一种情况

你可以直接在 macOS 下选中整块硬盘, 然后抹掉为 APFS 格式,不需要创建 ESP 分区等。如图所示:

QQ20190919-192735.png

对于第二种情况

你可以使用 DiskGenius,在你要安装 macOS 的空闲位置分出两个区,其中一个区需要为 FAT16/FAT32 格式,且大小大于 200MB 即可, 如下面两张图所示:

分区前:

part1.png

分区后:

2.png

对于第三种情况

如果你的电脑已经有 Windows 系统且预留的 ESP 分区小于 200MB,那么你需要删除其它分区来扩大 ESP 分区,或重建 ESP 分区.

这一步需要在 Windows PE 环境下操作,请首先刻录好 Windows PE U盘。我们只讨论已有系统为 Windows 的情形。如果的已有的系统是 Linux,那么我相信你的技术水平可以自己解决这样的问题。

首先看看你的目标硬盘是否存在 MSR 分区(MS Recovery),如下图所示:

QQ20190919-160506.png

如果存在这个 MSR 分区,那么删除该分区,然后将释放出来的空间合并到 ESP 分区即可. 这样操作完 ESP 分区的空间一定会大于 200M.

那么你可能会问,删除这个分区有什么影响吗?删除该分区之后会导致 Windows 自带的 RE 环境失效,但是我想你也用不到,Windows 系统挂了的时候,多数人会选择使用 PE 修复.

如果不存在 MSR 分区,那么你需要将已有的 ESP 分区删除,然后再磁盘末尾空闲空间重建一个 200M 以上的 ESP 分区(你可以从你准备安装 macOS 的那部分空间中划分出来一些),操作完成后你的分区结构会类似下图(Windows 在前,200m+ 的 ESP 分区和 macOS 安装分区在后)。然后按下文的指引重建引导。

QQ20190919-193029.png

重建 Windows UEFI 引导

在 PE 下找到你的 Windows 安装分区和 ESP 分区的盘符,确保这两个分区在文件资源管理器中可见(如果不可见请为 DiskGenius 工具为不可见的分区分配盘符). 下面我们假设 Windows 安装分区盘符为 C:,ESP 分区盘符 V: , 如图所示。

QQ20190919-193409.png

打开命令提示符(cmd),执行以下命令:bcdboot 你的系统盘盘符:\Windows /s 你的ESP分区盘符 /f uefi /l zh-cn,如:

bcdboot C:\Windows /s V: /f uefi /l zh-cn
QQ20190919-193608.png

将 C: 和 V: 分别替换为你的盘符即可。

Tips: 当然你也可以使用 PE 下的图形化工具修复引导。