虚拟机Raw-mode无法通过Hyper-V windows 10提供

时间:2018-04-26 23:29:12

标签: virtual-machine virtualbox

的问题:

Failed to open a session for the virtual machine ubuntu.

Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT).

Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

1)我在powershell中使用管理员模式运行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

2)使用管理员模式在命令提示符下运行命令:

bcdedit /set hypervisorlaunchtype off 

enter image description here

3)禁用Hyper-V:控制面板\程序\程序和功能\ enter image description here

4)VMBox内存达到:3155 MB(VMbox->设置 - >系统)

VM框加速已停用。怎么激活这个?并修正以上错误? enter image description here

操作系统:Windows 10。

多次重启Del笔记本电脑。

21 个答案:

答案 0 :(得分:66)

您需要禁用Hypervisior以检查在启动之前使用VT-x的新应用程序。

因此,请按照以下步骤操作:

1)以管理员身份打开命令提示符

2)运行bcdedit检查虚拟机管理程序状态:

bcdedit

3)检查虚拟机管理程序启动类型:

enter image description here

4)如果设置为自动,则将其停用:

bcdedit /set hypervisorlaunchtype off

5)重新启动主机并再次启动VirtualBox

我希望这会有所帮助。

答案 1 :(得分:11)

为我禁用了Device Guard或Credential Guard:

  • 单击“开始”>“运行”,键入gpedit.msc,然后单击“确定”。 Local Group Policy Editor打开。 转到Local Computer Policy> Computer Configuration> Administrative Templates> System> Device Guard> Turn on Virtualization Based Security。 选择禁用。
  • 转到Control Panel> Uninstall a Program> Turn Windows features on or off关闭Hyper-V

选择。不要重新启动。

通过使用管理员帐户在主机上启动命令提示符并运行以下命令来删除相关的EFI变量:

mountvol X: /s
copy %WINDIR%\System32\SecConfig.efi X:\EFI\Microsoft\Boot\SecConfig.efi /Y
bcdedit /create {0cb3b571-2f2e-4343-a879-d86a476d7215} /d "DebugTool" /application osloader
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} path "\EFI\Microsoft\Boot\SecConfig.efi"
bcdedit /set {bootmgr} bootsequence {0cb3b571-2f2e-4343-a879-d86a476d7215}
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} loadoptions DISABLE-LSA-ISO,DISABLE-VBS 
bcdedit /set {0cb3b571-2f2e-4343-a879-d86a476d7215} device partition=X:
mountvol X: /d

注意:确保X是未使用的驱动器,否则请更改为另一个驱动器。

重新启动主机。 接受引导屏幕上的提示以禁用Device Guard或Credential Guard。

来源:https://kb.vmware.com/s/article/2146361

答案 2 :(得分:10)

  1. 禁用Hyper-V(控制面板\程序\程序和功能\ Hyper-V)

    enter image description here

  2. 修改BCD(bcdedit / set hypervisorlaunchtype off)

    enter image description here

  3. 如果启用了核心隔离,请将其关闭(Windows Defender安全中心>设备安全>核心隔离)

    enter image description here

  4. 如果无法修改,可以将注册表中HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ DeviceGuard \ Scenarios \ HypervisorEnforcedCode Integrity \ Enabled的值更改为0

    enter image description here

答案 3 :(得分:6)

要检查Windows 10中Hyper-v的状态,

右键单击<" start"> →运行→OptionalFeatures.exe,→查找" Hyper-V"选项。

该框应为空,未选中或加阴影。

确保在更改Hyper-v设置后完全关闭电源并重新启动主机。

PS

Docker已知用于激活此" Hyper-V"没有询问用户意见,然后Oracle VirtualBox不想工作。

答案 4 :(得分:6)

1)在Powershell中以管理员模式运行以下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

2)以管理员方式在命令提示符下运行以下命令:

bcdedit /set hypervisorlaunchtype off 

enter image description here

3)禁用Hyper-V:控制面板\程序\程序和功能\ enter image description here

4)VMBox内存达到了3155 MB(VMbox->设置->系统)

VM盒加速已禁用。如何激活它?并修复以上错误? enter image description here

重新启动系统。

答案 5 :(得分:3)

您需要禁用Windows Hyper-V功能和bcd。然后Virtual Box将运行最新的Windows 10版本(2018年1月至3月)。 Windows 10 Hyper-V与VirtualBox功能发生冲突。

我已通过以下步骤解决了这个问题 -

  1. bcdedit /set hypervisorlaunchtype off
  2. Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All
  3. 重新启动Windows
  4. 有关这方面的详细讨论,请访问: https://forums.virtualbox.org/viewtopic.php?f=6&t=87237

    或者你可以从最新的bash命令 - https://www.windowscentral.com/how-install-bash-shell-command-line-windows-10

    在Windows 10中安装linux(Ubuntu)

答案 6 :(得分:3)

最后,我现在可以解决此问题。

首先,我们需要确定或理解大多数人没有真正发现的问题,我的VM带有64位Ubuntu的客户机操作系统,但是导入后,我们检查该VM仅显示32位OS。

启动虚拟机时,出现错误消息:

Failed to open a session for the virtual machine ERPNext-Develop-20180331192506.

Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT).

Result Code: E_FAIL (0x80004005)
Component: ConsoleWrap
Interface: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

我确实尝试了上述解决方案,但实际上不起作用,否则我可能会错过一些东西。

然后我注意到上面的要点(32位操作系统),所以我认为问题可能出在这一点上。

在Internet上有一些帖子,它可以解释Windows 10还带有Hyper-V,它与Oracle VM VirtualBox冲突。

所以我做了解决方案...

1。在组策略中禁用基于虚拟化的安全性

  • 启动运行应用程序并启动: gpedit.msc
  • 转到计算机配置>管理模板> Device Guard

enter image description here

  1. 禁用Microsoft Hyper-V

    • 启动运行应用程序并启动: OptionalFeatures.exe
    • 取消勾选:Hyper-V
    • 重新启动电脑

enter image description here

然后我们可以使用VM,它已启动。在上述两个步骤中,我相信第2步确实可以解决。

无论如何,请尝试一下,让我们知道是否有帮助。

答案 7 :(得分:2)

您必须禁用内存完整性。

转到设备安全性,然后转到核心隔离,禁用内存完整性并重新启动。

Memory Integrity似乎虚拟化了一些进程(在本例中为VMware),我们得到了这个错误。

如果控制台上显示“这是由管理员管理的”,您还可以从注册表编辑器中禁用内存完整性。

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceGuard\Scenarios\HypervisorEnforcedCodeIntegrity

双击Enabled并将其值从1更改为0以禁用它。

有用的来源:https://forums.virtualbox.org/viewtopic.php?t=86977#p420584

答案 8 :(得分:1)

docs中一样,如果您在Windows上,则可以使用hyperv驱动程序。

  

适用于Windows的Docker -您可以将docker-machinehyperv一起使用   驱动程序以创建其他本地计算机。

答案 9 :(得分:1)

我想学习如何在 virtualbox 中使用 vagrant ,当我收到错误消息“ 原始模式不适用于Hyper-V ”。 要解决此问题,我想我做了上面建议的所有更改(谢谢大家),还有其他一些内容。

让我总结一下:

cmd: optionalfeatures
关闭“ Hyper-V”
关闭“容器”
关闭“ Linux的Windows子系统”

Turn off 'Hyper-V' and 'Containers' Turn off 'Windows Subsystem for Linux'

cmd: bcdedit /set hypervisorlaunchtype off

bcdedit hypervisorlaunchtype off

cmd: gpedit.msc
本地计算机策略->计算机配置->管理模板->系统-> Device Guard->
禁用“启用基于虚拟化的安全性”

Disable Virtualization Based Security

设置->更新和安全-> Windows安全->设备安全->核心隔离详细信息->内存完整性->关闭

enter image description here

答案 10 :(得分:1)

就我而言,是Docker引起了问题:

enter image description here

答案 11 :(得分:0)

以管理员模式运行CMD 1.bcdedit 2.关闭bcdedit /设置hypervisorlaunchtype 3.重新启动系统

这对我有用!

答案 12 :(得分:0)

答案 13 :(得分:0)

对我来说,以下三个组合是解决方案:

1。 控制面板>打开或关闭Windows功能> Hyper-V:取消选择

2。 admin cmd > bcdedit> hypervisorlaunchtype:自动 禁用: bcdedit / set hypervisorlaunchtype off

3。 gpedit.msc >'计算机配置>管理模板> Device Guard '>启用基于虚拟化的安全性: 从“未配置”更改为“已禁用”

重新启动


注意:重启后,VirtualBox可以正常工作,但是Docker Desktop的VirtualBox开始抱怨缺少Hyper-V!

看来这可能是我所有邪恶的根源... 额外信息:https://forums.docker.com/t/running-docker-and-virtualbox-on-the-same-machine/23578/13

答案 14 :(得分:0)

就我而言,问题出在我尝试使用ubuntu / xenial64的特定盒子上,我只需要切换到centos / 7,所有这些错误就消失了。

希望这对某人有帮助。

答案 15 :(得分:0)

我遇到了同样的问题

虚拟机在我的Windows机器上运行平稳,但是当新的虚拟机出现时,虚拟机开始给我这个错误,并相信我只解决了一些S%$&问题

就我而言,仅通过安装Windows扩展包即可解决此问题

答案 16 :(得分:0)

这是最简单的方法。

1)去这里下载Device Guard和Credential Guard硬件准备工具-https://www.microsoft.com/en-us/download/details.aspx?id=53337

2)找到下载内容的“ DG_Readiness_Tool_v3.5.ps1”的文件夹路径,并在启用Powershell“ unrestricted”后运行以下命令。     “ ./DG_Readiness_Tool_v3.5.ps1-禁用-自动重新启动”

3)重新启动计算机时,按F3确认以禁用功能

答案 17 :(得分:0)

Mi帮助:Windows Defender设置>>设备安全性>>核心绝缘(详细信息)>>内存完整性>>禁用(关闭)系统重启! 这个解决方案对我来说更好

答案 18 :(得分:0)

Mi帮助: Windows Defender设置>>设备安全性>>核心绝缘(详细信息)>>内存完整性>>禁用(关闭) 系统重启!

答案 19 :(得分:0)

在2018年7月更新Windows 10之后,我突然遇到了这个问题,Virtual Box丢失了64位OS选项,从而导致错误。

  

virtualbox原始模式不适用于Hyper-V Windows 10

尽管HYPER-V已已禁用 / 未安装 ...,但由于结果事件,导致现有的Laravel Homestead Boxs无法启动

FIX ! (对我有用)鼓卷。...

  

安装Hyper-V ...重新启动,再次卸载...重新启动...结束

答案 20 :(得分:0)

我有完全相同的问题并且做了与你相同的事情但没有成功。

我在

的日志中找到了一个条目
HM: HMR3Init: Falling back to raw-mode: VT-x is not available
VMSetError: F:\tinderbox\win-5.2\src\VBox\VMM\VMMR3\VM.cpp(361) int __cdecl 
VMR3Create(unsigned int,const struct VMM2USERMETHODS *,void (__cdecl *)(struct UVM *,void *,int,const char *,unsigned int,const char *,const char *,char *),void *,int (__cdecl *)(struct UVM *,struct VM *,void *),void *,struct VM **,struct UVM **); rc=VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT
00:00:05.088846 
VMSetError: Raw-mode is unavailable courtesy of Hyper-V. 00:00:05.089946 

ERROR [COM]: aRC=E_FAIL (0x80004005) aIID={872da645-4a9b-1727-bee2-5585105b9eed} aComponent={ConsoleWrap} aText={Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_V_ROOT)}, preserve=false aResultDetail=0 00:00:05.090271 Console: Machine state changed to 'PoweredOff'

我的芯片说它有VT-x并且在Bios中打开,但是日志说没有 HM:HMR3Init:回退到原始模式:VT-x不可用 我有一个6个月大的联想瑜伽与2.7-GHz英特尔酷睿i7-7500U

我尝试了以下内容,但它对我不起作用。

从这个帖子https://forums.virtualbox.org/viewtopic.php?t=77120#p383348我尝试禁用Device Guard但Windows不会关闭,所以我重新启用它。

我用过这条路...... 在主机操作系统上,单击“开始”&gt;单击“运行”,键入gpedit.msc,然后单击“确定”。本地组策略编辑器打开。 转到本地计算机政策&gt; <计算机配置>管理模板&gt;系统&gt;设备保护&gt;打开基于虚拟化的安全性。选择已禁用。