Forma conveniente de habilitar / deshabilitar Hyper-V en Windows 8

76

Realmente me gusta el soporte de Hyper-V en Windows 8, sin embargo, hay algunas situaciones en las que necesito deshabilitar Hyper-V para ejecutar algunas aplicaciones que no desean ejecutar incluso en la partición raíz del entorno virtualizado .
Lo que he estado haciendo actualmente es deshabilitar la función por completo desde el cuadro de diálogo "Agregar o quitar funciones de Windows" y reiniciar, habilitándola nuevamente cuando sea necesario.
Me gustaría saber si hay alguna manera mejor de hacer esto que se me ocurra, incluso podría ser un acceso directo en el que podría hacer doble clic y realmente agregaría o eliminaría la función y reiniciaría (supongo que esto puede ser posible con un script de PowerShell).

Fredy Treboux
fuente
El método que está utilizando es el mejor y único método compatible.
Ramhound
1
@Ramhound Puede usar dism.exe para habilitar funciones desde la línea de comandos. Así es como automatizamos la instalación de .NET 3.5 en Windows 8, por ejemplo. En teoría, también puedes desactivar las funciones de esa manera, pero no lo he probado.
Mark Allen

Respuestas:

65

Descargo de responsabilidad : no he hecho esto para eliminar una característica, Y como advertencia final, probablemente habrá una gran cantidad de actualizaciones de Windows Update para instalar cada vez que lo habilites nuevamente.

Dicho esto, desde un símbolo del sistema elevado:

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

y

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

Así es como se ejecuta el comando enable en mi PC, que ya tiene Hyper-V habilitado y ejecutándose:

> dism / Online / enable-feature: Microsoft-Hyper-V / All

Herramienta de administración y mantenimiento de imágenes de implementación Versión: 6.2.9200.16384

Versión de imagen: 6.2.9200.16384

Funciones habilitadoras [========================== 100.0% ================ ==========] La operación se completó con éxito.

Al habilitar la función, ya que es Hyper-V, es posible que le pida que reinicie y ejecute el comando nuevamente. Eso parece vagamente familiar. Podría terminar teniendo que reiniciar dos veces, en otras palabras. Pero tal vez no te lo haga, ya que esa máquina ya tenía Hyper-V habilitado antes.

Mark Allen
fuente
¡Gracias !, funcionó a las mil maravillas. Se reinició dos veces, pero no creo que haya una manera de superar eso. Además, se podría argumentar que no es una gran mejora sobre ir a la pantalla de características de Windows, pero una vez que se deja en el escritorio o se fija a la pantalla de inicio, seguramente es para personas perezosas como yo.
Fredy Treboux
¡Por supuesto! Me alegra que haya funcionado. Sí, normalmente las cosas de la línea de comandos se usan para configurar máquinas inicialmente, de modo que si necesita instalar .NET 3.5, Y Hyper-V, y un montón de otras cosas, puede hacerlo de forma completamente automática.
Mark Allen el
1
Es posible que desee utilizar /NoRestarten una configuración no interactiva (cuando se llama desde un script).
krlmlr
La respuesta a continuación con bcdedites mucho más rápida y es lo único necesario (aún debe reiniciar sin importar qué). Eso es lo que hago cuando necesito cambiar a VMWare.
user276648
@ user276648 Eso supone que Hyper-V está instalado, después de lo cual seguro, tal vez. Solo publiqué la respuesta que sabía.
Mark Allen
79

Esta es una vieja respuesta, pero en aras de la integridad y porque sabía que había una mejor manera que el resultado superior.

Desde un símbolo del sistema elevado:

bcdedit /set hypervisorlaunchtype off

para deshabilitar el hipervisor y:

bcdedit /set hypervisorlaunchtype auto

para volver a habilitarlo (valor predeterminado).

Por supuesto, aún requiere reiniciar.

Oscuro
fuente
1
Este es el camino a seguir si desarrolla aplicaciones de Windows Phone en un Microsoft Surface Pro 3 (por lo que necesita Hyper-V), pero desea que el modo de espera conectado funcione cuando no esté desarrollando activamente (a fines de 2014, el modo de espera conectado es no es compatible cuando se ejecuta el hipervisor).
Chris
Solo para publicar una actualización cuando vine aquí buscando los comandos anteriores nuevamente (para ejecutar VM Ware Player temporalmente): Windows 10 admite Hyper-V y Connected Standby al mismo tiempo en Tech Preview y solo puedo suponer que mantendrá la función a través de RTM. Parece funcionar bien en la vista previa en mi Surface Pro 3 hasta ahora.
Dan Harris
Esto me salvó de tanta frustración. A Hyper-V no le gusta mi controlador de video y Dell tiene bloqueadas las actualizaciones para que no pueda usar los controladores actualizados de Intel. Tengo que deshabilitar Hyper-V si no quiero ejecutar varios monitores.
Ed Charbeneau
10

Puede crear dos entradas de inicio para poder elegir iniciar el sistema operativo con o sin Hyper-V.

  1. Escriba lo siguiente en el símbolo del sistema:
bcdedit /copy {default} /d "No Hypervisor"
  1. Dice:
"The entry was successfully copied to {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}."
  1. Luego escriba el siguiente comando:
bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} hypervisorlaunchtype off
Maks
fuente
¡He visto esto ahora y parece bueno! Pero todavía no he tenido tiempo de probarlo.
Fredy Treboux
3
Solo una nota: si en Windows 10, debe usar {current}. Simplemente ejecute bcdedit para verificar. Además, no quiere funcionar en PowerShell, para cualquiera que lo haya probado.
dotbat
1
En PowerShell necesita usar comillas para la ID. Por ejemplo:bcdedit /set "{current}" hypervisorlaunchtype off
Kischkin
Esta es la respuesta más elegante hasta ahora, en mi opinión. Otro consejo es que puede mantener presionada la Shifttecla cuando hace clic Start -> Power button -> Restart, lo que le permitirá elegir si arrancar con / sin Hyper-V habilitado antes de reiniciar la computadora. Esto es especialmente útil cuando alguna forma de "arranque rápido" está habilitada en el BIOS, y es casi imposible presionar la tecla "ingresar BIOS" antes de que el gestor de arranque de Windows asuma el control.
Ben Johnson
mejor respuesta hasta ahora
Tien Dinh
7
  • Presione la tecla de Windows y escriba "características de Windows"
  • Presione la combinación de teclas Windows + W para que aparezca el panel de configuración de Windows de la pantalla de inicio.
  • Haga clic en Activar o desactivar las características de Windows
  • Cuando aparezca el cuadro de diálogo Activar o desactivar las características de Windows, busque Hyper-V y deseleccione
  • Haga clic en Aceptar
  • Reinica tu computadora cuando se te indique
  • Instalar VMware Workstation
  • Habilite Hyper-V nuevamente a través del cuadro de diálogo Activar o desactivar las características de Windows
  • Reinicia tu computadora

Para Windows 10:

  • Presione la tecla de Windows
  • Escribe "Activar o desactivar las características de Windows"
  • Anule la selección de la casilla de verificación junto a Hyper-V
  • Seleccione OK
  • Seleccione Reiniciar ahora
alex
fuente
Instalé vs2013 en w8.1 y aparentemente instaló hyper v haciendo que mi vbox no funcione. Gracias por una buena respuesta permanente.
MvcCmsJon
4

Powershell también es posible, usando DISM envuelto como cmdlets PS, y uno puede leer la configuración primero antes de hacer el cambio.

//Test
PS> Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

//Turn off
PS> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

//Turn on
PS> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

Refs

  1. Powershell vio en esta publicación de 2014-03 que resume todas las opciones, http://www.eightforums.com/tutorials/42041-hyper-v-enable-disable-windows-8-a.html ; MS Doc informa sobre la opción Get-WindowsOptionalFeature, http://technet.microsoft.com/en-us/library/hh852173.aspx
  2. La edición de datos de configuración de entrada de arranque (BECD) también puede leer (/ exportar) configuraciones, según http://technet.microsoft.com/en-us/library/cc709667%28v=ws.10%29.aspx y otros documentos http : //msdn.microsoft.com/en-us/library/windows/hardware/ff542202%28v=vs.85%29.aspx
AnneTheAgile
fuente
3

Puede usar el conmutador Hyper-V que básicamente emplea el método bcdedit ya descrito aquí pero coloca una simple GUI de un clic sobre él. Le muestra el estado de configuración actual y le permite habilitar o deshabilitar Hyper-V y también reinicia la computadora. Hice esta pequeña herramienta y funciona en mi computadora con Windows 10.

ygoe
fuente
1

Hice un script de PowerShell para ayudar a habilitar / deshabilitar Hyper-V. Esto verifica el estado para que no reinicies si ya estás en el estado deseado:

param([string]$state='Off')
'Set Hyper-V ' + $state
$lines = bcdedit
ForEach($line in $lines) {
    $pos = $line.IndexOf(' ')
    If($pos -gt 0) {
        $prompt = $line.Substring(0, $pos)
        $curstate = $line.Substring($pos).Trim()
        If($prompt -eq 'hypervisorlaunchtype') {
            '[' + $prompt + '] = [' + $curstate + ']'
            If($curstate -ne $state) {
                'Setting hypervisorlauchtype to ' + $state
                $result = bcdedit /set hypervisorlaunchtype $state
                'Result = [' + $result + ']'
                If($result -eq 'The operation completed successfully.') {
                    'Restarting in two seconds'
                    Start-Sleep -s 2
                    Restart-Computer
                } Else {
                    'Error setting state'
                    Start-Sleep -s 5
                }
            } Else {
                'Hypervisor launch type is already ' + $state
                Start-Sleep -s 5
            }
        }
    } 
}

Luego cree dos accesos directos en su escritorio "Hyper-V Off" Target:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\Scripts\SetHyper-V.ps1 -state Off

y el objetivo "Hyper-V activado":

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\Scripts\SetHyper-V.ps1 -state Auto`
Don Wilson
fuente