¿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.