Perché ricevo una schermata nera all'avvio di VM usando qemu?


9

Quando provo ad avviare una macchina virtuale usando:

qemu-system-x86_64 -m 1024 -cdrom /host/iso/ubuntu-13.10-desktop-amd64.iso -name mac -hda ~/ubuntu

Scorro una schermata nera subito dopo l'inizio dell'installazione (prima di scegliere la lingua). Ho provato a impostare nomodeset"Altre opzioni" ma questo non ha risolto il problema.

Tuttavia, utilizzando la stessa ISO, posso avviare la VM usando Virtual Machine Manager. Devo avviare la VM usando qemu-system-x86_64per uno dei miei progetti.

Per favore fatemi sapere come risolverlo.


Non è una risposta alla domanda, ma se hai voglia di armeggiare con la risoluzione del monitor, gioca con la bandiera -vga [std|vmware|cirrus|qxl]. Fare riferimento man qemu-kvmper maggiori dettagli.
Nehal J Wani,

Qui descrivo in dettaglio la migliore configurazione QEMU KVM che ho raggiunto finora per Ubuntu: askubuntu.com/questions/884534/…
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Sono venuto qui perché stavo ottenendo lo schermo nero in Win10 VM dopo aver cambiato la memoria della VM a 2536 MB. Cambiato di nuovo a 2048 MB risolto per me. (Ho quindi risolto 3072 MB).
Marc.2377,

Risposte:


9

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_64sul 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 quiete aggiungi debugi parametri del kernel, vedrai cosa sta facendo durante questo periodo.

Quello che probabilmente vuoi fare è eseguire qemu-system-x86_64 -enable-kvmper 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 kvmdal 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 .


kvm è solo un wrapper qemu-system-x86_64. Dicendo che qemu-system-x86_64è solo emulazione, vuoi dire che kvm è un wrapper di virtualizzazione sull'emulazione fornita da qemu-system-x86_64?
Jobin

@Jobin grazie per averlo sottolineato, risposta adattata di conseguenza.
Bain
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.