我对 Windows 10 PC 进行了映像备份(使用内置磁盘映像备份功能,称为 Windows 7 备份,带有系统映像)。
后来我尝试挂载生成的 VHDX 文件,以便从备份中访问一些文件。
这在过去是有效的(不是针对这个特定的备份,而是一般情况下)。有很多网站描述了这个过程,比如这个。
但这次却不起作用。
如果我双击文件服务器(Windows 2012 R2 Standard)上的 VHDX 文件(最大的文件,通常会创建多个,其中最大的文件实际上具有数据分区),则会收到此错误:
无法挂载文件
确保该文件位于 NTFS 卷中,而不是压缩文件夹或卷中。
如果我通过网络共享包含该文件的文件夹并从 Windows 8.1 Pro PC 访问它(从现在开始我将其称为“客户端”)并双击 VHDX 文件,我会收到相同的错误。
如果我尝试“附加 VHD”选项磁盘管理在同一个文件上,我得到:
虚拟磁盘管理器
由于虚拟磁盘系统限制,无法完成请求的操作。在 NTFS 上,虚拟硬盘文件必须未压缩且未加密。在 ReFS 上,虚拟硬盘文件不得设置完整性位。
如果我在服务器上本地尝试或者通过客户端上的网络尝试,就会出现同样的错误。
如果我尝试在 Windows 10 Pro 客户端上通过网络访问 VHDX 文件,则出现错误:
无法挂载文件
您没有权限挂载该文件。
但是如果我将文件复制到本地磁盘(在 win10 PC 上),它就可以工作。
它还可以处理 Windows 8.1 PC 的旧备份。它们适用于所有场景(本地访问或通过网络)。
知道发生什么事了吗?
回顾一下:
- 无论如何都无法安装 Windows 10 备份中的 VHDX 文件
- 在所有情况下都可以安装其他 VHDX 文件(主要来自 Windows 8.1 备份)
编辑:
部分解决方案:
将非工作的 VHDX 文件复制到本地 HDD/SSD 使其可安装:
- 双击它
- 完成(它分配一个驱动器号并将其显示在资源管理器窗口中)
- 除非它的驱动器号与当前使用的驱动器号重叠,如果它是一个系统驱动器备份并且想要使用 C: 驱动器号,就会发生这种情况;在这种情况下会弹出一个错误:
无法挂载文件
磁盘映像未初始化、包含无法识别的分区或包含未分配驱动器号的卷。请使用磁盘管理管理单元确保磁盘、分区和卷处于可用状态。
- 在这种情况下:打开磁盘管理并为已挂载的 VHDX 分区分配(不同的)驱动器号
答案1
这是错误对话框中的答案:
在 ReFS 上,虚拟硬盘文件不能设置完整性位。
这些文件位于 ReFS 卷上,出于某种原因,我遇到问题的 VHDX 文件上设置了完整性位。其他 VHDX 文件没有设置该位。
修复:
在 PowerShell 中运行:
Get-Item .\foo.vhdx | Set-FileIntegrity -Enable 0
去检查:
Get-Item .\foo.vhdx | Get-FileIntegrity
此后,该文件可以在本地挂载(目前我无法测试远程访问)。
替代是使用 7-zip 之类的工具(自 21.06 版起支持 VHDX)打开 VHDX 文件,该工具不关心此类文件系统标志。它允许浏览、打开或提取文件。与挂载不同,但对于大多数用例来说已经足够了。
答案2
使用 Windows 10 控制面板创建系统映像 - 备份和还原(Windows 7)- 选择创建系统映像...备份当前驱动器。我去获取一个旧文件 - 磁盘管理器 - 附加 VHDX 卷将附加但不分配驱动器号,并且选项呈灰色。
解决方案 - A) 在使用磁盘管理器之前,请转到存储备份的相应驱动器,然后双击要查看的每个 VHDX 文件。Windows 将向您显示错误消息Windows 错误消息 - 无法挂载文件 B)然后进入磁盘管理器,您将看到已安装的卷,您可以右键单击并分配一个新的驱动器号。
虽然并不完美,但它完成了工作,而且我在任何地方都找不到简单的解决方案。