Comment désactiver Hyper-V en ligne de commande?


106

J'essaye d'ouvrir VMware, il dit que le lecteur VMware et Hyper-V ne sont pas compatibles. Je l'ai trouvé ici , mais cela ne fonctionne pas avec la commande qu'il propose.

J'ai essayé de voir l'aide, j'ai trouvé qu'il y avait une /hypervisorsettingsoption là-bas. Mais toujours pas travailler avec, dit-il The parameter is incorrect.

Quelqu'un peut-il aider avec ça?


5
J'ai trouvé un moyen de travailler ici: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Vet dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, mais je ne sais toujours pas comment bcdeditfonctionne.
Sky

Réponses:


240

Dans une invite de commande élevée , écrivez ceci:

Pour désactiver:

bcdedit /set hypervisorlaunchtype off

Autoriser:

bcdedit /set hypervisorlaunchtype auto 

(À partir des commentaires - redémarrer pour prendre effet)


J'ai même oublié cette question. J'ai utilisé cela à l'époque, mais cela n'a pas fonctionné. Quoi qu'il en soit, cela fonctionne maintenant. Merci.
Sky

5
Si vous n'avez pas spécifiquement besoin d'une solution de ligne de commande, mais plutôt de quelque chose de vraiment simple et rapide, vous pouvez utiliser mon outil Hyper-V Switch qui utilise la méthode bcdedit en interne et place une interface graphique en un clic dessus. Fonctionne sur mon ordinateur Windows 10.
ygoe

1
Assurez-vous de redémarrer l'ordinateur après avoir modifié ce paramètre
justderb

2
@LukeSkCzEnDeRuPl Vous devriez probablement modifier votre réponse et mentionner que vous devez redémarrer après la commande.
ChrisB

Je suis juste allé de l'avant et j'ai édité la réponse en ajoutant une phrase à la fin mentionnant qu'un redémarrage est nécessaire.
Dan Nissenbaum

31

Cette commande fonctionne

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

Exécutez-le puis acceptez de redémarrer l'ordinateur lorsque vous y êtes invité.

Je l'ai exécuté avec des autorisations élevées PowerShell sur Windows 10, mais il devrait également fonctionner sur Win 8 ou 7.


1
Existe-t-il un moyen d'y parvenir sans redémarrage?
rustyx

Et qu'en est-il de la réactivation d'Hyper-V via cmd? Je vous remercie!
statosdotcom

2
Cette commande supprime complètement la fonctionnalité HyperV avec ses fichiers et programmes. La commande bcdedit est préférable de la désactiver et d'exécuter VirtualBox ou VMware à la place.

Mon installation Hyper-V a décidé de m'abandonner sans raison (j'utilise Windows 10 Pro v1703 build 15063.786). J'ai essayé de (dés / ré) installer via le menu Fonctionnalités Windows, Powershell et DISM. Ils n'ont tous donné aucune erreur, mais dès que j'essaye de créer / ajouter une nouvelle machine virtuelle et que je veux terminer la dernière étape, Hyper-V renvoie une erreur indiquant qu'il n'a pas pu ouvrir / accéder à quelque chose car un objet ne semble pas exist (capture d'écran en néerlandais): i.imgur.com/07hem57.png Même chose lors de son exécution avec des privilèges / admin élevés. Apparemment, il n'est pas possible de restaurer / réparer complètement le produit / les modules Hyper-V ...
script'n'code

30

Vous pouvez avoir une configuration Windows 10 avec et sans Hyper-V comme suit dans une invite d'administration:

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

trouver le nouvel identifiant du bootentry "Windows 10 no Hyper-V" qui vient d'être créé, par exemple. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Après le redémarrage, vous pouvez choisir entre Windows 10 avec et sans Hyper-V au démarrage


1
Pour trouver le nouvel identifiant, tapez "bcdedit" puis recherchez l'identifiant {XXX} dans la configuration du chargeur de démarrage ajoutée.
user797717

Aidez-moi !!!!!!! En faisant cela, mon pc ne démarre plus ... reste sur l'écran d'accueil de Windows 10 toute la nuit ???!?!?
Falco le

avez-vous remplacé l'identifiant dans mon exemple?
hfmanson

2
Si vous exécutez cette commande sur PowerShell, assurez-vous de mettre le {current}et {GUID}entre " "comme:"{current}"
Nicke Manarin

15

Ligne de commande:

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

Si quelqu'un obtient:

Nous n'avons pas pu terminer les mises à jour, annulation des modifications

après avoir essayé de désactiver Hyper-V, essayez de désinstaller les cartes réseau virtuelles Hyper-V de votre Gestionnaire de périphériques-> Cartes réseau


Cela provoque l'échec de la mise à jour de Windows, merci pour l'info
Benny

5

Ouvrez une invite de commande en tant qu'administrateur et exécutez cette commande:

bcdedit /set {current} hypervisorlaunchtype off

Après un redémarrage, Hyper-V est toujours installé mais l'hyperviseur ne fonctionne plus. Vous pouvez désormais utiliser VMware sans aucun problème.

Si vous avez à nouveau besoin d'Hyper-V, ouvrez une invite de commande en tant qu'administrateur et exécutez cette commande:

bcdedit /set {current} hypervisorlaunchtype auto

Y a-t-il une différence / un avantage à utiliser bcdedit /set {current} ...over bcdedit /set ...?
mwfearnley

3

Ouvrez l'invite de commande en tant qu'administrateur et écrivez:

bcdedit /set hypervisorlaunchtype off

2

L'OP avait la meilleure réponse pour moi et il semble que d'autres aient également compris l'ajout -Tout. J'ai configuré deux fichiers de commandes, puis des raccourcis vers ceux-ci afin que vous puissiez définir les autorisations Exécuter en tant qu'administrateur sur eux, c'est facile.

Batch Off

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

Lot sur

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

Faites un clic droit -> créez un raccourci sur le bureau. Cliquez avec le bouton droit sur le raccourci -> propriétés -> sous l'onglet de raccourci -> Avancé -> Exécuter en tant qu'administrateur


0

vous pouvez utiliser mon script. collez les lignes de code dans le bloc-notes et enregistrez-les en tant que vbs (par exemple 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
Normalement, on devrait essayer d'expliquer ce que fait un extrait de code / comment il fonctionne en répondant à une question.
Sebastian Lenartowicz

1
@SebastianLenartowicz me semble explicite. Le script définira simplement le type d'hyperviseur sur auto ou off et exportera également les paramètres actuels via la commande bcdedit.
user797717
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.