如何将 Windows Server 2022 的恢复分区(Recovery Partition)移动到 C 盘之前,恢复 C 盘容量调整功能。

请访问原文链接:https://sysin.org/blog/windows-10-recovery-partition/,查看最新版。原创作品,转载请保留出处。

作者:gc(at)sysin.org,主页:www.sysin.org

Windows Server 2022 磁盘分区新变化

在 Windows Server 2022 中,阿三再次调整了系统分区的容量,甚至将恢复分区移动了 C 盘(操作系统分区)之后,安装后是这样的:System Reserve 100M(如果使用 EFI 引导,则该 100M 为 EFI System Partition),C 盘后增加了一个 523M 的 Recovery partition(恢复分区),导致无法调节 C 盘容量。

在 Windows 11 中同样存在此问题,恢复分区的大小竟然变成了 644M。不得不佩服阿三的随性

解读:关于 Window 10 的恢复分区

说明:Windows Server 2016、2019 和 2022 皆为 Windows 10 Server,以下描述同样适用。

在 Windows 10 中,Windows 磁盘上可以有 Windows 恢复分区或计算机制造商 OEM 工厂恢复分区。

Windows 恢复分区允许您启动到 Windows 恢复环境 (WinRE) 以在出现问题时恢复您的计算机。

OEM 恢复分区允许您按特定键(通常为 HP 为 F9,为戴尔为 F12)将您的计算机恢复到出厂默认设置。此分区通常约为 12-18 GB,比 Windows 恢复分区大得多。

Windows 恢复环境 (Windows Recovery Environment,简称 WinRE) 是一种恢复环境,可以修复导致操作系统无法启动的常见问题。默认情况下,WinRE 预加载到 Windows 10 桌面版(家庭版、专业版、企业版和教育版)中。

WinRE 包括以下工具:

  • 自动修复和其他故障排除工具。有关详细信息,请参阅 Windows RE 故障排除功能

    • 系统还原
    • 启动修复
    • 卸载更新
    • 启动时的命令提示符
    • 系统映像恢复
    • UEFI 固件设置
    • 返回到以前的 Windows 版本
  • 按钮复位。此工具使您的用户能够快速修复自己的 PC,同时保留他们的数据和重要的自定义设置,而无需提前备份数据。有关详细信息,请参阅按钮重置概述

    • 刷新 Windows 10
    • 重置 Windows 10

在 Windows 10 Version 1909(包含)及以前的版本,只有一个 System Reserved 分区在最前面,包含了 WinRE,通常在 500M - 550M(早期的 Windows 版本该分区更小一点),这样的益处是可以直接在 “磁盘管理” 工具中直观的增加或者减少 C 盘容量,而无需借助第三方工具。

从 Windows 10 Version 2004(包含)开始(包括 Windows Server 2022,21H2),系统将在 C 盘后面自动创建一个 Recovery partition,该分区大小大约 520M - 530M 不等,巨硬阿三不讲究,容量大小也很随意,Windows 11 这个容量变成了 644M。System Reserved 分区将变为 100 M 仍然在最前面,负责系统引导(如果使用 EFI 引导,则该 100M 为 EFI System Partition )。这将导致再也无法直接调整 C 盘分区大小,即使借助第三方工具,操作步骤也是非常繁琐的。

所以我们需要在系统安装完毕立刻调整该 Recovery partition 的位置,将其划分到 C 盘(操作系统分区)之前,然后重建 Recovery partition。更加简单粗暴的方法是直接将其删除,也不用过于担心,可以借助 USB 或者 ISO(虚机)引导 Windows PE 来替代 WinRE 的恢复功能。

本文的目标是在 System Reserved 分区之后,C 盘(操作系统分区)之前,创建一个 550M 的恢复分区,并删除原有的恢复分区,恢复 C 盘可以自由调整大小的该有功能。

准备:备份数据和所需软件

  1. 请先进行数据备份

    如果这是你正在使用的电脑,请务必备份数据,虽然正确理解以下操作并没有风险,但是任何时候备份都是必要的。

  2. 专业分区工具

    本例使用 MiniTool Partition Wizard,类似的软件有 Acronis Disk DirectorParagon Partition Manager 等等,可以根据使用习惯选择,操作都是类似的。

  3. 系统自带工具

    在执行以下命令之前,您必须知道它们的作用。 请参阅 MS 的文档链接:diskpart, dism and reagentc

操作步骤

后面的步骤,我们分别用 MiniTool Partition Wizard 和(或) diskpart 命令进行操作,描述在前面的为建议操作方式。

以下操作同样适用于 Windows 11,只是因为阿三的随性,恢复分区的容量各不相同,请根据实际容量修改。

1. 创建一个新的 550M 的恢复分区

在 System Reserved 分区之后,C 盘(操作系统分区)之前,创建一个 550M 的恢复分区。创建一个分区系统自带工具都可以完成,但是要在这个指定位置创建,需要用到第三方工具。

之所以选择创建 550M 这个数字,一方面是与原有分区有说区别,另外这个数字也没有那么随意

如图,我们可以看到默认三个分区,右键点击 C 分区,选择 “Move/Resize”

拖拽滚动条,然后填写数字,确保结果如下(Apply,重启后生效):

2. 复制(克隆)分区

现在我们需要将原有的恢复分区复制(克隆)到新的恢复分区

点击 “Copy Partition Wizard” 开始

选择原有恢复分区

选择目标分区

确认

只有 523M,没有关系,我们 Extend Partition

结果如下

本例中,自动给 550M 的新恢复分区指派了盘符 E, 这里我们将其盘符更改为 N(new),请注意以下命令根据实际盘符修改。

替代方法:使用 diskpart

官方参考文档:Capture and apply Windows, system, and recovery partitions

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

    DISKPART> list disk
    DISKPART> select disk <the-number-of-disk> #默认一块磁盘这里为 0,即:select disk 0
    DISKPART> list partition
    DISKPART> select partition <the-number-of-current-recovery-partition> #这里一般是 3,即:select partition 3
    DISKPART> assign letter=O
  2. 从当前 recovery partition 中捕获镜像:

    Dism /Capture-Image /ImageFile:C:\recovery-partition.wim /CaptureDir:O:\ /Name:"Recovery"
  3. 将捕获的镜像应用到新的 recovery partition(上述定义 550M 新恢复分区的盘符为 N):

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

3. 使用 REAgentC 命令配置 WinRE 镜像

以下三条命令分别是:

  • 禁用 WinRE 镜像启动
  • 指定 WinRE 镜像的位置(这里盘符是 N)
  • 启用 WinRE 镜像启动
reagentc /disable
reagentc /setreimage /path N:\Recovery\WindowsRE
reagentc /enable

4. 隐藏新的恢复分区

使用 diskpart 命令,操作如下:

diskpart

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

  • For UEFI:

    DISKPART> select volume N
    DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"
    DISKPART> gpt attributes=0x8000000000000001
    DISKPART> remove
  • For BIOS:

    DISKPART> select volume N
    DISKPART> set id=27
    DISKPART> remove

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

使用 MiniTool Partition Wizard,右键点击 550M 的新的恢复分区,选择 “Change Letter” 修改值为 “None” 即可。

5. 删除原有恢复分区

使用 MiniTool Partition Wizard,右键点击原有的恢复分区,选择 “Delete” 即可。

或者使用 diskpart 命令,操作如下:

DISKPART> select volume O
DISKPART> delete partition override

6. 重启到 WinRE 验证结果

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

注意:如果是远程桌面连接,上述恢复页面显示空白,不可用。

如图所示,所有功能都可以正常工作。

本例是虚机下的示例,不同的硬件环境下功能可能有所差异。

7. 终于可以直接在磁盘工具直接调整磁盘大小

现在正常启动到系统,打开 “磁盘工具”,终于可以正常调整磁盘大小:"压缩卷" 和 "扩展卷"。

结语

巨硬阿三太...不讲究,我们搞了这么多复杂的操作,才恢复了盖茨时代正常的磁盘分区的功能,实在无语。。。。。。

巨硬阿三上任 8 年,一个控制面板没有修改好(设置和控制面板仍然混乱,麦德龙风格和经典风格分裂设计仍然没有解决),再难以企及盖茨时代巅峰,你还以为你是在用盖茨的 Windows 吗?今天的 Windows 全球市场份额已经从 95%+ 下降到 30% 左右,其他全部是 Unix-Like 系统的天下,说阿三沦为小众不为过。。。。。。

最新文章

  1. 物联网框架ServerSuperIO(SSIO)更新、以及增加宿主程序和配置工具,详细介绍
  2. Moving Average from Data Stream
  3. NodeJS 模块开发及发布详解
  4. lecture6-mini批量梯度训练及三个加速的方法
  5. android 读取SQLite android could not open the database in read/write mode错误
  6. mysql优化学习笔记
  7. angular filter
  8. iOS学习笔记---C语言第四天
  9. UVA 12436-Rip Van Winkle&#39;s Code(线段树的区间更新)
  10. opencv 在工业中的应用:圆孔定位
  11. careercup-数组和字符串1.2
  12. Swift - 滚动视图(UIScrollView)的用法
  13. egametang框架服务端运行流程
  14. C语言中的字符串处理库函数介绍与实现
  15. springboot 前后端分离开发 从零到整(一、环境的搭建)
  16. pyspark dataframe 常用操作
  17. [Selenium.2.Testing.Tools.Beginners.Guide]读书笔记
  18. 使用SQL手动创建数据库并创建一个具有该数据库所有权限的用户
  19. c++野(wild)指针与悬空(dangling)指针
  20. 【android】android 常用adb 和 adb shell 命令

热门文章

  1. CF474D Flowers 题解
  2. 三层交换机和VLAN
  3. vue的table切换
  4. 线程休眠_sleep
  5. Python脚本文件中使用中文
  6. Ubuntu Server安装telnet服务时"Unable to locate package telnetd"解决方法
  7. filter,interceptor,controllerAdvice,aspect,controller执行顺序
  8. LuoguP3167通配符匹配
  9. MySQL:互联网公司常用分库分表方案汇总!
  10. 异步编程之EAP