Come disabilitare Hyper-V nella riga di comando?


106

Sto provando ad aprire VMware, dice che il lettore VMware e Hyper-V non sono compatibili. L'ho trovato qui , ma non funziona utilizzando il comando che offre.

Ho provato a vedere l'aiuto, ho scoperto che c'è /hypervisorsettingsun'opzione lì. Ma ancora non funziona, dice The parameter is incorrect.

Qualcuno può aiutare con questo?


5
Ho trovato un modo di lavorare qui: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Ve dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, ma ancora non so come bcdeditfunziona.
— Sky

Risposte:


240

In un prompt dei comandi con privilegi elevati scrivi questo:

Disabilitare:

bcdedit /set hypervisorlaunchtype off

Abilitare:

bcdedit /set hypervisorlaunchtype auto 

(Dai commenti: riavvia per avere effetto)


Ho persino dimenticato questa domanda. In realtà l'ho usato allora, ma non ha funzionato. Comunque, ora funziona. Grazie.
— Sky

5
Nel caso in cui non hai specificamente bisogno di una soluzione da riga di comando ma piuttosto solo qualcosa di veramente semplice e veloce, potresti usare il mio strumento Hyper-V Switch che utilizza internamente il metodo bcdedit e mette una GUI con un clic su di esso. Funziona sul mio computer Windows 10.
— ygoe

1
Assicurati di riavviare il computer dopo aver modificato questa impostazione
— justderb

2
@LukeSkCzEnDeRuPl Probabilmente dovresti modificare la tua risposta e menzionare che devi riavviare dopo il comando.
— ChrisB

Sono andato avanti e ho modificato la risposta aggiungendo una frase alla fine in cui si dice che è necessario un riavvio.
— Dan Nissenbaum

31

Questo comando funziona

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

Eseguilo, quindi accetta di riavviare il computer quando richiesto.

L'ho eseguito con autorizzazioni elevate PowerShell su Windows 10, ma dovrebbe funzionare anche su Win 8 o 7.


1
C'è un modo per ottenere questo risultato senza un riavvio?
— rustyx

E che dire della riattivazione di Hyper-V tramite cmd? Grazie!
— statosdotcom

2
Questo comando rimuove completamente la funzionalità HyperV con i suoi file e programmi. Il comando bcdedit è meglio disabilitarlo ed eseguire VirtualBox o VMware al posto di esso.

La mia installazione di Hyper-V ha deciso di rinunciare a me senza motivo (sto eseguendo Windows 10 Pro v1703 build 15063.786). Ho provato a (disinstallare / re) installarlo tramite il menu Funzionalità di Windows, Powershell e DISM. Tutti non hanno dato errori, ma non appena provo a creare / aggiungere una nuova VM e voglio completare l'ultimo passaggio, Hyper-V genera un errore che non può aprire / accedere a qualcosa perché un oggetto non sembra exist (schermata olandese): i.imgur.com/07hem57.png Stessa storia quando lo si esegue con privilegi elevati / amministratore. Apparentemente non è possibile ripristinare / riparare completamente il prodotto / i moduli Hyper-V ...
— script'n'code

30

Puoi avere una configurazione di Windows 10 con e senza Hyper-V come segue in un prompt dell'amministratore:

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

trova il nuovo id del bootentry "Windows 10 no Hyper-V" appena creato, es. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Dopo il riavvio puoi scegliere tra Windows 10 con e senza Hyper-V all'avvio


1
Per trovare il nuovo ID, digitare "bcdedit" e quindi cercare l'identificatore {XXX} nella configurazione del boot loader aggiunta.
— user797717

Aiuto !!!!!!! In questo modo il mio pc non si avvia più ... rimango nella schermata di benvenuto di windows 10 tutta la notte ???!?!?
— Falco

hai sostituito l'id nel mio esempio?
— hfmanson

2
Se esegui questo comando su PowerShell, assicurati di inserire {current}e {GUID}tra " "come:"{current}"
— Nicke Manarin

15

Riga di comando:

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

Se qualcuno sta ottenendo:

Non è stato possibile completare gli aggiornamenti, annullamento delle modifiche

dopo aver provato a disabilitare Hyper-V, prova a disinstallare gli adattatori di rete virtuale Hyper-V da Gestione dispositivi-> Schede di rete


Ciò causa il fallimento dell'aggiornamento di Windows, grazie per le informazioni
— Benny

5

Apri un prompt dei comandi come amministratore ed esegui questo comando:

bcdedit /set {current} hypervisorlaunchtype off

Dopo un riavvio, Hyper-V è ancora installato ma Hypervisor non è più in esecuzione. Ora puoi utilizzare VMware senza problemi.

Se hai bisogno di nuovo di Hyper-V, apri un prompt dei comandi come amministratore ed esegui questo comando:

bcdedit /set {current} hypervisorlaunchtype auto

C'è qualche differenza / vantaggio nell'usare bcdedit /set {current} ...over bcdedit /set ...?
— mwfearnley il

3

Apri il prompt dei comandi come amministratore e scrivi:

bcdedit /set hypervisorlaunchtype off

2

L'OP ha avuto la risposta migliore per me e sembra che anche altri abbiano capito l'aggiunta -All. Ho impostato due file batch, quindi collegamenti a quelli in modo da poter impostare le autorizzazioni Esegui come amministratore su di essi, facile.

Lotto

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

Batch On

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

Fare clic con il pulsante destro del mouse -> creare collegamento sul desktop. Fare clic con il tasto destro del mouse sul collegamento -> proprietà -> nella scheda del collegamento -> Avanzate -> Esegui come amministratore


0

puoi usare il mio script. incolla le righe di codice nel blocco note e salva come vbs (ad esempio 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

2
Normalmente, si dovrebbe tentare di spiegare cosa fa / come funziona uno snippet di codice quando si risponde a una domanda.
— Sebastian Lenartowicz

1
@SebastianLenartowicz mi sembra autoesplicativo. Lo script imposterà semplicemente hypervisorlaunchtype su auto o off ed esporterà anche le impostazioni correnti tramite il comando bcdedit.
— user797717
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.