Per impostazione predefinita qemu-system-x86_64
, emulazione , non virtualizzazione. L'emulazione è lenta e intensiva per la CPU: puoi vederla eseguendo top
, che mostrerà la tua CPU quasi al 100%. Ho appena avviato Xubuntu 14.04 usando qemu-system-x86_64
sul mio sistema e ci sono voluti 10 minuti per l'avvio sul desktop. Ubuntu normalmente nasconde le informazioni di avvio, motivo per cui viene visualizzata una schermata nera (o alcuni altri artefatti grafici causati dalla modifica della risoluzione del BIOS). Se rimuovi splash quiet
e aggiungi debug
i parametri del kernel, vedrai cosa sta facendo durante questo periodo.
Quello che probabilmente vuoi fare è eseguire qemu-system-x86_64 -enable-kvm
per abilitare il supporto per la virtualizzazione dell'hardware.
qemu-system-x86_64 -enable-kvm -m 1024 -cdrom /host/iso/ubuntu-13.10-desktop-amd64.iso -name mac -hda ~/ubuntu
Da man qemu-system-x86_64
:
-enable-kvm
Enable KVM full virtualization support. This option is only available
if KVM support is enabled when compiling.
(Potresti vedere persone che raccomandano il programma kvm
dal pacchetto qemu-kvm
. kvm
È solo uno script wrapper che lo fa exec qemu-system-x86_64 -enable-kvm "$@"
)
KVM utilizza la virtualizzazione hardware anziché la simulazione, quindi è molto più veloce. Richiede una CPU che supporti le estensioni di virtualizzazione hardware (VT-x per Intel o AMD-V per AMD), che hanno la maggior parte dei moderni sistemi PC.
Con la virtualizzazione, la CPU sta effettivamente eseguendo il codice binario eseguibile non elaborato dal sistema operativo guest. La virtualizzazione è veloce, ma ha il limite che il SO host e il SO guest devono essere binari compatibili. Con l'emulazione, il codice binario del sistema operativo guest viene riscritto per essere eseguito sulla CPU host. È lento, ma ha il vantaggio di poter eseguire un SO guest compilato per una diversa architettura della CPU (es. Un'immagine QEMU per Debian armel spiega come eseguire Debian ARM su un PC).
Un'altra opzione popolare per la virtualizzazione è VirtualBox .
-vga [std|vmware|cirrus|qxl]
. Fare riferimentoman qemu-kvm
per maggiori dettagli.