把虚拟机从VMware迁移到Hyper-v后,虚拟机里的IDA Pro软件无法启动,双击无反应。
本篇会梳理解决问题的过程。
感谢Gemini-3.1-Pro的耐心指导。不然问题没那么容易解决。
1. 环境介绍
- 虚拟机平台:Hyper-v(从VMware迁移而来)
- 操作系统:Windows 10专业版
- 软件版本:IDA Pro 9.3
2. 查看日志,定位问题
按下快捷键Windows+X,打开事件查看器。依次选择“Windows 日志”、“应用程序”。可以查看IDA Pro启动失败的日志。
测试后发现,每次尝试打开IDA Pro,都会出现2个报错信息。
- 报错1
错误应用程序名称: ida.exe,版本: 9.3.25.1224,时间戳: 0x1ea689f4
错误模块名称: vm3dglhelper64.dll,版本: 9.17.7.2,时间戳: 0x6572cb55
异常代码: 0xc0000096
错误偏移量: 0x000000000002220f
错误进程 ID: 0x136c
错误应用程序启动时间: 0x01dcf71b159eea16
错误应用程序路径: C:\Program Files\IDA Professional 9.3\ida.exe
错误模块路径: C:\Windows\SYSTEM32\vm3dglhelper64.dll
报告 ID: 56c78ed3-63cf-46b9-89ab-4018a3fb7951
错误程序包全名:
错误程序包相对应用程序 ID:
- 报错2
由于下列某个原因,Windows 无法访问文件 : 网络连接、存储文件的磁盘或安装在此计算机上的存储 驱动程序有问题;或者磁盘丢失。 由于上述错误,Windows 关闭了程序 The Interactive Disassembler。
程序: The Interactive Disassembler
文件:
该错误值列于“其他数据”部分。
用户操作
再次打开文件。 这种情况可能是一个临时问题,程序再次运行时可能会自行更正。
如果仍然无法访问该文件,并且
如果该文件位于网络上, 网络管理员应该验证网络是否存在问题并且验证是否可以与服务器联系。
如果该文件位于可移动磁盘上(例如软盘或 CD-ROM),请验证磁盘已完全插入计算机。
通过运行 CHKDSK 检查并修复文件系统。若要运行 CHKDSK,请单击「开始」,单击“运行”,键入“CMD”,然后单击“确定”。在命令提示符处,键入 CHKDSK /F,然后按 Enter。
如果问题仍然存在,请从备份副本中还原文件。
确定是否可以打开同一磁盘上的其他文件。如果无法打开,则磁盘可能损坏。如果磁盘是硬盘,请与管理员或计算机硬件供应商联系, 获得进一步帮助。
其他数据
错误值: 00000000
磁盘类型: 0
关键的文件是vm3dglhelper64.dll——VMware虚拟显卡的相关文件。
虚拟机已经从VMware转换成Hyper-v,VMware虚拟显卡不存在。但是卸载VMware Tools后,这个dll文件没有被删除。
可以梳理出报错的过程。启动IDA Pro后,IDA Pro加载vm3dglhelper64.dll。因为VMware虚拟显卡已经被卸载,dll文件执行出错,IDA Pro启动失败。
3. 解决过程
卸载VMware Tools。如果还没有卸载,需要在“控制面板”–“程序与功能”–“卸载程序”里,卸载VMware Tools。
删除vm3dglhelper64.dll文件,重命名也可以解决问题。
实际操作下来,文件没那么容易删除。我以管理员权限打开cmd,发现管理员对这个文件有读取的权限,没有写入的权限。所以无法直接删除或者重命名。
我以管理员权限打开cmd,进入C:\Windows\system32路径。依次执行了下面的命令,成功解决问题。
- 更改文件所有权
takeown /f vm3dglhelper64.dll
- 赋予管理员完全控制的权限
icacls vm3dglhelper64.dll /grant Administrators:F
- 重命名文件
ren vm3dglhelper64.dll vm3dglhelper64.dll.bak