我需要将包含操作系统的磁盘转换为动态磁盘(从基本磁盘)。遗憾的是磁盘上没有空间将驱动器从基本磁盘转换为动态磁盘。
微软记录了这个问题,并指出解决方案是删除磁盘上的最后一个分区:
没有足够的可用空间来升级到动态磁盘
解决
启动磁盘管理器,右键单击最后一个分区,然后单击删除分区。
笔记:我不需要理由来提问。但如果有人拒绝回答这个问题,除非我给出理由,那么就有一个。
值得注意的是:
- 此恢复分区不是来自 OEM
- 恢复分区是在 PC 上全新安装 Windows 7 零售版时创建的
奖励问题:为什么 Windows 7 要创建一个“恢复分区”?
奖励问题: 如何创建或重新创建“恢复分区”在没有硬盘的硬盘上?
幸运的是,我不需要从这个恢复分区备份任何内容,因为 Windows 说它是空的:
但微软支持上的指示不起作用——没有选项可以删除恢复分区:
微软表示你可以使用创建恢复驱动器删除恢复分区
从创建 USB 恢复驱动器,用于创建 USB 恢复驱动器,向导末尾应该有一个选项可以删除硬盘上的恢复分区:
该过程完成后,请执行以下操作之一:
- 如果要保留电脑上的恢复分区,请点击或单击结束。
如果要从电脑中删除恢复分区并释放磁盘空间,请点击或单击删除恢复分区然后点击或单击删除。这将释放用于存储恢复映像的磁盘空间。删除完成后,点击或单击结束。
笔记
有些电脑不提供删除恢复分区的选项。如果您遇到这种情况,则表示您的电脑上没有使用额外磁盘空间的恢复分区。
当我完成向导时,没有提供删除恢复分区的选项:
这显然意味着我的机器没有恢复分区,但我建议你:
这就引发了以下问题:
- 我有恢复分区?
- 为什么 Windows 说我需要这样做?
- 为什么 Windows 说我没有?
- 为什么 Windows 创建恢复分区首先?
- 为什么恢复分区空的?
- 为什么 Windows 不允许用户删除恢复分区?
我实际上试图解决的问题是如何将磁盘转换为动态(当然不需要重新安装 Windows)。
磁盘分区
我尝试从提升的命令提示符中使用 DiskPart:
>diskpart
DISKPART> select disk 0
DISKPART> select partition 3
DISKPART> delete partition
Virtual Disk Service error:
Cannot delete a protected partition without the force protected parameter set.
答案1
禁用恢复代理环境
reagentc /info
首先,您应该检查恢复代理是否正在使用此驱动器作为恢复环境。您可以通过从管理员命令提示符运行来检查:
C:\Windows\System32>reagentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
Information:
Windows RE status: Enabled
Windows RE location: \\?\GLOBALROOT\device\harddisk0\partition4\Recovery\WindowsRE
Boot Configuration Data (BCD) identifier: 815b3db0-d49c-11ed-be7f-00155d019403
Recovery image location:
Recovery image index: 0
Custom image location:
Custom image index: 0
REAGENTC.EXE: Operation Successful.
以上输出表明恢复代理已配置为使用该分区。在上面的输出中,请注意harddisk0
(表示磁盘 0)和partition4
(表示分区 4)。这应该与您在后面的命令中使用的信息相关diskpart
。要在此分区上禁用恢复代理,请reagentc /disable
在管理员命令提示符中运行:
C:\Windows\System32>reagentc /disable
REAGENTC.EXE: Operation Successful.
reagentc /info
现在通过再次在管理员命令提示符中运行来验证该分区是否不再被恢复代理使用:
C:\Windows\System32>reagentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
Information:
Windows RE status: Disabled
Windows RE location:
Boot Configuration Data (BCD) identifier: 00000000-0000-0000-0000-000000000000
Recovery image location:
Recovery image index: 0
Custom image location:
Custom image index: 0
REAGENTC.EXE: Operation Successful.
以上输出表明恢复代理已禁用。特别注意,没有迹象表明正在使用分区。现在恢复分区不再有用,因此可以使用 diskpart 将其删除。diskpart
在管理员命令提示符中启动:
使用 DiskPart 强制删除分区
C:\Windows\System32>diskpart
Microsoft DiskPart version 10.0.22621.1
Copyright (C) Microsoft Corporation.
On computer: DCX-VPN-ANYDESK
列出 diskpart 中的磁盘。查找先前命令引用的磁盘编号reagentc /info
。在我们的示例中,这是磁盘 0。使用以下命令list disk
:
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 64 GB 1024 KB *
用于select disk «disk number»
选择适当的磁盘。在我们的示例中,“磁盘编号”为 0。
DISKPART> select disk 0
Disk 0 is now the selected disk.
现在找出我们要删除的分区。这应该是第一个reagentc /info
命令中显示的分区。在我们的示例中,它是分区 4。使用以下命令list partition
列出分区:
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 System 100 MB 1024 KB
Partition 2 Reserved 16 MB 101 MB
Partition 3 Primary 63 GB 117 MB
Partition 4 Recovery 664 MB 63 GB
从上面的输出中,应该可以清楚哪个分区是恢复分区。分区号应与reagentc /info
前面命令的输出相匹配,并且应在列表中显示为恢复分区。在此示例中,我们期望分区 4,而我们的列表显示分区 4 确实是恢复分区。使用 选择此分区select partition «partition number»
。在我们的示例中,“分区号”为 4:
DISKPART> select partition 4
Partition 4 is now the selected partition.
现在您可以删除该分区。请注意以下命令使用参数override
。请小心并仔细检查您正在执行的操作。该override
参数表示我们正在执行 DiskPart 认为危险的操作。回想一下,我们要删除的分区最初用于我们上面禁用的恢复代理环境。重新检查我们选择的分区确实是您要删除的分区。确保您的 PC 上有任何数据,您要么已经接受了你可能会遇到数据丢失或者您有备份,并且已验证可以从备份中获取数据。如果您确定,请继续delete partition override
:
DISKPART> delete partition override
DiskPart successfully deleted the selected partition.
您现在可以列出分区以使用以下命令显示结果list partition
:
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 System 100 MB 1024 KB
Partition 2 Reserved 16 MB 101 MB
Partition 3 Primary 63 GB 117 MB
我们可以在上面看到,只有恢复分区被删除,而我们关心的数据分区 3 仍然存在。使用以下命令退出 diskpart exit
:
DISKPART> exit
Leaving DiskPart...
C:\Windows\System32>
重新启用恢复代理环境
我建议您此时重新打开恢复。这将设置恢复代理以使用C:
分区上的映像。如果您需要再次进一步扩展分区,这比拥有单独的分区更方便。但是,虽然更方便,但使用分区C:
确实有风险。reagentc /enable
在管理员命令提示符下运行:
C:\Windows\System32>reagentc /enable
REAGENTC.EXE: Operation Successful.
现在检查reagentc /info
它将恢复环境放在哪里:
C:\Windows\System32>reagentc /info
Windows Recovery Environment (Windows RE) and system reset configuration
Information:
Windows RE status: Enabled
Windows RE location: \\?\GLOBALROOT\device\harddisk0\partition3\Recovery\WindowsRE
Boot Configuration Data (BCD) identifier: 815b3db2-d49c-11ed-be7f-00155d019403
Recovery image location:
Recovery image index: 0
Custom image location:
Custom image index: 0
REAGENTC.EXE: Operation Successful.
从上面的输出中您可以看到,分区 3 内的路径(在此示例中为分区)C:
已被使用。
扩展主分区
您现在可以使用图形磁盘管理界面C:
自由扩展您的分区。
答案2
磁盘上有足够的空间。您因其他原因收到此错误。如果您的机器不是台式机,那么您就会收到此错误。
https://technet.microsoft.com/library/354e5163-f388-4354-984c-ea4e4206694c
您无法删除恢复分区,因为它受 EFI 保护。您应该能够使用命令强制删除override
。
https://technet.microsoft.com/en-us/library/cc766465(v=ws.10).aspx
我将尝试使用 diskpart(从提升的命令提示符)来删除该分区。
DISKPART> list disk
DISKPART> select disk 4
Disk 4 is now the selected disk.
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 223 GB 1024 KB
Partition 3 Recovery 450 MB 223 GB
DISKPART> select partition 3
Partition 3 is now the selected partition.
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 223 GB 1024 KB
* Partition 3 Recovery 450 MB 223 GB
DISKPART> delete partition override
DiskPart successfully deleted the selected partition.
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 223 GB 1024 KB
之后您应该能够转换为动态磁盘。
通常我会重新利用驱动器,这样就不必担心数据丢失,而是备份数据并使用桌面。
答案3
选项 1:使用 diskpart 删除恢复分区:
- 开始菜单,搜索
diskpart
,右键单击,选择open file location
,右键单击diskpart.exe
并选择Run as administrator
。 - 输入
list disk
并按 Enter,然后select disk X
(X 是包含恢复驱动器的磁盘)按 Enter,然后list partition
,然后select partition X
(X 是您的恢复分区),然后delete partition override
。 - 如果你得到
Delete is not allowed on the current boot, system, pagefile, crashdump or hibernation volume.
转到选项 2
选项 2:使用第三方分区管理器
尝试使用 EaseUS 免费分区管理器之类的程序。如果删除分区的选项不在上下文菜单中,请转到选项 3。
选项 3:使用Disk Manager
缩小恢复分区并将额外空间与主分区合并
这并不能直接回答问题,但提供了一种解决方法来恢复恢复分区使用的空间。我的分区占用了 20GB(只使用了 9GB),我可以将其缩小到 415MB。
- 转到
Create and format hard drive partition
(又名Disk Manager
)并为恢复分区分配一个驱动器号。 - 在 中
My Computer
,打开恢复驱动器(如果它是空的,请进入文件夹选项,启用显示隐藏文件的选项并取消选中“隐藏受保护的操作系统...”)。删除 Dell 文件夹(约 8.7GB)。 - 返回
Disk Manager
,将恢复分区缩小到可能的最小值,并在释放的磁盘空间上增加主操作系统分区并应用所有更改。
(从毛孜尔季尔)
如果您无法缩小到大部分恢复大小(即使有超过 19GB 的可用空间,我也只能缩小到大约 2GB),那么您将不得不采用困难的方式。
选项 4:使用 Ubuntu 缩小恢复分区并将额外空间与主分区合并 此选项比前一个选项长得多。您需要:
- 双启动 Ubuntu/Win 10 和/或可启动的 ubuntu usb 驱动器
- Windows 10 的修复磁盘或恢复驱动器。
- 做一个系统窗口映像(以防万一真的出错)
- 如果你有双启动,请备份你的 ubuntu
脚步:
- 在 Ubuntu 中,打开 Gparted,然后缩小恢复驱动器并将额外空间与主分区合并。此步骤大约需要 3 小时。
- 重新启动计算机,启动 Windows:您很可能会遇到错误
0xc00000f
或错误0xc0000225
。 - 从 Windows 修复盘(或恢复驱动器)重新启动计算机:打开启动选项,然后选择 CD/DVD 或 USB,等待其加载,然后选择键盘语言。
- 您可以尝试该选项
repair computer
(我认为是在Troubleshooting
然后Advanced options
),但它并没有为我解决问题。相反,请打开命令提示符并输入此命令。
不要忘记Enter
在每行之间按下:
bootrec /fixboot
bootrec /fixmbr
bootrec /rebuildbcd
如果没有找到 Windows 安装,请执行以下操作(请参阅下面的警告):
bcdedit /export C:\BCD_Backup
c:
cd boot
attrib bcd -s -h -r
ren c:\boot\bcd bcd.old
bootrec /RebuildBcd
警告:第一次重启电脑时(步骤 3),我的恢复磁盘被分配到字母 C,而我的 Windows 磁盘被分配到字母 F(如果您diskpart
从修复磁盘输入命令提示符,您就会知道这一点)。我没有继续使用我给出的最后一个代码,而是尝试了修复 #4这里)。我最终看到了这个An operating system wasn't found try disconnecting any drives that don't contain an operating system
画面。我甚至无法进入 Grub 来启动 Ubuntu,所以我从可启动 USB 启动了 Ubuntu。我按照它给我的所有指示使用 Ubuntu Boot Repair。我收到许多与 FlexNet 和 Wubi 相关的错误(我当时有点忽略了,此时,我很确定我必须使用 Windows 系统映像)。但是当我重新启动时,我能够进入 Grub 并选择 Windows 10。我仍然收到错误,0xc0000225
但这一次,我的 Windows 磁盘上有字母 C。然后我输入上面的最后一个代码,最后我可以启动 Windows 10。我的 Windows 用户帐户中一切正常。
如果你有双启动,要恢复 Ubuntu Grub,请按照这
选项 5:通过重新安装 Windows 删除恢复分区: 备份您的文件,使用可启动的 ubuntu usb 驱动器格式化并合并所有分区,然后重新安装 Windows。Windows 创建了一个系统文件分区,但只有 500MB(与之前使用的 20GB 相比,这算不了什么)。
缺点(可能与选项 4 相关或不相关):
- 我无法再创建系统修复盘,因为“找不到所需文件”(我在缩小恢复驱动器之前创建了一个系统修复盘,没有问题)。我需要一个 Windows ISO,从中加载必要的文件。
- 我丢失了所有还原点。
- 我不知道是否有链接,但我尝试在删除恢复分区 2 个月后恢复还原点。我无法恢复,因为有些文件丢失了。我遇到了其他错误,所以我最终从头开始重新安装 Windows 10(参见选项 5)。我可以删除恢复分区。在安装过程中,
因为我在执行选项 4 前几天从 Windows 7 升级到了 Windows 10,所以执行选项 4 后,启动时会显示两个版本的 Windows:Windows 10 和 7。要从启动菜单中删除 Windows 7,请执行以下操作这。
答案4
简单的方法是使用第三方磁盘工具,我是使用免费版的 MiniTool Partition Wizard 来完成的(如果您使用它,一旦您选择了您想要完成的操作,它看起来就像在界面中完成的一样,但您需要单击应用 - 靠近窗口左上角 - 我想这是一个故障保护或双重检查的机会,以防您对错误的磁盘执行此操作)可能有更好的工具,我所知道的是这个对我有用。