我升级到了 Windows 10,磁盘上创建了一个 450Mb 的恢复分区。我想扩展系统分区,但恢复分区碍事。
如何在不安装第三方软件的情况下将恢复分区移动到磁盘卷的末尾?
答案1
根据 MS 的文档,捕获并应用 Windows 系统和恢复分区,可以捕获恢复分区并将其应用于新分区。我已经让它在我的 Windows 10 PC 上运行。
警告 1:在执行以下命令之前,您必须了解它们的作用。请查看上面的链接和 MS 的文档磁盘分区,歧义和试剂c。
警告2:执行命令前请仔细检查磁盘号、分区号和卷号。
- 用于查找当前恢复分区并为其
diskpart
分配驱动器号(例如):O
DISKPART> list disk
DISKPART> select disk <the-number-of-disk-where-current-recovery-partition-locate>
DISKPART> list partition
DISKPART> select partition <the-number-of-current-recovery-partition>
DISKPART> assign letter=O
- 从当前恢复分区创建映像文件:
Dism /Capture-Image /ImageFile:C:\recovery-partition.wim /CaptureDir:O:\ /Name:"Recovery"
- 将创建的映像文件应用到
N
将成为新恢复分区的另一个分区(例如):
Dism /Apply-Image /ImageFile:C:\recovery-partition.wim /Index:1 /ApplyDir:N:\
- 注册恢复工具的位置:
reagentc /disable
reagentc /setreimage /path N:\Recovery\WindowsRE
reagentc /enable
- 用于
diskpart
隐藏恢复分区:- 对于 UEFI:
DISKPART> select volume N DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac" DISKPART> gpt attributes=0x8000000000000001 DISKPART> remove
- 对于 BIOS:
DISKPART> select volume N DISKPART> set id=27 DISKPART> remove
- 重新启动计算机,现在新的恢复分区应该可以正常工作
- (可选)删除旧的恢复分区:
DISKPART> select volume O
DISKPART> delete partition override
- (可选)检查恢复分区是否正常工作:
- 显示当前状态:
reagentc /info
- 指定下次系统启动时自动启动 Windows RE:
reagentc /boottore
- 重新启动计算机并在 Windows RE 中执行操作(例如输入 CMD 并运行一些工具)
- 显示当前状态:
答案2
我知道VainMain 的回答上面的方法可能更加谨慎和彻底,但我只需执行以下操作就能成功移动分区:
- 在 Windows 10 中:
reagentc /disable
- 在 Linux 启动 CD 中:根据需要调整邻近分区/移动恢复分区。
- 在 Windows 10 中
reagentc /enable
恢复环境被自动重新发现,并启动了 WinRE,所有恢复选项(重置/系统映像恢复/等)都运行正常。我之前只有 1 个 C: 分区,没有特殊分区/双重启动/多个恢复分区/疯狂的 BCDEDIT 设置,这很有帮助。事先在虚拟机内进行了测试以确保万无一失。执行实时后没有问题。
如果我没记错的话,跳过第一步(通过 reangetc 禁用)会导致恢复环境配置错误、无法正确重新启动并且不易修复。
答案3
如何将恢复分区移动到操作系统分区的示例
diskpart
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 System Rese NTFS Partition 500 MB Healthy System
Volume 1 C Windows11 NTFS Partition 58 GB Healthy Boot
Volume 2 NTFS Partition 617 MB Healthy Hidden
DISKPART> select volume 2
DISKPART> assign letter=F
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 System Rese NTFS Partition 500 MB Healthy System
Volume 1 C Windows11 NTFS Partition 58 GB Healthy Boot
Volume 2 F NTFS Partition 617 MB Healthy Hidden
DISKPART> exit
xcopy F:\Recovery C:\Recovery /E /H /I
ReAgentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
Information:
Windows RE status: Enabled
Windows RE location: \\?\GLOBALROOT\device\harddisk2\partition3\Recovery\WindowsRE
Boot Configuration Data (BCD) identifier: b4c3cf2d-1282-11ed-b4c8-b90a37105c4b
Recovery image location:
Recovery image index: 0
Custom image location:
Custom image index: 0
ReAgentc /disable
ReAgentc /setreimage /path C:\Recovery\WindowsRE /target C:\Windows
ReAgentc /enable
ReAgentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
Information:
Windows RE status: Enabled
Windows RE location: \\?\GLOBALROOT\device\harddisk2\partition2\Recovery\WindowsRE
Boot Configuration Data (BCD) identifier: b4c3cf2f-1282-11ed-b4c8-b90a37105c4b
Recovery image location:
Recovery image index: 0
Custom image location:
Custom image index: 0
注意:观察到“partition3”更改为“partition2”
删除恢复分区
diskpart
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 System Rese NTFS Partition 500 MB Healthy System
Volume 1 C Windows11 NTFS Partition 58 GB Healthy Boot
Volume 2 F NTFS Partition 617 MB Healthy Hidden
DISKPART> select volume 2
DISKPART> detail partition
Partition 3
Type : 27
Hidden: No
Active: No
Offset in Bytes: 83763396608
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 2 F NTFS Partition 617 MB Healthy Hidden
DISKPART> delete partition override
DISKPART> exit
答案4
只是对 VainMan 的答案和 haridsv 的评论的补充(我自己还不能评论):
我遇到了同样的问题。而不是在命令行上DISKPART> remove
执行mountvol N: /d
。如果您已经删除了分区,请先使用 为新的恢复分区重新分配驱动器号assign letter=N
(通常reagentc /info
现在应该再次显示正确的状态,否则请重复 VainMans 说明的第 4 步)。