如果没有内核模块错误,无法在VirtualBox中启动Windows guest虚拟机

Ant*_*ean 50 windows service kernel virtualbox

我在Windows 7上运行Vagrant(1.8.1)+ VirtualBox(5.0.12)并尝试启动Windows 7映像(modernIE/w7-ie8).但是,我收到此错误:

---------------------------
VirtualBox - Error In supR3HardenedWinReSpawn
---------------------------
<html><b>NtCreateFile(\Device\VBoxDrvStub) failed: 0xc0000034 STATUS_OBJECT_NAME_NOT_FOUND (0 retries) (rc=-101)</b><br/><br/>Make sure the kernel module has been loaded successfully.<br><br><!--EOM-->where: supR3HardenedWinReSpawn
what:  3
VERR_OPEN_FAILED (-101) - File/Device open failed.

Driver is probably stuck stopping/starting. Try 'sc.exe query vboxdrv' to get more information about its state. Rebooting may actually help.</html>
---------------------------
OK
---------------------------
Run Code Online (Sandbox Code Playgroud)

我运行了查询命令,但服务"找不到".

> sc.exe query vboxdrv
[SC] EnumQueryServicesStatus:OpenService FAILED 1060:

The specified service does not exist as an installed service.
Run Code Online (Sandbox Code Playgroud)

我也试过重启.没有.

Ram*_*eti 164

我在Windows 10上,以下步骤适合我:

脚步:

  1. 导航到"C:\ Program Files\Oracle\VirtualBox\drivers\vboxdrv"
  2. 右键单击"VBoxDrv.inf"文件并选择"安装"选项
  3. 以管理员身份打开控制台并运行以下命令

    sc start vboxdrv
    
    Run Code Online (Sandbox Code Playgroud)

  • 刚刚遇到同样的问题!这适用于VirtualBox 5.1.6版本. (3认同)
  • 确认可在运行 VirtualBox 5.1.8 的 Windows 10 Pro 上运行 (2认同)
  • 最新的巧克力升级后它很有帮助。 (2认同)

Ant*_*ean 35

VirtualBox的安装有问题(我早在4.x时就已经看到了这个问题的报告).安装程序为驱动程序SYS文件(ImagePath在此示例中)注册了错误的位置.

PS> Get-ItemProperty HKLM:\system\currentcontrolset\services\vboxdrv


Type         : 1
Start        : 3
ErrorControl : 1
ImagePath    : \??\C:\Program Files\Oracle\VirtualBox\VBoxDrv.sys
DisplayName  : VBox Support Driver
PSPath       : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\system\currentcontrolset\services\vboxdrv
PSParentPath : Microsoft.PowerShell.Core\Registry::HKEY_LOCAL_MACHINE\system\currentcontrolset\services
PSChildName  : vboxdrv
PSDrive      : HKLM
PSProvider   : Microsoft.PowerShell.Core\Registry
Run Code Online (Sandbox Code Playgroud)

该文件不存在.

PS> Test-Path (Get-ItemProperty HKLM:\system\currentcontrolset\services\vboxdrv).ImagePath
False
Run Code Online (Sandbox Code Playgroud)

实际位置需要额外的drivers\vboxdrv.

PS> Test-Path 'C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.sys'
True
Run Code Online (Sandbox Code Playgroud)

您可以更新注册的位置.

PS> Set-ItemProperty HKLM:\system\currentcontrolset\services\vboxdrv -Name ImagePath -Value '\??\C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.sys'
Run Code Online (Sandbox Code Playgroud)

现在你可以启动驱动程序/服务了.

> sc.exe start vboxdrv
Run Code Online (Sandbox Code Playgroud)

  • 使用经典命令行:1.运行regedit并将"HKLM:\ system\currentcontrolset\services\vboxdrv"属性imagePath更改为"\ ??\C:\ Program Files\Oracle\VirtualBox\drivers\vboxdrv\VBoxDrv.sys", 2.运行cmd作为管理员:"sc start vboxdrv"(没有管理员说拒绝访问),3.virtualbox现在应该工作 (2认同)

est*_*ezg 7

我按照 Anthony Mastrean 的建议做了,但我仍然遇到一些错误:

C:\Vagrant>sc query vboxdrv

SERVICE_NAME: vboxdrv
        TYPE               : 1  KERNEL_DRIVER
        STATE              : 1  STOPPED
        WIN32_EXIT_CODE    : 31  (0x1f)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

C:\Vagrant>sc start vboxdrv
[SC] StartService FAILED 123:

The filename, directory name, or volume label syntax is incorrect.
Run Code Online (Sandbox Code Playgroud)

超级用户上的这个线程给了我解决方案:

找到C:\Program Files\Oracle\VirtualBox\drivers\vboxdrv\ VBoxDrv.inf 右键单击并选择安装


小智 5

尝试以下代码(以管理员身份):

 sc.exe start vboxdrv
Run Code Online (Sandbox Code Playgroud)