¿Cómo deshabilitar Hyper-V en la línea de comandos?


106

Estoy intentando abrir VMware, dice que el reproductor VMware y Hyper-V no son compatibles. Lo encontré aquí , pero no funciona con el comando que ofrece.

Intenté ver la ayuda y descubrí que hay una /hypervisorsettingsopción allí. Pero todavía no funciona con eso, dice The parameter is incorrect.

¿Alguien puede ayudarme con esto?


5
Encontré una forma de trabajo aquí: dism.exe /Online /Disable-Feature:Microsoft-Hyper-Vy dism.exe /Online /Enable-Feature:Microsoft-Hyper-V /All, pero todavía no sé cómo bcdeditfunciona.
— Sky

Respuestas:


239

En un símbolo del sistema elevado , escriba esto:

Deshabilitar:

bcdedit /set hypervisorlaunchtype off

Para permitir:

bcdedit /set hypervisorlaunchtype auto 

(De los comentarios: reiniciar para que surta efecto)


Incluso olvidé esta pregunta. Usé esto en realidad en ese entonces, pero no funcionó. De todos modos, funciona ahora. Gracias.
— Sky

5
En caso de que no necesite específicamente una solución de línea de comandos, sino algo realmente simple y rápido, puede usar mi herramienta Hyper-V Switch que usa el método bcdedit internamente y coloca una GUI de un clic sobre ella. Funciona en mi computadora con Windows 10.
— ygoe

1
Asegúrese de reiniciar la computadora después de cambiar esta configuración
— justderb

2
@LukeSkCzEnDeRuPl Probablemente debería editar su respuesta y mencionar que debe reiniciar después del comando.
— ChrisB

Seguí adelante y edité la respuesta agregando una oración al final que menciona que es necesario reiniciar.
— Dan Nissenbaum

31

Este comando funciona

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

Ejecútelo y luego acepte reiniciar la computadora cuando se le solicite.

Lo ejecuté con permisos elevados PowerShell en Windows 10, pero también debería funcionar en Win 8 o 7.


1
¿Hay alguna forma de lograr esto sin reiniciar?
— rustyx

¿Y qué hay de volver a habilitar Hyper-V nuevamente a través de cmd? ¡Gracias!
— statosdotcom

2
Este comando elimina completamente la función HyperV con sus archivos y programas. El comando bcdedit es mejor para deshabilitarlo y ejecutar VirtualBox o VMware en su lugar.

Mi instalación de Hyper-V decidió renunciar a mí sin ningún motivo (estoy ejecutando Windows 10 Pro v1703 build 15063.786). Intenté (desinstalar / volver a instalar) a través del menú de características de Windows, Powershell y DISM. Todos no dieron ningún error, pero tan pronto como intento crear / agregar una nueva VM, y quiero terminar el último paso, Hyper-V arroja un error que no pudo abrir / acceder a algo porque un objeto no parece exist (captura de pantalla holandesa): i.imgur.com/07hem57.png La misma historia cuando se ejecuta con privilegios elevados / de administrador. Aparentemente no es posible restaurar / reparar completamente el producto / módulos de Hyper-V ...
— script'n'code

30

Puede tener una configuración de Windows 10 con y sin Hyper-V de la siguiente manera en un indicador de administración:

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

busque la nueva identificación de la entrada de arranque "Windows 10 no Hyper-V" recién creada, por ejemplo. {094a0b01-3350-11e7-99e1-bc5ec82bc470}

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

Después de reiniciar, puede elegir entre Windows 10 con y sin Hyper-V al inicio


1
Para encontrar la nueva identificación, escriba "bcdedit" y luego busque el identificador {XXX} en la configuración del cargador de arranque agregada.
— user797717

Ayuda !!!!!!! Haciendo esto, mi pc ya no se inicia ... permanecer en la pantalla de bienvenida de Windows 10 toda la noche ???!?!?
— Falco

¿Reemplazaste la identificación en mi ejemplo?
— hfmanson

2
Si ejecuta este comando en PowerShell, asegúrese de poner {current}y {GUID}entre " "como:"{current}"
— Nicke Manarin

15

Línea de comando:

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

Si alguien está recibiendo:

No pudimos completar las actualizaciones, deshaciendo cambios

después de intentar deshabilitar Hyper-V, intente desinstalar los adaptadores de red virtual de Hyper-V desde su Administrador de dispositivos-> Adaptadores de red


Esto hace que la actualización de Windows falle, gracias por la información
— Benny

5

Abra un símbolo del sistema como administrador y ejecute este comando:

bcdedit /set {current} hypervisorlaunchtype off

Después de un reinicio, Hyper-V todavía está instalado pero el hipervisor ya no se ejecuta. Ahora puede utilizar VMware sin problemas.

Si necesita Hyper-V nuevamente, abra un símbolo del sistema como administrador y ejecute este comando:

bcdedit /set {current} hypervisorlaunchtype auto

¿Hay alguna diferencia / ventaja en usar bcdedit /set {current} ...over bcdedit /set ...?
— mwfearnley

3

Abra el símbolo del sistema como administrador y escriba:

bcdedit /set hypervisorlaunchtype off

2

El OP tuvo la mejor respuesta para mí y parece que otros también han descubierto la adición de -All. Configuré dos archivos por lotes, luego accesos directos a ellos para que pueda configurar los permisos Ejecutar como administrador en ellos, fácil.

Lote apagado

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

Lote encendido

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

Haga clic con el botón derecho -> crear acceso directo en el escritorio. Haga clic con el botón derecho en el acceso directo -> propiedades -> debajo de la pestaña de acceso directo -> Avanzado -> Ejecutar como administrador


0

puedes usar mi script. pegue las líneas de código en el bloc de notas y guárdelas como vbs (por ejemplo, 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, se debe intentar explicar qué hace un fragmento de código / cómo funciona al responder una pregunta.
— Sebastian Lenartowicz

1
@SebastianLenartowicz me parece que se explica por sí mismo. El script simplemente establecerá el tipo de lanzamiento del hipervisor en automático o desactivado y también exportará la configuración actual a través del comando bcdedit.
— user797717
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.