复制文件系统限制期间出现 Disk2vhd 错误

复制文件系统限制期间出现 Disk2vhd 错误

我有一台装有 Windows 7 的笔记本电脑,目前没有使用,我想制作 vhd 映像用于备份,以便其他人可以使用这台笔记本电脑。当 disk2vhd 正在处理 c 盘时,我收到一条错误消息:

“由于文件系统限制,无法完成请求的操作。”

下列的此 Technet 主题关于此错误消息,我对驱动器进行了碎片整理(尽管它位于固态硬盘 (SSD) 上):

研究表明,文件系统(旧的 NTFS)有一个“限制”,当目标卷“太碎片化”时,读取或写入将失败。

根据此主题中的另一个答案,我检查了驱动器的压缩。驱动器不使用压缩。

我正在将一个 1 TB 文件复制到一个全新格式化的 5 TB 驱动器。消息可能与碎片无关。事实上,该卷被标记为 NTFS 压缩。我取消了该卷的标记,复制过程顺利进行。

编辑:我还尝试使用 sysinternals 套件中的 contig 工具对特定文件进行碎片整理,如建议的那样在此 serverfault 线程中

很有可能,文件系统本身无法添加更多碎片,因为碎片太多了。一个简单的测试方法是使用另一篇文章锁定的 Contig 实用程序对文件进行碎片整理

我使用此工具找到了一个有 41 个碎片的文件,并对其进行了碎片整理,但没有结果结束编辑

编辑:找到一些文件夹,这些文件夹是通过以下有用的命令压缩的:这个答案用于查找所有压缩文件/文件夹

gci -r C:\search\path | where {$_.attributes -match "compressed"} | foreach { $_.fullname }

不幸的是这也没有帮助。结束编辑

在事件日志中我注意到VSS 错误在发生 disk2vhd 错误时出现。

您可能会在应用程序事件日志中遇到多个 VSS 错误 8194 实例。这些错误通常不会影响程序执行在线备份的能力,但由于指示的错误状态,系统管理员或托管服务提供商经常会提出疑问。

我尝试了第二种解决方案:

解决该问题的第二种(首选)方法是调整默认的 COM 服务激活权限 - 允许网络服务(可能还有本地服务)用户帐户激活 IVssWriter 回调接口。此方法的好处是可以永久修复一个问题,并允许 VSS Writer 服务以 Microsoft 期望的权限级别运行。任何访问的 COM 对象(由作为网络服务运行的进程)仍然能够强制执行其选择的安全限制。

我无法识别第一个解决方案中提到的任何服务:

首先是找到出错的 VSS 编写器(开始 | 运行 | services.msc),并将其运行的帐户从网络服务更改为本地系统。然后,重新启动服务进程(或重新启动计算机),VSS 编写器将以最大权限运行 - 从而消除 IVssWriter 回调错误。

VSS 错误已消失,但 disk2vhd 的错误仍然发生。

我还在安全事件日志中注意到以下与编解码器相关的错误:

事件 ID 6281 系统完整性

代码完整性确定图像文件的页面哈希无效。该文件可能在没有页面哈希的情况下被错误签名,或者由于未经授权的修改而损坏。无效哈希可能表示潜在的磁盘设备错误。

文件名:\Device\HarddiskVolume2\Windows\System32\l3codeca.acm

但根据technet 线程我不明白这与 disk2vhd 操作有什么关系(除了播放消息框的声音?):

当音频被重定向到客户端并且我们加载 audiodg 时,它会枚举编解码器以从中获取信息。

并非所有编解码器都经过签名以在受保护的进程中加载​​,如果没有,则会产生此错误。

我使用的是 2.01 版,应该是最新版本。我已激活两个复选框(“使用 vhdx”和“使用卷影复制”)。不使用 vhdx 时也会出现此错误。

固态硬盘是三星 850 EVO,据我所知,它是一种自加密设备。我也使用 Bitlocker。这会导致问题吗?我应该停用 Bitlocker 吗?无论如何,驱动器 d 也位于固态硬盘上,并且该驱动器在 disk2vhd 中不会造成任何问题。因此,我认为自加密和 Bitlocker 不应该是导致错误消息的原因。编辑: 拉里克指出必须根据工具说明停用 Bitlocker。所以我停用了它并解密了驱动器。不幸的是,在为驱动器 c 创建映像时,错误消息将继续以相同的进度级别显示。结束编辑

编辑运行 Checkdisk 也没有解决问题结束编辑

是否可以确定导致该错误消息的文件或操作?如果不能...还有其他原因可能导致此类错误消息吗?

答案1

Bitlocker 明确禁止:

“Disk2vhd 不支持启用 Bitlocker 的卷转换。如果您希望为此类卷创建 VHD,请关闭 Bitlocker 并等待该卷完全解密。”

看: https://docs.microsoft.com/en-us/sysinternals/downloads/disk2vhd

答案2

我找到了这个 disk2vhd 问题的解决方案。

实际上我只是“看错了方向”。我以为错误消息是由 disk2vhd 正在复制的驱动器上的问题引起的,但它是由写入 vhdx 文件的目标驱动器引起的。

我没有检查这个驱动器,但它已打开压缩功能。关闭它解决了这个问题。我猜打开压缩功能确实导致文件出现一些无法处理的问题。我猜这是经常提到的 vhdx 文件的碎片数量。

所以结论是不仅要检查来源,还要检查目的地;-)

相关内容