Warum wird beim Booten von VM mit qemu ein schwarzer Bildschirm angezeigt?

9

Wenn ich versuche, eine virtuelle Maschine zu starten, indem ich:

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

Nach Beginn der Installation wird ein schwarzer Bildschirm angezeigt (bevor ich die Sprache auswähle). Ich habe versucht, nomodeset"Andere Optionen" einzustellen, aber das Problem wurde dadurch nicht behoben.

Mit derselben ISO kann ich die VM jedoch mit Virtual Machine Manager starten. Ich muss die VM qemu-system-x86_64für eines meiner Projekte starten .

Bitte lassen Sie mich wissen, wie ich das lösen kann.

Sagar Patni
quelle
Keine Antwort auf die Frage, aber wenn Sie an der Auflösung des Monitors herumspielen möchten, spielen Sie mit der Flagge -vga [std|vmware|cirrus|qxl]. Siehe man qemu-kvmfür weitere Details.
Nehal J Wani
Hier beschreibe ich ausführlich das beste QEMU KVM-Setup, das ich bisher für Ubuntu erreicht habe: askubuntu.com/questions/884534/…
Ciro Santilli 4 病毒 审查 六四 事件 4
Kam hierher, weil ich in Win10 VM einen schwarzen Bildschirm bekam, nachdem ich den VM-Speicher auf 2536 MB geändert hatte. Das erneute Ändern auf 2048 MB wurde für mich gelöst. (Ich habe mich dann mit 3072MB abgefunden).
März 2377

Antworten:

7

Standardmäßig qemu-system-x86_64erfolgt die Emulation , nicht die Virtualisierung. Die Emulation ist langsam und CPU-intensiv - Sie können dies durch Ausführen erkennen top, wodurch Ihre CPU zu nahezu 100% angezeigt wird. Ich habe gerade Xubuntu 14.04 mit qemu-system-x86_64meinem System gestartet und es dauerte 10 Minuten, um vom Desktop zu starten. Ubuntu verbirgt normalerweise Startinformationen, weshalb Sie einen schwarzen Bildschirm sehen (oder einige andere grafische Artefakte, die durch die Änderung der Auflösung des BIOS verursacht werden). Wenn Sie die Kernel-Parameter entfernen splash quietund ergänzen debug, sehen Sie, was während dieser Zeit geschieht.

Was Sie wahrscheinlich tun möchten, ist auszuführen qemu-system-x86_64 -enable-kvm, um die Unterstützung für die Hardwarevirtualisierung zu aktivieren.

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

Von man qemu-system-x86_64:

-enable-kvm
       Enable KVM full virtualization support. This option is only available
       if KVM support is enabled when compiling.

(Möglicherweise sehen Sie Leute, die das Programm kvmaus dem Paket empfehlen qemu-kvm. kvmDies ist nur ein Wrapper-Skript, das dies tut. exec qemu-system-x86_64 -enable-kvm "$@")

KVM verwendet eher Hardware-Virtualisierung als Simulation und ist daher viel schneller. Es erfordert eine CPU, die Hardware-Virtualisierungserweiterungen unterstützt (VT-x für Intel oder AMD-V für AMD), über die die meisten modernen PC-Systeme verfügen.

Bei der Virtualisierung führt die CPU tatsächlich den rohen ausführbaren Binärcode vom Gastbetriebssystem aus. Die Virtualisierung ist schnell, hat jedoch die Einschränkung, dass Host- und Gastbetriebssystem binär kompatibel sein müssen. Bei der Emulation wird der Binärcode des Gastbetriebssystems neu geschrieben, um auf der Host-CPU ausgeführt zu werden. Es ist langsam, hat aber den Vorteil, dass Sie ein Gastbetriebssystem ausführen können, das für eine andere CPU-Architektur kompiliert wurde (z. B. ein QEMU-Image für Debian Armel erklärt, wie Debian ARM auf einem PC ausgeführt wird).

Eine weitere beliebte Option für die Virtualisierung ist VirtualBox .

bain
quelle
kvm ist nur ein Wrapper qemu-system-x86_64. Indem man sagt , qemu-system-x86_64ist nur Emulation, meinst du sagen kvm eine Virtualisierungs Wrapper über die Emulation von versehen ist qemu-system-x86_64?
Job
@Jobin danke für den Hinweis, Antwort entsprechend angepasst.
Bain