扩展Windows 10上被恢复分区阻止的卷
有一次我看到一个测试虚拟机的系统驱动器C:上的可用空间不足。我在虚拟机设置中增加了磁盘大小,并切换到来宾操作系统(Windows10)以使用未分配的空间扩展系统分区的大小。当我打开磁盘管理控制台时(磁盘管理.msc),我注意到驱动器上有两个恢复分区。未分配的空间出现在第二个恢复分区(标记为windowsre)之后。不允许在主分区之后使用主分区进行恢复(原因:)不允许在主分区之后进行扩展。
在本文中,我们将考虑两种不同的方法来删除和重新创建EFI和BIOS计算机的恢复分区。因此,在继续下面所述的步骤之前,请找出计算机上使用的是什么体系结构。此外,强烈建议在尝试更改分区表之前备份(或者创建快照)关键数据。
如何在基于UEFI的计算机上移动恢复和扩展系统分区?
在我的虚拟机上,windows10以UEFI模式安装(分区样式:GPT)。
正如我们在下面的屏幕截图中看到的,“ 扩展音量”按钮处于非活动状态( 灰色。如果分区的 右侧有未分配的空间,则可以使用Windows内置工具扩展该分区(windows10无法将主分区向右扩展到未分配的空间中)。在我的例子中,我无法扩展C:驱动器,因为它被恢复分区(Windows RE)阻止。因此,在扩展系统分区的大小之前,我必须删除恢复分区。
在截图上可以看到有两个恢复分区( 恢复和 Windows RE。要了解Windows使用哪一个作为活动恢复分区,必须将驱动器号分配给分区。例如,可以指定驱动器号
E:
和
R:
使用磁盘管理或者磁盘部件.exe:
select disk 0 -> select part 1 -> assign letter r:
. 要检查活动恢复分区,请运行以下命令:
bcdedit /enum all
请注意以下部分:
Windows引导管理器(表示BCD引导加载程序所在的分区)。在我的例子中,引导加载程序位于EFI分区上:
Windows Boot Manager ------------------- identifier {bootmgr} device partition=\Device\HarddiskVolume2 path \EFI\Microsoft\Boot\bootmgfw.efi description Windows Boot Manager locale en-US inherit {globalsettings} default {current} resumeobject {dbaf5561-4424-11e9-b766-b7001b047795} displayorder {current} toolsdisplayorder {memdiag} timeout 30
现在看看 Windows引导加载程序部分中的值。这个温瑞.wim镜像文件(恢复环境)位于具有Windows RE卷标的第二个分区上。
Windows Boot Loader ------------------- identifier {dbaf5563-4424-11e9-b766-b7001b047795} device ramdisk=[E:**\Recovery\WindowsRE\Winre.wim,{dbaf5564-4424-11e9-b766-b7001b047795} path \windows\system32\winload.efi description Windows RE locale en-us inherit {bootloadersettings} displaymessage Windows RE osdevice ramdisk=[E:**\Recovery\WindowsRE\Winre.wim,{dbaf5564-4424-11e9-b766-b7001b047795} systemroot \windows nx OptIn bootmenupolicy Standard winpe Yes
要扩展主Windows卷的大小,我们必须删除其右侧的恢复分区,扩展卷并重新创建恢复分区。
在大多数情况下,不必重新创建恢复分区,而是将恢复环境文件移动到驱动器C:。然后你就可以完全拒绝使用单独的500MB WinRE分区。恢复环境文件将存储在安装Windows的分区上。
复制温瑞.wim文件到系统卷并设置新的温瑞.wim文件位置,运行以下命令:
reagentc /disable md c:\Recovery\WinRE xcopy e:\Recovery\WindowsRE\Winre.wim c:\Recovery\WinRE /h reagentc /setreimage /path c:\Recovery\WinRE /target C:\Windows reagentc /enable
如果我们试图通过单击 删除卷从磁盘管理GUI中删除恢复分区(有时磁盘属性根本不可用),将出现以下错误:
Virtual Disk Manager Cannot delete a protected partition without the force protected parameter set.
我们只能使用 diskpart工具删除这样一个受保护的分区。打开提升的命令提示符并运行diskpart命令。选择要删除的分区(注意命令的结果,因为磁盘和分区的数量可能不同)。
DISKPART> rescan DISKPART> list disk DISKPART> select disk 0 DISKPART> list part DISKPART> select part 5 DISKPART> delete partition override
DiskPart successfully deleted the selected partition.
DISKPART> Rescan
override参数允许diskpart删除任何分区,而不管它是活动分区、系统分区还是引导分区)。
现在我们可以打开磁盘管理并扩展系统分区(现在可以使用 扩展卷选项)。如果要重新创建恢复分区(建议按上述方法保存或者移动到系统分区),请在驱动器上保留500MB的未分配空间。在下面的屏幕截图中,我正在将我的Windows分区扩展1.5GB,并在驱动器末尾留下500MB。
如果磁盘上有任何其他供应商恢复分区阻止我们扩展主卷,请查看“如何删除OEM分区?”。
扩展主分区后,我还有500MB的可用空间供WinRE恢复分区使用。
Windows通过特殊标签GUID- de94bba4-06d1-4d40-a16a-bfd50179d6ac和GPT属性 0x80000000000001检测恢复分区。
让我们创建一个新分区并将这些属性分配给它:
DISKPART> create part primary DISKPART> format quick fs=ntfs label="WinRE" DISKPART> assign letter="R" DISKPART> set id="de94bba4-06d1-4d40-a16a-bfd50179d6ac"