Perché VirtualBox o VMware non possono essere eseguiti con Hyper-V abilitato su Windows 10


58

Sto eseguendo Windows 10 Pro 64 bit con la tecnologia di virtualizzazione Hyper-V e Intel VT-x abilitata. Quando provo a eseguire VirtualBox 64 bit, Windows entra in un BSOD. Quando eseguo VMware mostra un errore.

Perché VirtualBox e VMware non possono essere eseguiti con Hyper-V abilitato? Spiega con tutti i dettagli che hai incluso hardware e software. Voglio sapere la causa interna di questo errore.

Ecco alcuni dei miei risultati. La maggior parte dei siti suggerisce di aggiungere una voce di avvio con BCDedit o di disabilitare Hyper-V con BCDedit. ad es. Creazione di una voce di avvio "no hypervisor" , eseguire Hyper-V e VirtualBox sullo stesso computer . Ma posso eseguire QEMU con Hyper-V . Qemu non mostra alcun errore con Hyper-V e funziona senza problemi.


2
Hyper-V non supporta la virtualizzazione nidificata (con accelerazione hardware). Tuttavia, non si bloccherà in circostanze normali. VirtualBox si lamenterebbe che non può eseguire guest x64 e il gioco è fatto. Quindi qualcos'altro non va come un driver di dispositivo mal funzionante o altro.
Daniel B,

Vedo, si blocca davvero. Tuttavia, ancora: questo non è normale. Un incidente non è mai normale. Sembra che questo sia un bug in Hyper-V. Probabilmente dovresti metterti in contatto con Microsoft a riguardo.
Daniel B,

Vale la pena sottolineare che QEMU non è un hypervisor. Hyper-V fa supporto virtualizzazione annidata.
Ramhound,

Risposte:


67

VirtualBox e VMware Workstation (e VMware Player) sono "hypervisor di livello 2". Hyper-V e VMware ESXi sono "hypervisor di livello 1".

La differenza principale è che un hypervisor di livello 2 è un'applicazione in esecuzione all'interno di un sistema operativo esistente, mentre l'hypervisor di livello 1 è il sistema operativo stesso.

Ciò significa che quando abiliti Hyper-V, il tuo "host" di Windows 10 diventa una macchina virtuale. Una speciale, ma comunque una macchina virtuale.

Quindi la tua domanda sarebbe più giustamente: "Perché VirtualBox e VMware Workstation non funzionano all'interno di una macchina virtuale Hyper-V?" Si può rispondere perché come VM, l'istruzione Intel VT-X non è più accessibile dalla macchina virtuale, solo l'host ha accesso ad essa.

QEMU funziona perché non esegue la virtualizzazione ma l'emulazione, che è completamente diversa e spiega perché QEMU è dolorosamente lento. La virtualizzazione è il processo per eseguire una macchina isolata completa all'interno di un'altra, ma con l'aiuto del processore. Ciò richiede che la macchina virtuale e l'host siano compatibili con le istruzioni.

L'emulazione è il processo per eseguire qualsiasi macchina all'interno di un sistema operativo in esecuzione, non vi sono restrizioni di piattaforma ed è per questo che QEMU può eseguire una macchina ARM su una piattaforma amd64.

Nota: QEMU ha 2 modalità operative:

  • può funzionare come emulatore, questa è la modalità spiegata sopra
  • può funzionare come software di virtualizzazione con l'aiuto di KVM se l'architettura guest è compatibile con l'host e se l'istruzione VT è presente ovviamente.

1
La virtualizzazione crea un intero sistema "falso", ad eccezione del processore in cui l'hypervisor limita solo la quantità di tempo del processore che la VM può utilizzare. Quindi puoi virtualizzare arm solo su un host arm, x86 su un host x86 / amd64, amd64 su un host amd64 ecc ... Un emulatore ricompilerà ogni istruzione per un binario compilato per una piattaforma specifica da eseguire su un'altra piattaforma. QEMU appartiene alla stessa famiglia degli emulatori di console, ad esempio (psx, dolphin, virtualboy, project64, MAME ...)
Veovis,

La virtualizzazione (sì, non l' emulazione) era disponibile molto prima che la virtualizzazione assistita dall'hardware diventasse disponibile. Può essere nidificato come desiderato.
Daniel B,

2
Perché VirtualBox non può sfruttare "Nested VT-x / AMD-V"? È una limitazione dell'hardware? Di Hyper-V?
user643011

21

A partire dalla build di Windows Redstone 4, QEMU sarà in grado di funzionare in Hyper-V utilizzando l' API della piattaforma Hypervisor di Windows .

L'acceleratore di piattaforma Windows Hypervisor (WHPX) viene integrato nelle patch QEMU che vengono sottoposte a fusione .

L'API della piattaforma Hypervisor di Windows sarà inclusa nella build di Redstone 4

Il supporto sperimentale per WHPX è incluso in QEMU 2.12

Aggiornamento: Virtualbox 6.0 ha aggiunto il supporto per il log delle modifiche di WHPX Virtualbox 6.0 .

Aggiornamento 2: VMWare aggiungerà il supporto per WHPX nella prossima versione di VMWare Workstation e fusion. VMware Workstation e Hyper-V - Lavorare insieme


3
Questa API in teoria potrebbe essere utilizzata anche da VMWare e VirtualBox.
Ramhound,

@Ramhound Può essere fatto con VirtualBox o VMware? Quell'articolo menziona solo il qemu.
Biswapriyo,

@Biswapriyo Ho determinato che VMWare e VirtualBox erano possibili direttamente dalla documentazione. Tuttavia, VMWare e VirtualBox dovrebbero apportare le modifiche necessarie alla loro applicazione
Ramhound,

Puoi spiegare in che modo differisce da Nested VT-x / AMD-V?
user643011

Il supporto WHPX di Virtualbox 6.0 è di qualità molto alpha. Funziona a malapena in questo momento.
user643011
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.