136

我正在尝试打开 VMware,它说 VMware 播放器和 Hyper-V 不兼容。我在这里找到了它,但使用它提供的命令无法正常工作。

我试图查看帮助,发现那里有/hypervisorsettings选项。但仍然无法使用它,它说The parameter is incorrect

有人能帮忙吗?

4

10 回答 10

319

提升的命令提示符中写下:

要禁用:

bcdedit /set hypervisorlaunchtype off

启用:

bcdedit /set hypervisorlaunchtype auto 

(来自评论-重启生效)

于 2016-03-05T10:26:51.073 回答
42

您可以在管理员提示符下进行带有和不带有 Hyper-V 的 Windows 10 配置,如下所示:

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 的 Windows 10

于 2017-05-08T08:44:57.893 回答
31

此命令有效

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

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

我在 Windows 10 上以提升权限的 PowerShell 运行它,但它也应该在 Win 8 或 7 上运行。

于 2016-05-10T15:59:41.993 回答
19

命令行:

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

如果有人得到:

我们无法完成更新,正在撤消更改

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

于 2016-09-23T11:28:36.370 回答
5

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

bcdedit /set {current} hypervisorlaunchtype off

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

如果您再次需要 Hyper-V,请以管理员身份打开命令提示符并运行以下命令:

bcdedit /set {current} hypervisorlaunchtype auto
于 2017-12-01T18:15:08.113 回答
2

OP 对我来说是最好的答案,似乎其他人也想出了 -All 添加。我设置了两个批处理文件,然后设置了这些文件的快捷方式,这样您就可以对它们设置 Run As Admin 权限,简单易行。

批量关闭

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

批处理

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

右键单击-> 创建桌面快捷方式。右键快捷方式->属性->快捷方式选项卡下->高级->以管理员身份运行

于 2020-03-03T03:50:50.197 回答
2

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

bcdedit /set hypervisorlaunchtype off
于 2020-01-11T16:42:40.203 回答
1

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

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

前往Control Panel> Programs & Features>Turn Windows Feature On/OFF

这是一个问题,下面的所有三个都应该被禁用/取消选中。

  • 虚拟机平台
  • Windows 管理程序平台
  • 适用于 Linux 的 Windows 子系统

重新开始!

于 2021-06-29T04:34:28.743 回答
0

我尝试了所有的堆栈溢出,但都没有奏效。但这对我有用:

  1. 开放系统配置
  2. 单击服务选项卡
  3. 取消选中所有与 Hyper-V 相关的
于 2020-09-30T07:14:50.997 回答
0

你可以使用我的脚本。将代码行粘贴到记事本并保存为 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
于 2017-07-18T09:14:42.413 回答