Ospite di Windows a 64 bit in VirtualBox impossibile senza il supporto VT-x? [duplicare]


8

Ho installato correttamente Windows Vista a 32 bit in una macchina virtuale con VirtualBox. Ora sto cercando di fare lo stesso con Windows Vista a 64 bit e non funziona. Ho creato la VM ma sembra che non si avvierà dall'immagine ISO Vista a 64 bit. Sputa questo errore del gestore di avvio.

un'

Il sistema operativo host è Windows 7 a 64 bit su un processore Intel Core 2 Duo a 64 bit. Ora, ho fatto la stessa cosa e ho installato la stessa versione di VirtualBox su un altro computer, eseguendo anche Windows 7 a 64 bit, ho creato la VM e ... durante il processo di installazione della VM ho notato che aveva opzioni aggiuntive tra cui scegliere quando scelgo Os ospite. Ecco uno screenshot.

B

Puoi vedere quelle opzioni nel mezzo dove dice 64-bit, non ho quelle opzioni su quell'altro computer. Ora, questo esegue un Intel Core 2 Quad, un modello di fascia alta. Supporta la tecnologia di virtualizzazione Intel, mentre l'altra no.

Ecco come appare la stessa finestra di dialogo sul computer Core 2 Duo. Ecco uno screenshot.

c

Potrebbe essere questo il motivo? Questo significa che non è possibile emulare un sistema operativo guest Windows a 64 bit a tutti con VirtualBox, a meno che il vostro processore supporta la tecnologia di virtualizzazione Intel? Capisco che questa tecnologia rende le cose molto più veloci, ma non ti consente di emulare quel sistema operativo ... è un po 'estremo, no?

In tal caso, cosa mi consiglia di utilizzare invece?


@Ramhound Hai appena chiesto se sono sicuro di avere un sistema operativo a 64 bit e poi hai cambiato idea? Ho ricevuto il commento nella mia casella di posta. Bene, per quello che vale, sì, sono sicuro che entrambi i computer eseguono la versione a 64 bit di Windows 7.
Samir,

@Ramhound Limitazione dell'hardware? Quindi sei d'accordo, questo ha a che fare con il supporto VT-x, o piuttosto la sua mancanza?
Samir,

Indipendentemente dalle limitazioni hardware, dovresti sempre essere in grado di fare cose nel software. Questo è uno dei vantaggi della virtualizzazione, perché consente di sostituire completamente l'hardware fisico nel software. So che Intel VT-x è buono da avere, ma perché non dovresti essere in grado di emulare il sistema operativo a 64 bit in VirtualBox tutto nel software, anche se è estremamente lento? Perché non ti permettono di farlo? Questa è piuttosto una limitazione in VirtualBox.
Samir,

Emm ... non intendi "non puoi fare qualcosa nel software se l'hardware non lo supporta"?
Samir,

Risposte:


18

La sezione 3.1.2 del manuale di VirtualBox afferma esplicitamente che è necessario il supporto della virtualizzazione hardware per utilizzare i sistemi operativi guest a 64 bit (enfasi aggiunta):

VirtualBox supporta i sistemi operativi guest a 64 bit, anche su sistemi operativi host a 32 bit, purché siano soddisfatte le seguenti condizioni:

  1. È necessario un processore a 64 bit con supporto per la virtualizzazione hardware (vedere Sezione 10.3, "Virtualizzazione hardware vs. software").

  2. È necessario abilitare la virtualizzazione hardware per la VM specifica per la quale si desidera il supporto a 64 bit; la virtualizzazione del software non è supportata per le macchine virtuali a 64 bit.

  3. Se si desidera utilizzare il supporto guest a 64 bit su un sistema operativo host a 32 bit, è necessario selezionare anche un sistema operativo a 64 bit per la VM specifica. Poiché il supporto di 64 bit su host a 32 bit comporta un sovraccarico aggiuntivo, VirtualBox abilita questo supporto solo su richiesta esplicita.

Fonte: https://www.virtualbox.org/manual/ch03.html#intro-64bitguests

La sezione 10.3 afferma anche questo (enfasi aggiunta):

Il supporto guest a 64 bit di VirtualBox (aggiunto con la versione 2.0) e il multiprocessing (SMP, aggiunto con la versione 3.0) richiedono entrambi l'abilitazione della virtualizzazione hardware . (Questo non è un limite in quanto la stragrande maggioranza delle odierne CPU a 64 bit e multicore viene comunque fornita con la virtualizzazione dell'hardware; le eccezioni a questa regola sono ad esempio CPU Intel Celeron e AMD Opteron meno recenti.)

Fonte: https://www.virtualbox.org/manual/ch10.html#hwvirt

Pertanto, è necessario un processore che supporti VT-x o AMD-V per utilizzare guest a 64 bit con VirtualBox. Tuttavia , QEMU, Bochs e VMWare Player supportano tutti i guest a 64 bit senza supporto per la virtualizzazione dell'hardware (almeno in base a questa pagina ).


Sì ... e questo è un peccato. Ho pensato che si riferisse solo agli ospiti a 64 bit su host a 32 bit. Ma dal capitolo 10 affermano specificamente che la virtualizzazione dell'hardware è un requisito. Mi chiedo però, come mai questo non è un requisito per gli ospiti a 32 bit? Perché solo 64 bit?
Samir,

Ti ho dato un voto positivo anche se ho già pubblicato questo testo esatto nella mia risposta. Grazie per lo sforzo! Unirò la mia risposta con la tua se va bene.
Samir,

Conosci qualche altro software di virtualizzazione (preferibilmente gratuito e open source) in grado di emulare un Windows a 64 bit senza il supporto della virtualizzazione hardware?
Samir,

@sammyg sembra che QEMU, Bochs e VMWare Player lo supportino tutti, vedi la mia ultima revisione.
nc4pk,

Non vero. VMware player richiede anche la virtualizzazione per eseguire ipotesi a 64 bit, così come altri hypervisor. Puoi eseguire solo ipotesi a 64 bit senza virtualizzazioni su un emulatore come Bochs o qemu o un software di paravirtualizzazione come Xen en.wikipedia.org/wiki/Vt-x#Software-based_virtualization
phuclv

0

Nessun hypervisor per macchine virtuali supporta macchine virtuali a 64 bit in una CPU x86 senza virtualizzazione, poiché l' isolamento della macchina virtuale sarebbe impossibile senza di essa.

Il motivo è stato menzionato in Wikipedia (enfasi mia):

La versione iniziale di x86-64 (AMD64) non consentiva una virtualizzazione completa solo software a causa della mancanza del supporto di segmentazione in modalità lunga , che rendeva impossibile la protezione della memoria dell'hypervisor , in particolare la protezione del gestore trap che viene eseguito nello spazio degli indirizzi del kernel guest.

Revisione D e successivi processori AMD a 64 bit (come regola generale, quelli prodotti a 90 nm o meno) hanno aggiunto il supporto di base per la segmentazione in modalità lunga, rendendo possibile eseguire guest a 64 bit in host a 64 bit tramite traduzione binaria . Intel non ha aggiunto il supporto di segmentazione alla sua implementazione x86-64 (Intel 64), rendendo impossibile la virtualizzazione solo software a 64 bit sulle CPU Intel, ma il supporto Intel VT-x rende possibile la virtualizzazione assistita da hardware a 64 bit sulla piattaforma Intel

VMWare ha anche affermato che la mancanza di virtualizzazione mette in discussione la protezione della VM

Sfide della virtualizzazione x86-64

  • L'architettura AMD64 iniziale non includeva la segmentazione in modalità 64 bit
    • Manca anche la segmentazione di EM64T

Come proteggiamo VMM?

  • Il supporto guest a 64 bit richiede ulteriore assistenza hardware
    • Controlli del limite di segmento disponibili in modalità 64 bit su processori AMD più recenti
    • VT-x può essere utilizzato per proteggere VMM su EM64T
      • Richiede un approccio trap-and-emulate invece di BT

Leggi di più:

Le CPU Intel richiedono il supporto EM64T e VT nel chip e nel BIOS per eseguire macchine virtuali a 64 bit. Questo articolo ti aiuta a garantire che il tuo processore sia compatibile con VT e ti spiega anche come abilitare questa funzione
http://kb.vmware.com/selfservice/selfrerves/search.do?language=en_US&cmd=displayKC&externalId=1003944


L'unico modo in questo caso è usare un emulatore come QEMU o Bochs o un software di paravirtualizzazione come Xen.

Ulteriori informazioni: Esecuzione di ASM x86-64 su un processore x86-32

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.