如何在命令行中禁用 Hyper-V?

我试图打开 VMware,它说 VMware 播放器和 Hyper-V 不兼容。我找到了它 给你,但是使用它提供的命令无法工作。

我想看看帮助,发现有 /hypervisorsettings的选择。但仍然不与它工作,它说 The parameter is incorrect

有人能帮忙吗?

284705 次浏览

升高了命令提示符中写下:

禁用:

bcdedit /set hypervisorlaunchtype off

使能:

bcdedit /set hypervisorlaunchtype auto

(从注释-重新启动生效)

这个命令有效

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

运行它,然后同意在提示时重新启动计算机。

我在 Windows10上以提升的权限运行 PowerShell,但它也应该可以在 Win8或7上运行。

命令行:

dism /online /disable-feature /featurename:microsoft-hyper-v-all

如果有人得到:

我们无法完成更新,撤销更改

在尝试禁用 Hyper-V 之后,尝试从设备管理器-> 网络适配器卸载 Hyper-V 虚拟网络适配器

你可以有一个 Windows 10配置和没有 Hyper-V 如下管理提示:

bcdedit /copy {current} /d "Windows 10 no Hyper-V"

找到刚刚创建的“ Windows 10 no Hyper-V”启动项的新 id,例如。 {094a0b01-3350-11e7-99e1-bc5ec82bc470}

bcdedit /set {094a0b01-3350-11e7-99e1-bc5ec82bc470} hypervisorlaunchtype Off

重新启动后,你可以在启动时选择使用或不使用 Hyper-V 的 Windows10

你可以用我的剧本。 将代码行粘贴到记事本并另存为 vbs (例如 switch _ hypervisor. vbs)

Option Explicit


Dim backupfile
Dim record
Dim myshell
Dim appmyshell
Dim myresult
Dim myline
Dim makeactive
Dim makepassive
Dim reboot
record=""
Set myshell = WScript.CreateObject("WScript.Shell")


If WScript.Arguments.Length = 0 Then
Set appmyshell  = CreateObject("Shell.Application")
appmyshell.ShellExecute "wscript.exe", """" & WScript.ScriptFullName & """ RunAsAdministrator", , "runas", 1
WScript.Quit
End if








Set backupfile = CreateObject("Scripting.FileSystemObject")
If Not (backupfile.FileExists("C:\bcdedit.bak")) Then
Set myresult = myshell.Exec("cmd /c bcdedit /export c:\bcdedit.bak")
End If


Set myresult = myshell.Exec("cmd /c bcdedit")
Do While Not myresult.StdOut.AtEndOfStream
myline = myresult.StdOut.ReadLine()


If myline="The boot configuration data store could not be opened." Then
record=""
exit do
End If
If Instr(myline, "identifier") > 0 Then
record=""
If Instr(myline, "{current}") > 0 Then
record="current"
End If
End If
If Instr(myline, "hypervisorlaunchtype") > 0 And record = "current" Then
If Instr(myline, "Auto") > 0 Then
record="1"
Exit Do
End If
If Instr(myline, "On") > 0 Then
record="1"
Exit Do
End If
If Instr(myline, "Off") > 0 Then
record="0"
Exit Do
End If
End If
Loop


If record="1" Then
makepassive = MsgBox ("Hypervisor status is active, do you want set to passive? ", vbYesNo, "Hypervisor")
Select Case makepassive
Case vbYes
myshell.run "cmd.exe /C  bcdedit /set hypervisorlaunchtype off"
reboot = MsgBox ("Hypervisor chenged to passive; Computer must reboot. Reboot now? ", vbYesNo, "Hypervisor")
Select Case reboot
Case vbYes
myshell.run "cmd.exe /C  shutdown /r /t 0"
End Select
Case vbNo
MsgBox("Not Changed")
End Select
End If


If record="0" Then
makeactive = MsgBox ("Hypervisor status is passive, do you want set active? ", vbYesNo, "Hypervisor")
Select Case makeactive
Case vbYes
myshell.run "cmd.exe /C  bcdedit /set hypervisorlaunchtype auto"
reboot = MsgBox ("Hypervisor changed to active;  Computer must reboot. Reboot now?", vbYesNo, "Hypervisor")
Select Case reboot
Case vbYes
myshell.run "cmd.exe /C  shutdown /r /t 0"
End Select
Case vbNo
MsgBox("Not Changed")
End Select
End If


If record="" Then
MsgBox("Error: record can't find")
End If

以管理员身份打开命令提示符并运行以下命令:

bcdedit /set {current} hypervisorlaunchtype off

在重新启动后,Hyper-V 仍在安装,但 Hypervisor 已不再运行。现在您可以毫无问题地使用 VMware 了。

如果你再次需要 Hyper-V,打开命令提示符作为管理员并运行以下命令:

bcdedit /set {current} hypervisorlaunchtype auto

以管理员身份打开命令提示符并写入:

bcdedit /set hypervisorlaunchtype off

OP 为我提供了最好的答案,而且看起来其他人也已经解决了-All 的加法。我设置了两个批处理文件,然后为这些文件设置快捷方式,以便您可以设置管理员的运行权限,很容易。

批量生产

Call dism.exe /Online /Disable-Feature:Microsoft-Hyper-V-All

继续

Call dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All

右击-> 创建桌面快捷方式。 在快捷方式选项卡-> Advanced-> Run as admin 下右键单击快捷方式-> properties->

我尝试了所有的堆栈溢出,但是都没有用,但是这个对我很有用:

  1. 开放式系统配置
  2. 单击“服务”选项卡
  3. 取消所有与 Hyper-V 相关的检查

这并不是对 OP 问题的直接回答,但是如果你已经尝试了所有的命令,Hyper-V 显示为禁用的,像 VirtualBox 或 VMWare 的 但仍然无法启动虚拟化软件,碰巧你已经在你的机器上启用了 WSL2

下面的解决方案可能对您有用。

转到 Control Panel > Programs & Features > Turn Windows Feature On/OFF

这里有一个陷阱,以下三个都应该被禁用/取消检查。

  • 虚拟机平台
  • Windows Hypervisor 平台
  • 用于 Linux 的 Windows 子系统

重启!

我在 https://www.interfacett.com/blogs/enabling-hypervisor-auto-start-boot-configuration-database-bcd/上找到了完美的解决方案

它不能处理给定的命令。但是,当您转到 PowerShell 并使用命令 CMD 时,请输入或关闭 Bcdedit/set { current } hypervisorlaunchtype [ off 或 on select any ] 那就没问题了。

我用下面的方法解决了这个问题:

1. bcdedit/set hypervisorlaunchtype off enter image description here

结果[失败! ]

2. bcdedit/set {872da645-4a9b-1727-bee2-5585105b9eed } hypervisorlaunchtype Off

enter image description here

结果[失败! ]

3. 禁用 -WindowsOptionalFeature-Online-FeatureName Microsoft-Hyper-V-All

enter image description here

结果[失败! ]

错误是我没有以管理员的身份在命令提示符下登录,因此上面的所有步骤都是[ FAIL! ]

应该是这样的:

1. 开放式视窗搜寻 enter image description here

2. 搜索 cmd enter image description here

3. 右键单击命令提示符 enter image description here

4. 单击 run 作为管理员

5. 输入 cmd bcdedit/set hypervisorlaunchtype off enter image description here

请参阅[ SUCCESSFUL √]