用于安全地将 Windows 恢复环境 (WinRE) 移动/重新创建到新的恢复分区的 PowerShell 脚本。
关键词: WinRE Windows Recovery Recovery Partition reagentc KB5034441 KB5028997 CVE-2024-20666 BitLocker Windows Update Fix Partition Resize GPT UEFI
此脚本有助于修复与 WinRE 分区相关的常见 Windows 更新错误:
| 🇹🇷 土耳其语 | 🇬🇧 英语 |
|---|---|
| 在运行此脚本之前,请务必进行完整系统备份! 磁盘/分区操作可能导致不可逆的数据丢失。 | 运行此脚本前请进行完整系统备份! 磁盘/分区操作可能导致不可逆的数据丢失。 |
Winre-Fix.ps1 是一个 PowerShell 脚本,可将 Windows 恢复环境 (WinRE) 组件安全地移动/重新创建到新的恢复分区。
-WhatIf 运行模拟。| 参数 | 说明 |
|---|---|
-WhatIf | 在不进行实际更改的情况下模拟步骤(安全测试模式) |
-Force | 无需确认即可执行所有步骤 + 忽略最小空间警告 |
-Verbose | 用于详细输出/日志的 verbose 模式 |
1. 预检查:磁盘 0 上是否有"Unallocated"(未分配)空间?
├─ 无 → 错误:"No unallocated space found" → 退出
├─ < 1.2 GB → 警告,需要 -Force
└─ >= 1.2 GB → OK,继续
↓
2. 请求备份确认(必须输入 YES,使用 -Force/-WhatIf 可跳过)
↓
3. 查找恢复分区(按 GPT 类型扫描所有分区)
├─ 未找到 → 错误 → 退出
└─ 已找到 → OK,继续
↓
4. 分区验证(大小必须 < 10 GB)
├─ 过大 → 错误:"Too large, might be Windows!" → 退出
└─ OK → 继续
↓
5. 禁用 WinRE(reagentc /disable)
↓
6. 删除旧的恢复分区
↓
7. 扩展 C: 驱动器(保留 1 GB 空间)
↓
8. 创建新的恢复分区 + 格式化为 NTFS
↓
9. 设置 GPT 类型 + 隐藏属性(diskpart)
↓
10. 启用 WinRE(reagentc /enable)
↓
完成!
# 1. 模拟(安全测试)
.\Winre-Fix.ps1 -WhatIf -Verbose
# 2. 正常运行(要求确认)
.\Winre-Fix.ps1
# 3. 自动运行(无需确认)
.\Winre-Fix.ps1 -Force
C:\temp\WinRE-Fix-Log.txtWinre-Fix.ps1 是一个 PowerShell 脚本,可将 Windows 恢复环境 (WinRE) 安全地移动/重新创建到新的恢复分区。
-WhatIf 运行以进行模拟。| 参数 | 说明 |
|---|---|
-WhatIf | 在不做任何更改的情况下模拟步骤(安全测试模式) |
-Force | 跳过确认提示 + 覆盖最小空间警告 |
-Verbose | 启用详细输出/日志记录 |
1. 预检查:磁盘 0 上是否有"Unallocated"空间?
├─ 无 → 错误:"No unallocated space found" → 退出
├─ < 1.2 GB → 警告,需要 -Force
└─ >= 1.2 GB → OK,继续
↓
2. 备份确认(必须输入 YES,使用 -Force/-WhatIf 可跳过)
↓
3. 查找恢复分区(按 GPT 类型扫描所有分区)
├─ 未找到 → 错误 → 退出
└─ 已找到 → OK,继续
↓
4. 分区验证(大小必须 < 10 GB)
├─ 过大 → 错误:"Might be Windows drive!" → 退出
└─ OK → 继续
↓
5. 禁用 WinRE(reagentc /disable)
↓
6. 删除旧的恢复分区
↓
7. 扩展 C: 驱动器(保留 1 GB)
↓
8. 创建新的恢复分区 + 格式化为 NTFS
↓
9. 设置 GPT 类型 + 隐藏属性(diskpart)
↓
10. 启用 WinRE(reagentc /enable)
↓
完成!
# 1. 模拟(安全测试)
.\Winre-Fix.ps1 -WhatIf -Verbose
# 2. 正常运行(要求确认)
.\Winre-Fix.ps1
# 3. 自动运行(无需确认)
.\Winre-Fix.ps1 -Force
C:\temp\WinRE-Fix-Log.txtMIT 许可证 - 使用风险自负。
专为在 Windows 系统上安全地管理 WinRE 分区而创建。
| 检查项 | 说明 |
|---|
| 🔒 管理员权限 | 如果未以管理员身份运行,脚本将退出 |
| 💾 未分配空间 | 在任何更改之前检查可用磁盘空间 |
| ✅ 备份确认 | 继续之前需要输入“YES”(使用 -Force 可跳过) |
| 🔍 GPT 类型扫描 | 通过扫描所有分区查找具有正确 GPT 类型的恢复分区 |
| 📏 大小合理性检查 | 恢复分区必须 < 10 GB(防止误删 Windows!) |
| 📝 完整日志记录 | 所有操作均记录到 C:\temp\WinRE-Fix-Log.txt |
| 🛡️ Winre.wim 检查 | 在启用 WinRE 之前验证恢复映像是否存在 |