簡體   English   中英

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

[英]How to disable Hyper-V in command line?

我正在嘗試打開 VMware,它說 VMware 播放器和 Hyper-V 不兼容。 我在這里找到了它,但使用它提供的命令無法正常工作。

我試圖查看幫助,發現那里有/hypervisorsettings選項。 但仍然無法使用它,它說The parameter is incorrect

有人能幫忙嗎?

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

要禁用:

bcdedit /set hypervisorlaunchtype off

啟用:

bcdedit /set hypervisorlaunchtype auto 

(來自評論-重啟生效)

您可以在管理員提示符下進行帶有和不帶有 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

此命令有效

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

運行它,然后在出現提示時同意重新啟動計算機。

我在 Windows 10 上以提升權限的 PowerShell 運行它,但它也應該在 Win 8 或 7 上運行。

命令行:

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

如果有人得到:

我們無法完成更新,正在撤消更改

嘗試禁用 Hyper-V 后,嘗試從設備管理器->網絡適配器卸載 Hyper-V 虛擬網絡適配器

以管理員身份打開命令提示符並運行以下命令:

bcdedit /set {current} hypervisorlaunchtype off

重新啟動后,仍然安裝 Hyper-V,但 Hypervisor 不再運行。 現在您可以毫無問題地使用 VMware。

如果您再次需要 Hyper-V,請以管理員身份打開命令提示符並運行以下命令:

bcdedit /set {current} hypervisorlaunchtype auto

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

右鍵單擊-> 創建桌面快捷方式。 右鍵快捷方式->屬性->快捷方式選項卡下->高級->以管理員身份運行

以管理員身份打開命令提示符並寫入:

bcdedit /set hypervisorlaunchtype off

這不是對 OP 問題的直接回答,但是如果您嘗試了所有命令並且 Hyper-V 顯示為禁用,但仍然無法啟動 VirtualBox 或 VMWare 等虛擬化軟件,並且碰巧您啟用了 WSL2你的機器

以下解決方案可能對您有用。

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

這是一個問題,下面的所有三個都應該被禁用/取消選中。

  • 虛擬機平台
  • Windows 管理程序平台
  • 適用於 Linux 的 Windows 子系統

重新開始!

你可以使用我的腳本。 將代碼行粘貼到記事本並保存為 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

我嘗試了所有的堆棧溢出,但都沒有奏效。 但這對我有用:

  1. 開放系統配置
  2. 單擊服務選項卡
  3. 取消選中所有與 Hyper-V 相關的

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

它不適用於給定的命令。 但是,當您轉到 Power Shell 並使用命令 CMD 然后使用 bcdedit /set {current} hypervisorlaunchtype [off 或 on 選擇任何] 輸入 on 或 off 時,它可以正常工作。

我通過以下方式解決了它:

1. bcdedit /set hypervisorlaunchtype off 在此處輸入圖像描述

結果[失敗!]

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

在此處輸入圖像描述

結果[失敗!]

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

在此處輸入圖像描述

結果[失敗!]

錯誤是我沒有在命令提示符下以管理員身份登錄,因此上述所有步驟 [失敗!]

它應該是這樣的:

1.打開windows搜索在此處輸入圖像描述

2.搜索cmd 在此處輸入圖像描述

3.右鍵單擊命令提示符在此處輸入圖像描述

4.點擊以管理員身份運行

5. 輸入 cmd bcdedit /set hypervisorlaunchtype off 在此處輸入圖像描述

並且已經看到[成功√]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM