![Disk2vhd:复制时出错。由于 I/O 错误,无法执行该操作](https://linux22.com/image/652339/Disk2vhd%EF%BC%9A%E5%A4%8D%E5%88%B6%E6%97%B6%E5%87%BA%E9%94%99%E3%80%82%E7%94%B1%E4%BA%8E%20I%2FO%20%E9%94%99%E8%AF%AF%EF%BC%8C%E6%97%A0%E6%B3%95%E6%89%A7%E8%A1%8C%E8%AF%A5%E6%93%8D%E4%BD%9C.png)
我正在尝试使用 Microsoft Sysinternals 的 disk2vhd 将完全修补的 Windows Server2008 R2 系统磁盘转换为 VHD。
每次,转换都会失败error during copy. The error could not be performed due to an I/O error
,无论我使用vhd
或vhdx
格式,或者我是否使用卷影复制选项。
我是本地管理员,以管理员身份运行 disk2vhd,并已禁用服务器上的防病毒软件,但这没有什么区别。
我在事件日志中看到此事件与错误发生的时间大致相同,因此我怀疑它们是相关的。
卷影复制服务错误:查询 IVssWriterCallback 接口时出现意外错误。hr = 0x80070005,访问被拒绝。这通常是由于写入器或请求器进程中的安全设置不正确造成的。
操作:收集作者数据
上下文:编写器类 ID:{GUID} 编写器名称:系统编写器
编写器实例 ID: {GUID}
这里有什么问题?为什么我无法转换该磁盘?
答案1
这很愚蠢,但是在再次运行 hd2vhd 之前先运行 chkdisk(是的,即使您没有在其他任何地方收到任何错误消息或问题)已经为我们多次解决了这个问题。
答案2
嗯,首先你应该使用适用于 Hyper-V 的成熟 P2V 解决方案,类似 Microsoft 的虚拟机管理器. 或者,VMware 转换器是 P2Ving 任何机器的标准解决方案,因为它是免费的,支持您能找到的大多数东西,并且得到顶级虚拟化公司的支持。(您可以进行 P2V,将虚拟机转换为 ovf 格式,然后您就可以将 OVF 导入 Hyper-V 主机。)
其余部分:
- 仅将系统驱动器转换为虚拟磁盘格式并不能产生可启动的系统。
- 您正在尝试转换
System Reserved
分区(这就是导致错误的原因 - 即使作为管理员,您也无法访问它)。
答案3
在进一步查看事件日志条目之后,它表明 DCOM 需要更多权限才能解决访问被拒绝消息(添加网络服务)。
看这里:http://www.terabyteunlimited.com/kb/article.php?id=563
这解决了第一个问题。现在事件日志中显示:
The shadow copies of volume C: were aborted because of an IO failure on volume C:.
还有很多这样的:
The driver detected a controller error on \Device\Ide\IdePort0
我会研究这个问题,如果有任何进展,我会回复。磁盘出现故障,我们从诊断中知道了这一点,所以我希望情况还不算太糟!
答案4
就我的情况来说,这是一个坏扇区。
- DISK2VHD 已取消并出现错误:
复制时出错。由于 I/O 设备错误,无法执行该请求。
- 使用 HDTune 扫描(也可以通过其他表面扫描工具,如 HDDScan 进行扫描),发现一个坏扇区:
伦敦银行平均价格:1197436
使用以下方法找到受影响的文件:nfi 工具:
nfi.exe \Device\Harddisk0\DR0 1197436
\WINDOWS\inf\404.NETFramework\corperfmonsymbols.ini
- 已删除文件。
- 从备份中恢复文件。
此后表面扫描不再出现读数错误。
我成功制作了 DISK2VHD 映像。