Wie deaktiviere ich Hyper-V in der Kommandozeile?

106

Ich versuche, VMware zu öffnen. Es heißt, dass VMware Player und Hyper-V nicht kompatibel sind. Ich habe es hier gefunden , aber es funktioniert nicht mit dem Befehl, den es bietet.

Ich habe versucht, die Hilfe zu sehen, und festgestellt, dass es dort eine /hypervisorsettingsOption gibt. Aber immer noch nicht damit arbeiten, heißt es The parameter is incorrect.

Kann mir jemand dabei helfen?

Himmel
quelle
5
Ich habe hier einen Arbeitsweg gefunden: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Vund dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, weiß aber immer noch nicht, wie es bcdeditfunktioniert.
Himmel

Antworten:

239

Schreiben Sie in einer Eingabeaufforderung mit erhöhten Rechten Folgendes:

Etwas deaktivieren:

bcdedit /set hypervisorlaunchtype off

Ermöglichen:

bcdedit /set hypervisorlaunchtype auto 

(Aus Kommentaren - Neustart, um wirksam zu werden)

LukeSkCzEnDeRuPl
quelle
Ich habe diese Frage sogar vergessen. Ich habe das damals tatsächlich benutzt, aber es hat nicht funktioniert. Wie auch immer, es funktioniert jetzt. Vielen Dank.
Himmel
5
Für den Fall, dass Sie keine spezielle Befehlszeilenlösung benötigen, sondern nur etwas wirklich Einfaches und Schnelles, können Sie mein Tool Hyper-V Switch verwenden, das intern die bcdedit-Methode verwendet und eine Ein-Klick-GUI darüber legt. Funktioniert auf meinem Windows 10-Computer.
Ygoe
1
Stellen Sie sicher, dass Sie den Computer neu starten, nachdem Sie diese Einstellung
geändert haben
2
@LukeSkCzEnDeRuPl Sie sollten wahrscheinlich Ihre Antwort bearbeiten und erwähnen, dass Sie nach dem Befehl neu starten müssen.
ChrisB
Ich habe gerade die Antwort bearbeitet, indem ich am Ende einen Satz hinzugefügt habe, in dem erwähnt wird, dass ein Neustart erforderlich ist.
Dan Nissenbaum
31

Dieser Befehl funktioniert

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

Führen Sie es aus und stimmen Sie zu, den Computer neu zu starten, wenn Sie dazu aufgefordert werden.

Ich habe es in PowerShell mit erhöhten Berechtigungen unter Windows 10 ausgeführt, aber es sollte auch unter Win 8 oder 7 funktionieren.

DivineOps
quelle
1
Gibt es eine Möglichkeit, dies ohne einen Neustart zu erreichen?
Rustyx
Und was ist mit der erneuten Aktivierung von Hyper-V über cmd? Danke dir!
statosdotcom
2
Dieser Befehl entfernt die HyperV-Funktion mit ihren Dateien und Programmen vollständig. Mit dem Befehl bcdedit können Sie ihn am besten deaktivieren und stattdessen VirtualBox oder VMware ausführen.
Meine Hyper-V-Installation hat beschlossen, mich ohne Grund aufzugeben (ich verwende Windows 10 Pro v1703 Build 15063.786). Ich habe versucht, es über das Windows-Funktionsmenü, Powershell und DISM (zu deinstallieren). Sie alle gaben keinen Fehler aus, aber sobald ich versuche, eine neue VM zu erstellen / hinzuzufügen und den letzten Schritt abschließen möchte, gibt Hyper-V einen Fehler aus, dass etwas nicht geöffnet werden konnte, da ein Objekt nicht angezeigt wird vorhanden (niederländischer Screenshot): i.imgur.com/07hem57.png Dieselbe Geschichte, wenn es mit erhöhten / Administratorrechten ausgeführt wird. Anscheinend ist es nicht möglich, das Hyper-V-Produkt / die Hyper-V-Module vollständig wiederherzustellen / zu reparieren ...
script'n'code
30

Sie können eine Windows 10-Konfiguration mit und ohne Hyper-V wie folgt in einer Admin-Eingabeaufforderung vornehmen:

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

Suchen Sie die neue ID des gerade erstellten Bootentrys "Windows 10 no Hyper-V", z. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Nach dem Neustart können Sie beim Start zwischen Windows 10 mit und ohne Hyper-V wählen

hfmanson
quelle
1
Um die neue ID zu finden, geben Sie "bcdedit" ein und suchen Sie in der hinzugefügten Bootloader-Konfiguration nach der Kennung {XXX}.
user797717
Hilfe !!!!!!! Dabei startet mein PC nicht mehr ... bleibt die ganze Nacht auf dem Begrüßungsbildschirm von Windows 10 ???!?!?
Falco
Haben Sie die ID in meinem Beispiel ersetzt?
Hfmanson
2
Wenn Sie diesen Befehl auf PowerShell ausführen, stellen Sie sicher, dass Sie das {current}und {GUID}dazwischen " "wie "{current}"
folgt
15

Befehlszeile:

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

Wenn jemand bekommt:

Wir konnten die Updates nicht abschließen und Änderungen rückgängig machen

Deinstallieren Sie nach dem Versuch, Hyper-V zu deaktivieren, die virtuellen Hyper-V-Netzwerkadapter von Ihrem Geräte-Manager-> Netzwerkadapter

Ignas Vyšnia
quelle
Dies führt dazu, dass Windows Update fehlschlägt, danke für die Info
Benny
5

Öffnen Sie eine Eingabeaufforderung als Administrator und führen Sie diesen Befehl aus:

bcdedit /set {current} hypervisorlaunchtype off

Nach einem Neustart ist Hyper-V weiterhin installiert, der Hypervisor wird jedoch nicht mehr ausgeführt. Jetzt können Sie VMware ohne Probleme verwenden.

Wenn Sie Hyper-V erneut benötigen, öffnen Sie eine Eingabeaufforderung als Administrator und führen Sie diesen Befehl aus:

bcdedit /set {current} hypervisorlaunchtype auto
Iasmini Gomes
quelle
Gibt es einen Unterschied / Vorteil bei der Verwendung von bcdedit /set {current} ...Over bcdedit /set ...?
mwfearnley
3

Öffnen Sie die Eingabeaufforderung als Administrator und schreiben Sie:

bcdedit /set hypervisorlaunchtype off
Fodor Codrut
quelle
2

Das OP hatte die beste Antwort für mich und es scheint, dass andere auch den Zusatz -All herausgefunden haben. Ich habe zwei Batch-Dateien eingerichtet und dann Verknüpfungen zu diesen erstellt, damit Sie die Berechtigungen "Als Administrator ausführen" für sie festlegen können.

Batch Off

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

Batch On

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

Klicken Sie mit der rechten Maustaste -> Desktop-Verknüpfung erstellen. Klicken Sie mit der rechten Maustaste auf die Verknüpfung -> Eigenschaften -> unter der Registerkarte Verknüpfung -> Erweitert -> Als Administrator ausführen

Bob Phrapples
quelle
0

Sie können mein Skript verwenden. Fügen Sie Codezeilen in den Editor ein und speichern Sie sie als vbs (z. B. 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
Teknokadim
quelle
2
Normalerweise sollte man versuchen zu erklären, was ein Code-Snippet macht / wie es funktioniert, wenn man eine Frage beantwortet.
Sebastian Lenartowicz
1
@SebastianLenartowicz sieht für mich selbsterklärend aus. Das Skript setzt lediglich den Hypervisorlaunchtyp auf Auto oder Off und exportiert auch die aktuellen Einstellungen über den Befehl bcdedit.
user797717