Modo conveniente per abilitare / disabilitare Hyper-V in Windows 8


76

Mi piace molto il supporto Hyper-V in Windows 8, tuttavia ci sono alcune situazioni in cui è necessario disabilitare Hyper-V per eseguire alcune app che non amano essere eseguite anche nella partizione root dell'ambiente virtualizzato .
Quello che sto facendo attualmente è disabilitare completamente la funzionalità dalla finestra di dialogo "Aggiungi o rimuovi funzionalità di Windows" e riavviarla, abilitandola di nuovo quando necessario.
Vorrei sapere se c'è un modo migliore per farlo che mi viene in mente, potrebbe anche essere una scorciatoia che potrei fare doppio clic e in realtà aggiungere o rimuovere la funzione per me e riavviare (suppongo che questo potrebbe essere possibile con uno script di PowerShell).


Il metodo che stai utilizzando è il metodo migliore e l'unico supportato.
Ramhound,

1
@Ramhound È possibile utilizzare dism.exe per abilitare le funzionalità dalla riga di comando. Ecco come automatizziamo l'installazione di .NET 3.5 su Windows 8, ad esempio. In teoria puoi disabilitare anche le funzionalità in questo modo, ma non l'ho provato.
Mark Allen,

Risposte:


66

Disclaimer : non l'ho fatto per la rimozione di una funzionalità, e come avvertenza finale ci sarà probabilmente una serie di aggiornamenti di Windows Update da installare ogni volta che lo abiliti di nuovo.

Detto questo, da un prompt dei comandi elevato:

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

e

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

Ecco come appare il comando enable sul mio PC, che ha già Hyper-V abilitato e funzionante:

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

Strumento di gestione e manutenzione dell'immagine di distribuzione Versione: 6.2.9200.16384

Versione immagine: 6.2.9200.16384

Abilitazione delle funzioni [========================== 100,0% ================ ==========] Operazione completata correttamente.

Quando si abilita la funzione poiché è Hyper-V, potrebbe essere necessario riavviare ed eseguire nuovamente il comando. Sembra vagamente familiare. Potresti finire per riavviare due volte, in altre parole. Ma forse non te lo farà poiché quella macchina aveva già abilitato Hyper-V prima.


Grazie !, ha funzionato come un fascino. Si è riavviato due volte ma non credo che ci sia un modo per superarlo. Inoltre, si potrebbe sostenere che non è un grande miglioramento rispetto alla schermata delle funzionalità di Windows, ma una volta lasciato sul desktop o bloccato sulla schermata iniziale, sicuramente è per le persone pigre come me.
Fredy Treboux il

Sicuro! Sono contento che abbia funzionato. Sì, normalmente gli elementi della riga di comando vengono utilizzati inizialmente per configurare le macchine, quindi in questo modo se è necessario installare .NET 3.5, E Hyper-V e un sacco di altre cose, è possibile farlo in modo completamente automatico.
Mark Allen

1
Si consiglia di utilizzare /NoRestartin un'impostazione non interattiva (quando si chiama da uno script).
krlmlr,

La risposta che segue bcdeditè molto più veloce ed è l'unica cosa necessaria (devi comunque riavviare, qualunque cosa). Questo è quello che faccio ogni volta che devo passare a VMWare.
user276648

@ user276648 Questo presuppone che Hyper-V sia installato, dopodiché sicuramente, forse. Ho pubblicato solo la risposta che conoscevo.
Mark Allen,

82

Questa è una vecchia risposta, ma per completezza e perché sapevo che c'era un modo migliore del risultato migliore.

Da un prompt dei comandi elevato:

bcdedit /set hypervisorlaunchtype off

per disabilitare l'hypervisor e:

bcdedit /set hypervisorlaunchtype auto

per riattivarlo (valore predefinito).

Ovviamente richiede ancora il riavvio.


1
Questa è la strada da percorrere se sviluppi app di Windows Phone su un microsoft surface pro 3 (quindi hai bisogno di hyper-v), ma vuoi che lo standby connesso funzioni quando non lo stai attivamente sviluppando (a partire dalla fine del 2014, lo standby connesso è non supportato quando l'hypervisor è in esecuzione).
Chris,

Solo per pubblicare un aggiornamento mentre sono venuto qui cercando di nuovo i comandi sopra (Per eseguire temporaneamente VM Ware Player) - Windows 10 supporta contemporaneamente Hyper-V e Connected Standby nell'anteprima tecnica e posso solo supporre che manterrà la funzionalità fino a RTM. Sembra funzionare bene nell'anteprima sul mio Surface Pro 3 finora.
Dan Harris,

Questo mi ha salvato da così tanta frustrazione. Hyper-V non mi piace il mio driver video e dell ha aggiornamenti del driver bloccati, quindi non posso usare i driver aggiornati di Intel. Devo disabilitare Hyper-V se non voglio eseguire più monitor.
Ed Charbeneau,

10

È possibile creare due voci di avvio in modo da poter decidere di avviare il sistema operativo con o senza Hyper-V.

  1. Digitare quanto segue nel prompt dei comandi:
bcdedit /copy {default} /d "No Hypervisor"
  1. Dice:
"The entry was successfully copied to {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx}."
  1. Quindi digitare il comando seguente:
bcdedit /set {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} hypervisorlaunchtype off

L'ho visto ora e sembra buono! Ma non ha ancora avuto il tempo di provarlo da solo.
Fredy Treboux,

3
Solo una nota: se su Windows 10, devi usare {current}. Esegui bcdedit per verificare. Inoltre, non vuole funzionare in PowerShell, per chiunque lo abbia provato.
dotbat,

1
In PowerShell è necessario utilizzare le virgolette per l'ID. Ad esempio:bcdedit /set "{current}" hypervisorlaunchtype off
kishkin

Questa è la risposta più elegante finora, secondo me. Un altro suggerimento è che puoi tenere premuto il Shifttasto quando fai clic Start -> Power button -> Restart, il che ti permetterà di scegliere se avviare con / senza Hyper-V abilitato prima che il computer si riavvii. Ciò è particolarmente utile quando nel BIOS è abilitata una forma di "avvio rapido" ed è quasi impossibile premere il tasto "invio BIOS" prima che il bootloader di Windows assuma il controllo.
Ben Johnson,

migliore risposta finora
Tien Dinh

8
  • Premi il tasto Windows e digita "caratteristiche di Windows"
  • Premi il tasto Windows + W combinato per visualizzare il pannello Impostazioni di Windows della schermata Start.
  • Fai clic su Attiva o disattiva le funzionalità di Windows
  • Quando viene visualizzata la finestra di dialogo Attiva o disattiva funzionalità di Windows, cerca Hyper-V e deselezionala
  • Clicca OK
  • Riavvia il tuo computer quando richiesto
  • Installa VMware Workstation
  • Abilitare nuovamente Hyper-V tramite la finestra di dialogo Attiva o disattiva le funzionalità di Windows
  • Riavvia il tuo computer

Per Windows 10:

  • Premi il tasto Windows
  • Digita "Attiva o disattiva le funzionalità di Windows"
  • Deseleziona la casella di controllo accanto a Hyper-V
  • Seleziona OK
  • Seleziona Riavvia ora

Ho installato vs2013 in w8.1 e apparentemente ha installato hyper v rendendo il mio vbox non funzionante. Grazie per una buona risposta permanente.
MvcCmsJon

4

Powershell è anche possibile, utilizzando DISM racchiuso come cmdlet PS e si possono leggere le impostazioni prima di apportare la modifica.

//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 ha visto in questo post del 2014-03 che riassume tutte le opzioni, http://www.eightforums.com/tutorials/42041-hyper-v-enable-disable-windows-8-a.html ; MS Doc parla dell'opzione Get-WindowsOptionalFeature, http://technet.microsoft.com/en-us/library/hh852173.aspx
  2. La modifica dei dati di configurazione della voce di avvio (BECD) può anche leggere (/ esportare) le impostazioni, per http://technet.microsoft.com/en-us/library/cc709667%28v=ws.10%29.aspx e altri documenti http : //msdn.microsoft.com/en-us/library/windows/hardware/ff542202%28v=vs.85%29.aspx

3

È possibile utilizzare Hyper-V Switch che fondamentalmente utilizza il metodo bcdedit già descritto qui, ma inserisce una semplice GUI con un clic su di esso. Ti mostra lo stato di configurazione corrente e ti consente di abilitare o disabilitare Hyper-V e riavvia anche il computer. Ho creato questo piccolo strumento e funziona sul mio computer Windows 10.


1

Ho creato uno script di PowerShell per abilitare / disabilitare Hyper-V. Questo controlla lo stato in modo da non riavviare se si è già nello stato desiderato:

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
            }
        }
    } 
}

Quindi crea due scorciatoie sul desktop "Hyper-V Off" Target:

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

e target "Hyper-V attivo":

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

0
  1. Dalla console di Windows (cmd) con diritti di amministratore:

Pulizia e manutenzione del Component Store di Windows (WinSxS)

Dism /Online /Cleanup-Image /RestoreHealth
Dism.exe /online /Cleanup-Image /StartComponentCleanup

Analizza i file di sistema e ripristina, se necessario

sfc /scannow

(Secondo https://ugetfix.com/ask/how-to-disable-hyper-v-in-windows-10/ )

  1. Disattiva l'avvio automatico dell'hypervisor alla configurazione di avvio
bcdedit /set {current} hypervisorlaunchtype off

(Fonte: https://blogs.technet.microsoft.com/gmarchetti/2008/12/07/turning-hyper-v-on-and-off/ )

  1. Windows PowerShell (con privilegi di amministratore):
Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V-All

(Fonti: https://ugetfix.com/ask/how-to-disable-hyper-v-in-windows-10/ e https://support.microsoft.com/en-us/help/3204980/virtualization- applicazioni-non-lavorare-insieme-con-hyper-v-device-g )

  1. Attiva o disattiva le funzionalità di Windows -> Hyper-V non selezionato

( https://support.microsoft.com/en-us/help/3204980/virtualization-applications-do-not-work-together-with-hyper-v-device-g )

  1. Questo PC, Proprietà, Gestione dispositivi, Dispositivi di sistema e rimuovono anche Hyper-V.

Per completezza, alcuni problemi di virtualizzazione sono correlati alle funzionalità di sicurezza di Device Guard e Credential Guard:

  1. mmc.exe, aggiungi lo snap-in Criteri del computer locale in Configurazione computer / Modelli amministrativi / Sistema / Protezione dispositivo / Attiva sicurezza basata sulla virtualizzazione

  2. Isolamento core in Impostazioni / Aggiornamento e sicurezza / Sicurezza Windows / Sicurezza dispositivo / Isolamento core

(Rif: https://support.microsoft.com/en-us/help/3204980/virtualization-applications-do-not-work-together-with-hyper-v-device-g

https://www.tenforums.com/tutorials/68913-enable-disable-device-guard-windows-10-a.html ; https://blogs.technet.microsoft.com/ash/2016/03/02/windows-10-device-guard-and-credential-guard-demystified/

https://weblogs.asp.net/dixin/run-hyper-v-and-vmware-virtual-machines-on-windows-10

https://www.dell.com/support/article/lu/fr/lubsd1/sln304974/windows-10-enterprise-security-credential-guard-and-device-guard?lang=en ...)

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.