Error relaunching VirtualBox VM process:5错误解决

前几天在重新使用VirtualBox的时候出现了一个挺恶心的错误,如图
Error relaunching VirtualBox VM process:5错误解决_第1张图片
百度了好久没有找到合适的解决方法。功夫不负有心人,在查阅了vb相关论坛时发现了大牛对此问题的诸多解决方案。下面我把此论坛的内容总结一下,希望对大家有帮助。
论坛链接:Diagnosing VirtualBox Hardening Issues


时间不足的小伙伴可以直接看 解决方法


造成这个错误的主要原因是,windows操作系统与oracle vb的不兼容。有两个方面,一是非官方windows系统中包含了一些没有签名的dll文件,vb的安全机制不允许加载这样的dll文件。因为有可能虚拟机被恶意注入dll,然后dll利用虚拟机提高自己的权限去攻击主机;二是有些windows系统自带了迈克菲(McAfee)杀毒软件,vb与此类杀毒软件的配合也不是很好。

  • 为了解决第一种问题,vb在4.3.14版本就通过禁止非vb系统的dll作为vb程序的一部分。真的vb4就出现的问题,到现在vb6了还存在。。但这并不能解决问题,因为许多合法的windows应用程序需要安装在其他进程中运行的dll,包括:
    • 非官方windows主题提供者经常使用的windows主题dll的hacker版本,如uxtheme.dll。在百度此问题时有大佬给出关于这个的解决方法,就是自己去下载正版未经修改的uxtheme.dll,去替换/windows/system32/中的该dll。但并没有解决该问题。
    • 杀毒软件通常具有入侵性,其行为很难与恶意软件区分开来。所以拒绝vb运行。常见的windows自带的迈克菲和一些广告禁用插件都可能导致vb异常。所以卸载即可。个人认为windows defender已经足够用了,除非你经常下载不健康的东西哈哈。
    • 图形驱动程序(例如nvidia的驱动程序)可以注入dll,题主也装有nvidia的驱动程序并且一直使用着,感觉不是它的问题。
    • 一些辅助工具等等。

后来vb就放宽了规则:

  • “已签名”的外部dll可以在vb进程空间中使用,所谓签名就是在软件中嵌入了可信提供证书。恶意软件作者或者盗版windows系统作者不希望自己被识别,所以可能就没有签名。
  • 当找到未签名的dll文件时,vb直接丢弃错误的dll并继续,而不是报错。

解决方法

查看/Logs/vboxhardening.log文件,找到最后一行的错误代码:

  • 如果错误代码为0,就没有hardening问题,题主没遇到过,建议出现这种情况就反复重装完事。
  • 如果错误代码为1(0x1)一般为dll问题,可以去cmd运行“sfc/scannow”来解决。题主错误代码就是1,运行了这个命令后再右键用管理员身份重装vb就行了
  • 如果错误代码为:Error code 0xC0000005。一般是图形相关的dll出错了,建议替换非官方的uxtheme.dll文件。不过我在百度上查到的是将

在这里插入图片描述
这三个dll都替换了,如果替换一个不行的话那就都试试呗。不过themeservice和uxtheme都是正在运行的,即便获取管理员权限了也不好替换,慎行,有可能造成未知的后果。 也可以检查一下显卡驱动更新。

如果上面都不行,请试试下面的方法:

  • 禁用现有的杀毒软件,来测试是不是与vb冲突。不过已经证明windows defender与vb不冲突。如果不放心,那就直接完全卸载杀毒软件,因为有的AV挺恶心的。
  • 确保禁用Hyper-V,如果Hyper-v占用了虚拟化所需的硬件资源,那么现代VirtualBox虚拟机通常无法运行。这可能首先表现为hardening错误,因此值得检查。请注意,这个建议可能很快就会改变,因为VirtualBox v6.x添加了对Windows10虚拟机监控程序平台的实验性支持。
  • 重启vb,重启主机
  • 完全卸载vb,然后已右键已管理员身份重新安装vb。有时候会替换导致问题的dll,或者更换windows调用驱动程序的顺序。

希望对大家有帮助~

你可能感兴趣的:(虚拟机与linux,virtualbox)