Risposte:
Sia VMware che VirtualBox possono eseguire una macchina virtuale a 64 bit su un sistema host a 32 bit, se si dispone di un processore a 64 bit. Per VirtualBox, il processore deve disporre del supporto per la virtualizzazione dell'hardware ( AMD-V o VT-x , mostrato come svm
e vmx
nella flags:
riga di /proc/cpuinfo
sotto Linux); la maggior parte dei processori x86-64 ad eccezione di quelli precedenti, e in particolare penso che tutti i modelli core i5 abbiano questo supporto.
In caso contrario, è possibile utilizzare una tecnologia di macchina virtuale che emula un processore x86-64 nel software, come Qemu. Ma non è una buona idea se non ne hai bisogno: è lento, affamato di memoria e imbarazzante.
La mia raccomandazione è di ottenere solo un host a 64 bit o almeno un kernel a 64 bit. È possibile eseguire applicazioni a 32 bit su un kernel x86-64 (aka amd64), infatti è possibile eseguire un'area utente Linux interamente a 32 bit su un kernel Linux amd64.
Ubuntu non fornisce un kernel a 64 bit nella sua distribuzione i386 (Debian lo fa). Puoi prendere il kernel dalla distribuzione di amd64, e le applicazioni dovrebbero semplicemente essere eseguite, ma con natty il pacchetto non è facilmente installabile .
Quindi il percorso più semplice per eseguire applicazioni a 64 bit sarebbe fare un'installazione parallela di un Ubuntu amd64. Installalo su una partizione separata, mantenendo anche la tua installazione a 32 bit esistente. Nel sistema a 64 bit, montare le partizioni esistenti, quindi impostare uno schroot a 32 bit (consultare questa guida ) per eseguire programmi a 32 bit.
Gilles sottolinea che mi sbagliavo su VirtualBox e VMware che supportavano ospiti a 64 bit su host a 32 bit. VirtualBox è disponibile nei repository Ubuntu nel virtualbox-ose
pacchetto.
La documentazione di VirtualBox fornisce i seguenti consigli relativi all'esecuzione di sistemi operativi a 64 bit:
VirtualBox supporta i sistemi operativi guest a 64 bit, anche su sistemi operativi host a 32 bit, purché siano soddisfatte le seguenti condizioni:
È necessario un processore a 64 bit con supporto per la virtualizzazione hardware (vedere la sezione chiamata "Virtualizzazione hardware vs. software"). [Il tuo processore soddisfa questo requisito.]
È 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.
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.
Negli host a 64 bit (che in genere vengono forniti con il supporto della virtualizzazione hardware), i sistemi operativi guest a 64 bit sono sempre supportati indipendentemente dalle impostazioni, quindi è possibile installare semplicemente un sistema operativo a 64 bit nel guest.
avvertimento
Su qualsiasi host, è necessario abilitare l'APIC I / O per le macchine virtuali che si intende utilizzare in modalità a 64 bit. Ciò è particolarmente vero per le macchine virtuali Windows a 64 bit. Vedi la sezione chiamata "Scheda" Avanzate "”. Inoltre, per i guest Windows a 64 bit, è necessario assicurarsi che la VM utilizzi il dispositivo di rete Intel, poiché non è disponibile il supporto del driver a 64 bit per la scheda AMNet PCNet; vedere la sezione chiamata "Hardware di rete virtuale". Se si utilizza la procedura guidata "Crea VM" dell'interfaccia utente grafica di VirtualBox (consultare la sezione chiamata "Creazione della prima macchina virtuale"), VirtualBox utilizzerà automaticamente le impostazioni corrette per ciascun tipo di sistema operativo a 64 bit selezionato.
Se è necessario utilizzare la virtualizzazione software, è possibile installare il qemu
pacchetto dai repository Ubuntu. Ci sono diversi pacchetti di GUI disponibili per controllarlo (preferisco aqemu
), ma puoi anche usarlo dalla riga di comando.
In alternativa, considera invece l'esecuzione di una versione a 64 bit di Linux. Ubuntu x86_64 supporta l'esecuzione di file binari a 32 bit senza alcuna virtualizzazione.