扩展Windows 10上被恢复分区阻止的卷

时间:2020-01-09 10:46:28  来源:igfitidea点击:

有一次我看到一个测试虚拟机的系统驱动器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"