在 Windows Server 2022 中,再次调整了系统分区的容量,甚至将恢复分区移动了 C 盘(操作系统分区)之后;

安装后是这样的:

  • System Reserve 100M(如果使用 EFI 引导,则该 100M 为 EFI System Partition),
  • C 盘后增加了一个 616M 的Recovery partition(恢复分区),导致无法调节 C 盘容量。

测试发现,21H2以上版本均有踩坑;

本文介绍采用DISKPART方式

【开始】-【运行】-【cmd】以管理员打开DOS命令行工具,执行diskpart以打开磁盘分区管理工具

1、使用diskpart给当前recovery partition分配一个盘符,这里定义为 O(original)

DISKPART> list disk

DISKPART> select disk #默认一块磁盘这里为0,即:select disk0

DISKPART> list partition

DISKPART> select partition #即:select partition4

DISKPART> assign letter=O

2、从当前recovery partition中捕获镜像:

Dism /Capture-Image /ImageFile:C:\recovery-partition.wim /CaptureDir:O:\ /Name:”Recovery”

3、删除recovery partition

DISKPART> select volume O

DISKPART> delete partition override

4、扩展C盘空间,需预留616M 的空间,用来新建recovery partition;

5、将捕获的镜像应用到新的recovery partition(上述定义 616MB 新恢复分区的盘符为 N):

Dism /Apply-Image /ImageFile:C:\recovery-partition.wim /Index:1/ApplyDir:N:\

6、使用 REAgentC 命令配置 WinRE 镜像

reagentc /disable #禁用 WinRE 镜像启动

reagentc /setreimage /path N:\Recovery\WindowsRE #指定 WinRE 镜像的位置(这里盘符是 N)

reagentc /enable #启用 WinRE 镜像启动

7、隐藏新的恢复分区

分别针对 UEFI 和 BIOS 固件不同的操作方式来隐藏原有 recovery partition:

For UEFI

DISKPART> select volume N

DISKPART>setid=”de94bba4-06d1-4d40-a16a-bfd50179d6ac”

DISKPART> gpt attributes=0x8000000000000001

DISKPART> remove

For BIOS

DISKPART>setid=27

DISKPART> remove

参考链接:

捕获和应用 Windows 分区、系统分区与恢复分区 | Microsoft Learn

8、重启后 N 分区又自动出现?

DISKPART 下执行 remove

修改DVD 盘符为 N 后再次重启;

9、验证 Windows RE 配置设置是否正确

【开始】-【运行】-【cmd】以管理员打开DOS命令行工具

执行 reagentc /info

  • Windows RE 状态已启用。
  • Windows RE 位置位于正确的分区上。
  • WinRE 的 BCD GUID 条目与文件reagent.xml 中的WinRE GUID 条目相同。在基于 BIOS 的 PC 上,该文件位于系统分区上,位于\Recovery\\.在基于 UEFI 的电脑上,此文件位于 Windows RE Tools 分区上,位于\Recovery\WindowsRE\.
  • WinRE 位于\Recovery\WindowsRE目录中

参考链接:

Deploy Windows RE | Microsoft Learn

10、重启到 WinRE 验证结果

设置 -> 更新和安全 -> 恢复,点击 “立即重新启动”,即可重启到 WinRE。