1.16 有些分区无法用diskmgmt.msc删除 Q: 周振的PC要重装,有块硬盘上的几个分区死活删不掉。这批分区是Win10安装过程中 自动形成的,重装过程中能看到它们,但Delete灰掉,点不动,系统自带的 diskmgmt.msc、diskpart.exe也删不掉,GUI操作时右键菜单没有删除项,WRE、 WinPE环境都试过。因为不涉及无损扩容,就想删回到未分区状态,所以可以接受一 切破坏性删除方案,但自带工具无一成功。最后我在WinPE环境中用DiskGenius强制 删除的。 A: HorseLuke 2021-03-15 这种不易删除的分区可能是UEFI引导的ESP分区/MSR分区。diskmgmt.msc确实无法删 它们,但diskpart.exe使用override参数后可以删除它们。 D: scz 感谢HorseLuke指出override参数,下面做个测试。 以UEFI+GPT+Win10为例,在系统分区之外还会出现三种特殊的分区,在某台虚拟机中, 它们之间的顺序是: 恢复分区 + ESP + MSR + 系统分区 这不是固定顺序,仅为测试环境中的情况。恢复分区有可能位于尾部,而不是首部。 -------------------------------------------------------------------------- 恢复分区 NTFS格式,WRE环境实际使用该分区启动。若用DiskGenius查看,可以看到 \Recovery\WindowsRE\Winre.wim diskmgmt.msc中可见 ESP ESP对应EFI System Partition。顾名思义,ESP是与UEFI相配合的分区,FAT32 格式。若用DiskGenius查看,可以看到 EFI\Boot\bootx64.efi EFI\Microsoft\Boot\bootmgr.efi diskmgmt.msc中可见 MSR MSR对应Microsoft Reserved Partition。MSR只是个简单的未分配空间,位于系 统分区之前,防止GPT硬盘挂在XP等陈旧OS中时被误作未格式化的新硬盘,此时 会有其他告警提示,而非提示格式化。 diskmgmt.msc中不可见,diskpart.exe中可见 系统分区 传统意义上的C盘所在 diskmgmt.msc中可见 -------------------------------------------------------------------------- 假设是中文版Win10,diskmgmt.msc能看到恢复分区、ESP,看不到MSR。即使在WinPE 环境中用diskmgmt.msc查看,恢复分区、ESP也会被特殊对待;恢复分区右键菜单中 只有"帮助";ESP右键菜单中虽然有"删除卷",但灰掉,无法点击。 diskmgmt.msc的限制较多,diskpart.exe的限制较少,后者使用override参数可以删 除恢复分区、ESP以及MSR。 下面是在WinPE环境中操作 $ diskpart.exe DISKPART> list volume Volume ### Ltr Label Fs Type Size Status Info ---------- --- ----------- ----- ---------- ------- --------- -------- ... Volume 2 G NTFS Partition 127 GB Healthy Boot // 系统分区 Volume 3 恢复 NTFS Partition 450 MB Healthy Hidden // 恢复分区 Volume 4 FAT32 Partition 99 MB Healthy System // ESP "list volume"跨disk显示,会显示其他硬盘中的卷,相当于diskmgmt.msc显示效果 的命令行版。 DISKPART> list disk Disk ### Status Size Free Dyn Gpt -------- ------------- ------- ------- --- --- ... Disk n Online 128 GB 0 B * DISKPART> select disk n Disk n is now the selected disk. DISKPART> list partition Partition ### Type Size Offset ------------- ---------------- ------- ------- Partition 1 Recovery 450 MB 1024 KB // 恢复分区 Partition 2 System 99 MB 451 MB // ESP Partition 3 Reserved 16 MB 550 MB // MSR Partition 4 Primary 127 GB 566 MB // 系统分区 "list partition"是跟着"select disk n"走的,不会显示其他硬盘中的分区。 DISKPART> select partition 3 Partition 3 is now the selected partition. DISKPART> delete partition Virtual Disk Service error: Cannot delete a protected partition without the force protected parameter set. 直接删MSR失败,提示要加参数。 DISKPART> help delete partition Deletes the partition with focus. Syntax: DELETE PARTITION [NOERR] [OVERRIDE] NOERR For scripting only. When an error is encountered, DiskPart continues to process commands as if the error did not occur. Without the NOERR parameter, an error causes DiskPart to exit with an error code. OVERRIDE Enables DiskPart to delete any partition regardless of type. Typically, DiskPart only permits you to delete known data partitions. You cannot delete the system partition, boot partition, or any partition that contains the active paging file or crash dump (memory dump) filed. A partition must be selected for this operation to succeed. Partitions cannot be deleted from dynamic disks or created on dynamic disks. Example: DELETE PARTITION DISKPART> delete partition override DiskPart successfully deleted the selected partition. 恢复分区和MSR可以热删,不需要WinPE环境。ESP不能热删,试图热删ESP时报错如下: DISKPART> select partition 2 Partition 2 is now the selected partition. DISKPART> delete partition Virtual Disk Service error: The device is in use. The selected volume or partition is in use. To continue with the operation use the OVERRIDE parameter. DISKPART> delete partition override Virtual Disk Service error: Delete is not allowed on the current boot, system, pagefile, crashdump or hibernation volume. 加不加override参数都不能热删ESP,WinPE环境中可以删除ESP。 DISKPART> exit Leaving DiskPart... diskpart.exe没有commit/rollback机制,所有delete操作立即生效,测试前务必做 好备份。 若已拥有WinPE环境,用DiskGenius删除特殊分区更简便,还支持commit/rollback。 一般来说不需要手工删除这些特殊分区,也不应该删除它们。但考虑如下情形,之前 OS装到硬盘B,现在OS装到硬盘A,硬盘B作为普通数据盘挂入新系统A,硬盘B上的特 殊分区就很扎眼扎心了;又或者只是在硬盘B上重装OS,但想从完全未分区的状态重 装。