Ich wollte heute einmal Qemu in Verbindung mit KVM (Kernel-based Virtual Machine), welche durch die Hardware-Virtualisierungstechniken von Intel (VT) oder AMD (AMD-V) auf neueren Prozessoren gute Virtualisierungsperformance erreicht, testen. Also richtete ich mir nach diesem Tutorial (wiki.archlinux.de) Qemu inkl. KVM bzw kqemu ein. Danach musste ich erst ein mal mein schon bestehendes Virtualbox-Image in ein Qemu-Image umwandeln.
Nach ein wenig Googeln fand ich dann auch bald eine Lösung.
Zuerst musste ich das Virtualbox .vdi Image in ein Raw-Image wandeln, dies ging mit dem Tool vditool, welches im Paket virtualbox-ose enthalten ist.
vditool COPYDD VBOX-IMAGE.vdi raw-image.img
Achtung: Das Raw-Image hat die Größe, die als maximale Imagegröße angegeben wurde.
Danach konnte ich das Raw-Image dann mit qemu-img in ein Qemu-Image wandeln. Dieses benötigt genau wie das VDI-Image nur so viel Speicherplatz, wie das Gastsystem auch wirklich benötigt.
qemu-img convert -f raw raw-image.img -O qcow2 QEMU-IMAGE.qcow
Da jetzt alles abgeschlossen war, konnte ich das große Raw-Image löschen und hatte ein VDI-Image für VirtualBox und ein QCOW-Image für Qemu.
Starten konnte ich meine KVM/Qemu Virtuelle Maschiene dann mit dem Befehl:
qemu -kernel-kqemu -usbdevice tablet -m 512 WinXP.qcow
Erklärung:
qemu: Startet Qemu.
-kernel-kqemu: Dieses Argument lässt auch Kernel-Operationen des Gasts über KVM ausführen. Die normalen Gast-Operationen werden bei installiertem und geladenem KVM-Modul automatisch über KVM abgewickelt. Achtung: Dieses Argument sollte bei Windows-Gästen erst ab Windows XP benutzt werden, da die älteren noch nicht unterstützt werden.
-usbdevice tablet: Dieses Argument ermöglicht, dass die Maus des Hosts, wenn sie sich über dem Qemu-Fenster befindet, automatisch die Maus des Gastes ist, ohne dass man erst extra in das Qemu-Fenster klicken muss.
-m 512: Dieses Argument bewirkt, dass die Virtuelle Maschiene 512MB Ram zur Verfügung bekommt.
WinXP.qcow: So heißt mein Qemu-Image.
Danke für die TOP Anleitung, hat mir sehr weitergeholfen.
Gerne =)
Danke für das Tutorial. Aber verwechselst Du da nicht was?
kqemu ist meines bestens wissens nach nicht das gleiche wie KVM.
KVM nutzt zwar auch qemu code als Frontend, aber wenn man qemu mit der kvm Funktion startet, funktioniert das zum einen ohne VT Erweiterungen, und hat zum anderen mit den KVM Kernel-Erweiterungen nichts zu tun…
(trotzdem ist die Anleitung sinnvoll und man kann die images auch mit kvm nutzen – den startet man aber mit “kvm” – ein befehl der ansonsten aber die gleichen Optionen akzeptiert wie qemu, und, wenn das kvm Modul nicht gelaen ist, sogar genauso funktioniert. Nur umgekehrt geht es meines wissens nicht.