我正在使用 Windows 10 Home(版本 22H2,操作系统内部版本 19045)。在另一次 Windows 更新后不久,我的 Oracle VM VirtualBox(我使用的没有扩展包)停止启动虚拟机(我的情况是 Ubuntu),并在 VM 启动期间引发典型错误,即:
Failed to open a session for the virtual machine.
The virtual machine has terminated unexpectedly during startup with exit code 1 (0x1).
Result Code: E_FAIL (0X80004005)
Component: MachineWrap
Interface: IMachine {300763af-5d6b-46e6-aa96-273eac15538a}
以防万一,硬件规格如下:
- 处理器 Intel(R) Core(TM) i3-8145U CPU @ 2.10GHz 2.30 GHz
- 已安装 RAM 8.00 GB(可用 7.82 GB)
- 系统类型 64位操作系统,基于x64的处理器
我知道这是一个经典问题,在多个论坛上已经回答过很多次了,但问题是,对于每个用户和他的机器来说,它从来都不一样(该死的 Windows 更新)。我在 stackoverflow、virtualbox 论坛和这里探索了很多不同的解决方案,但到目前为止都没有什么帮助。
以下是我的尝试列表:
正在重新启动。
更新 VirtualBox 和 Windows 10。卸载并重新安装 VirtualBox,每次都仔细检查“以管理员身份运行”选项。
在 cmd 中运行
bcdedit.exe /set nointegritychecks on
以禁用驱动程序完整性检查。将半虚拟化接口设置为 KVM。
没有找到
C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv
目录(\drivers
包含\network
、\USB
和\vboxsup
文件夹),因此没有机会尝试重新安装 VB 内核驱动程序VBoxDrv.inf
;我真的很想知道这个驱动程序在新版本的 VirtualBox 中在哪里(如果它只能有帮助......)。sfc /scannow
通过终端运行修复 Windows 系统文件。尝试三种不同的虚拟机启动方式:正常、无头和可分离。在之前步骤的几乎每个更改之后都执行此操作。同时丢弃当前虚拟机状态,恢复其他状态以启动。
关闭 Windows Defender 中的实时保护并启动 VM。
VBoxSup.inf
在上述目录中安装驱动程序\vboxsup
。我读到过一些有关 Hyper-V 阻止 VBox 正确启动的问题,但由于我的 Win10 版本是家庭版,因此我无法选择通过控制面板中的 Windows 功能来访问它(实际上,它显然不存在)。
在我访问 Windows 功能面板之前,虚拟机平台和 Windows 虚拟机管理程序平台都未选中,但尽管如此,我还是尝试检查、应用、重新启动、取消选中、应用并再次重新启动,以确保万无一失。
通过选中和取消选中(重新启动)VirtualBox 主机专用以太网适配器中的 VirtualBox NDIS6 桥接网络驱动程序和我的网络连接来更改适配器设置,尝试了其中一个和两个。
在 BIOS 中禁用安全启动选项并重新安装 VBox。
据我所知(但我既不是经验丰富的 VM 用户,也不擅长阅读日志),应该是有问题,Wintrust.dll
因为出于某种原因,一堆 VBox 库缺少 WinVerifyTrust。虽然我一点也不确定,所以VBoxHardening.log
附上了(关联)。任何帮助都感激不尽,我真的很绝望,花了两天时间却没有取得任何进展……
答案1
在 virtualbox 论坛上问了这个问题之后,我收到了回答最终帮助了我:
一个名为 Itcspea.Dll 的库正在侵入 VirtualBoxVM 进程的地址空间,它似乎属于 infotecs 的 ViPNet ... 软件之一。卸载此软件进行测试或使其忽略 VirtualBox。
值得一提的是,在 VirtualBox 6.1.x 发布更新期间,VBoxDrv.sys 被重命名为 VBoxSup.sys。
卸载该软件即可解决问题。