KVM ermöglicht durch seine kleinen, aber feinen Kommandozeilenwerkzeuge, schnell eine virtuelle Maschine zu starten, ohne sich dazu umständlich durch bunte Menüs klicken zu müssen.
Virtuelle Maschinen sind äußerst praktisch. In diesen nachgebildeten Computern probieren Sie eben mal schnell eine neue Distribution aus, starten ein Windows oder beleben ältere Betriebssysteme wieder. Die wohl beliebteste quelloffene Virtualisierungssoftware hört auf den etwas sperrigen Namen “Kernel-based Virtual Machine” oder kurz KVM [1]. Obwohl maßgeblich von Red Hat vorangetrieben, kommt sie mittlerweile in fast allen großen Distributionen als bevorzugte Virtualisierungslösung zum Einsatz.
Arbeitsteilung
KVM selbst besteht aus mehreren Einzelteilen (Abbildung 1). Die Basis bildet dabei ein Kernel-Modul: Es sorgt dafür, dass die virtuellen Maschinen effizient auf die echte Hardware zugreifen können und sich dabei nicht gegenseitig in die Quere kommen. Einen solchen Verwalter nennt man auch Hypervisor [2] oder Virtual Machine Manager (VMM). Seit Version 2.6.20 gehört das KVM-Modul standardmäßig zum Linux-Kernel und ist somit in jeder aktuellen Distribution zu finden.
Die Dienstleistungen des Moduls kann eine Virtualisierungssoftware in Anspruch nehmen. Bei den meisten Distributionen kommt dabei Qemu [3] zum Einsatz. Dieses Programm ist wesentlich älter als KVM und bildete ursprünglich einen kompletten PC nach, einschließlich des Prozessors. Mittlerweile kann Qemu das KVM-Modul und somit die wichtigen Hardware-Komponenten des echten PC direkt nutzen. Hierdurch laufen die von Qemu gestarteten Betriebssysteme und Programme wesentlich flotter.
Einige aktuelle Distributionen verteilen Qemu und seine Hilfsprogramme auf mehrere Pakete. Nutzer von OpenSuse benötigen lediglich das Paket kvm, unter Ubuntu 13.04 greifen Sie im Software-Center zum Programm qemu (oder direkt zum Paket qemu-system). Im Zweifelsfall sollten Sie sich im Paketmanager Ihrer Distribution für das kvm-Paket entscheiden.
Gastgeber
Die Installation selbst ist kinderleicht: Es genügt, das besagte KVM-Paket über den Paketmanager einzuspielen. Eine virtuelle Maschine lässt sich allerdings nur dann reibungslos starten, wenn der reale Computer ein paar Voraussetzungen erfüllt.
Zunächst muss der Prozessor ein Intel- beziehungsweise AMD-Modell sein, das die Virtualisierung mit einer speziellen Befehlserweiterung unterstützt. Bei Intel heißt diese Technik Intel VT, beim Konkurrenten AMD-V. Die meisten Desktop- und Notebook-Prozessoren der letzten fünf Jahre unterstützen die entsprechende Technologie. Eine Ausnahme bilden besonders leistungsschwache Prozessoren, wie etwa einige Modelle aus der Atom-Reihe. Für seine eigenen Prozessoren stellt Intel eine entsprechende Liste [4] bereit.
Ob der Prozessor Ihres PCs Virtualisierung unterstützt, prüfen Sie mit dem Befehl lsmod | grep kvm. Er sollte zwei Zeilen zurückliefern: Eine beginnt mit kvm, die andere je nach Prozessor mit kvm_intel oder kvm_amd. Andernfalls können Sie versuchen, die Module per Hand zu starten, bei einem Intel-Prozessor etwa mittels der folgenden zwei Kommandos:
$ sudo modprobe kvm $ sudo modprobe kvm_intel
Unter Umständen müssen Sie die Funktionen auch erst noch im BIOS beziehungsweise der Firmware des Computers aktivieren. Fehlt der CPU die Hardwarevirtualisierung, lässt sich zwar trotzdem eine virtuelle Maschine starten, das darin laufende Gastsystem kriecht dann aber im Schneckentempo vor sich hin.
Als Nächstes benötigen Sie möglichst viel Hauptspeicher – denn der muss jetzt nicht nur das gastgebende Betriebssystem aufnehmen, sondern auch noch die virtuellen Maschinen. Das absolute Minimum stellen 2 GByte dar. Je mehr RAM im Rechner steckt, desto mehr virtuelle Maschinen mit speicherhungrigen Betriebssystemen können Sie starten. Achten Sie dabei auch auf die Anforderungen der jeweiligen Gast-Betriebssysteme: Wollen Sie später 64-Bit-Programme in den virtuellen Maschinen starten, muss das gastgebende Linux ebenfalls ein 64-Bit-System sein. Auf einem solchen können Sie auch 32-Bit-Betriebssysteme ausführen, nicht aber umgekehrt.
Abschließend testen Sie mittels des Aufrufs qemu -version noch, ob KVMs Gehilfe Qemu korrekt installiert ist. Erscheint anstelle der Versionsnummer nur eine Fehlermeldung, probieren Sie stattdessen qemu-kvm -version aus. Einige Distributionen, wie etwa OpenSuse, nennen das an KVM angepasste Qemu qemu-kvm. In diesem Fall müssen Sie in allen folgenden Befehlen immer den Aufruf qemu durch qemu-kvm ersetzen.
Schnellstart
Um schnell eine virtuelle Maschine mit einem Live-System zu starten, geben Sie den Befehl qemu -cdrom img.iso ein. Dabei steht img.iso für das ISO-Abbild mit der Live-CD/DVD des zu startenden Gastsystems. Falls Sie schon eine CD oder DVD gebrannt haben, ersetzen Sie einfach den Dateinamen gegen die Gerätedatei für das entsprechende Laufwerk, also etwa:
$ qemu -cdrom /dev/cdrom
Der Desktop des gestarteten Systems erscheint jetzt in einem eigenen Fenster. Einige Linux-Distributionen erkennen, dass sie in einer virtuellen Maschine laufen, und lassen sich dann wie eine normale Anwendung bedienen. Teilweise funktioniert das allerdings nur etwas hakelig. Probleme bereitet vor allem Ubuntu 13.04, das gerne den Mauszeiger verschluckt oder gar den Bildschirm nicht korrekt aufbaut. In einem solchen Fall hängen Sie Qemu noch den Parameter -vga std an:
$ qemu -cdrom ubuntu.iso -vga std
Mit diesem Kommando stecken Sie quasi in das simulierte Rechnersystem eine andere, einfachere Grafikkarte.
Unter Umständen müssen Sie einmal in das Fenster mit der virtuellen Maschine klicken. Qemu “fängt” dann den Mauszeiger. Sie bekommen ihn wieder aus dem Fenster heraus, indem Sie [Strg]+[Alt] drücken. In den Vollbildmodus und zurück schaltet [Strg]+[Alt]+[F]. Das funktioniert allerdings nicht immer: Häufig zeigt die virtuelle Maschine nur einen schwarzen Bildschirm. Bei Grafikproblemen sollten Sie das Linux-Gastsystem im abgesicherten Modus starten.
Qemu stellt standardmäßig eine virtuelle Grafikkarte des Typs Cirrus CLGD 5446 PCI bereit. Zwar können die meisten Betriebssysteme diese GPU ohne Weiteres nutzen, doch 3D-Anwendungen funktionieren damit nicht. Um das Einrichten der Netzwerkkarte müssen Sie sich normalerweise ebenfalls keine Gedanken machen: Qemu spendiert der virtuellen Maschine standardmäßig eine NIC mit Realtek-Chipsatz, für die alle halbwegs aktuellen Betriebssysteme einen passenden Treiber mitbringen.
Der eingebaute virtuelle Router weist mit seinem DHCP-Server dem Gastsystem automatisch eine IP-Adresse zu. Mit dieser kommt das virtuelle System nicht nur ins Netzwerk beziehungsweise Internet: Es erreicht darüber unter der IP-Adresse 10.0.2.2 auch das gastgebende System (Abbildung 2). Läuft dort ein SSH-Server, lassen sich beispielsweise via Secure Copy (scp) Dateien austauschen.

Abbildung 2: Dank des in Qemu eingebauten Routers samt Firewall kommt hier Ubuntu ohne weitere Einstellungen direkt ins Internet.
Sie sollten unbedingt der Versuchung widerstehen, das Fenster der virtuellen Maschine über das entsprechende Symbol in der Titelleiste zu schließen: Für das Gastsystem wirkt das dann so, als würden Sie bei einem echten PC einfach das Stromkabel aus der Steckdose ziehen. Fahren Sie das Gastsystem daher möglichst immer wie üblich herunter, das Fenster schließt sich dann automatisch.
Virtuelle Festplatten
Wollen Sie nicht nur Live-CDs ausprobieren, sondern die Betriebssysteme auch installieren, dann muss eine ausreichend große Festplatte her. Qemu und KVM reichen wahlweise eine echte Festplatte in die virtuelle Maschine durch oder simulieren eine solche mit einer entsprechend großen Datei. Ein derartiges Festplattenimage erzeugt das mitgelieferte Hilfsprogramm Qemu-img:
$ qemu-img create -f qcow2 my_img.img 30G
Dieser Befehl erstellt (create) ein neues Festplattenimage im QCOW2-Format unter dem Dateinamen my_img.img, wobei die simulierte Festplatte maximal 30 GByte Daten fasst.
Die Größe eines Festplattenabbilds im QCOW2-Format entspricht exakt dem Umfang der darin gelagerten Dateien, das Image wächst gewissermaßen mit seinen Inhalten. Erst bei voller Beladung schwillt es auf die vollen 30 GByte an. Das geschieht aber relativ schnell, wenn Sie in der virtuellen Maschine ein Video herunterladen oder wild Softwarepakete nachinstallieren. Die reale Festplatte sollte folglich immer genügend freien Speicherplatz aufweisen.
Ein frisch erstelltes Festplattenimage übergeben Sie zur weiteren Verwendung Qemu einfach bei dessen Start als letzten Parameter:
$ qemu -cdrom ubuntu.iso -m 1024M my_img.img
Der Schalter -m 1024M spendiert dabei der virtuellen Maschine noch 1 GByte Hauptspeicher. Diesen zwacken Qemu und KVM allerdings vom realen Hauptspeicher ab. Achten Sie also darauf, dass dem gastgebenden System noch genug Luft zum Atmen bleibt. Ohne den Parameter -m erhält eine virtuelle Maschine nur magere 128 MByte Hauptspeicher. Damit kommt lediglich Windows XP (Abbildung 3) einigermaßen zurecht. Windows 7 und 8 (Abbildung 4) sollten Sie dagegen wie im Beispiel mindestens 2 GByte gönnen. Ubuntu wiederum begnügt sich schon mit 512 MByte. Übrigens können Sie für -m 1024M auch kurz -m 1G schreiben.
Die Installation von Windows Vista, 7 und 8 kann zudem recht lange dauern. Selbst wenn der echte PC recht flott ist, müssen Sie mindestens eine Stunde einplanen. Der eigentliche Betrieb läuft dann aber wieder zügiger ab.
Anstelle eines QCOW2-Images können Sie auch vorbereitete Festplattenimages von VirtualBox (Endung .vdi), VirtualPC (Endung .vhd) oder Vmware (Endung .vmdk) verwenden. Möchten Sie lieber eine echte Festplatte nutzen, ersetzen Sie my_img.img aus dem vorigen Beispiel durch die entsprechende Gerätedatei:
$ qemu -cdrom ubuntu.iso -m 1024M /dev/sdb
Doch Vorsicht: Lagert auf der Festplatte bereits ein installiertes Betriebssystem, startet dieses zwar in der virtuellen Maschine, findet darin aber eine komplett andere Hardware vor (siehe Tabelle “Qemu: Virtuelle Hardware”). Insbesondere Windows installiert dann nicht nur entsprechende Treiber nach, sondern möchte zudem auch noch einmal aktiviert werden.
Qemu: Virtuelle Hardware
| Standard-Komponenten | |
|---|---|
| BIOS | SeaBIOS |
| Grafikkarte | Cirrus Logic GD5446 |
| Netzwerkkarte | Realtek RTL8139 PCI |
| Host PCI Bridge | i440FX |
| PCI to ISA Bridge | PIIX3 |
| Keyboard/Maus | PS/2 |
| IDE-Schnittstellen | 2 |
| Floppy-Laufwerk | 1 |
| Ser./par. Interface | 1/1 |
| Optionen (manuell hinzuzufügen) | |
| Soundkarte | verschiedene Modelle, darunter Soundblaster 16, AC97, HDA |
| USB-Support | PCI-UHCI-USB-Controller, virtueller USB-Hub |
Konvertierungskünstler Qemu-img
Das Werkzeug Qemu-img erstellt nicht nur neue Festplattenimages, sondern kann auch verschiedene Formate ineinander konvertieren. Der folgende Befehl produziert beispielsweise aus dem VirtualBox-Image ubuntu.vdi eines im QCOW2-Format:
$ qemu-img convert -O qcow2 ubuntu.vdi ubuntuqcow2.img
Welche Formate qemu-img verdaut, verrät der Befehl qemu-img --help in der Liste am unteren Ende. Darunter finden sich auch die Dateiformate der bekannteren Virtualisierungslösungen, wie VirtualBox (vdi), Parallels, Vmware (vmdk), VirtualPC (vhd oder vpc), Bochs oder Images aus Mac OS X (dmg). Bei raw handelt es sich um ein unkomprimiertes Abbild einer Festplatte, wie Sie es beispielsweise mit dd erstellen. Dagegen steht qed für Qemu Enhanced Disk Format, den designierten Nachfolger von QCOW2 [9].
Je nach Umfang des Images und der Leistungsfähigkeit des Rechners kann der Konvertierungsvorgang übrigens einige Zeit in Anspruch nehmen. Sofern Sie das Image ins QCOW2-Format konvertieren, dürfen Sie es noch verschlüsseln lassen:
$ qemu-img convert -O qcow2 -o encryption=on ubuntu.vdi ubuntuqcow.img
Qemu-img verlangt jetzt die Eingabe eines Passworts. Die Verschlüsselung selbst erfolgt mittels AES und einem 128-Bit-Schlüssel. Qemu müssen Sie später lediglich das (verschlüsselte) Image wie gewohnt übergeben. Daraufhin startet die virtuelle Maschine, hält aber umgehend mit einem schwarzen Fenster an. Dort wechseln Sie mit [Strg]+[Alt]+[**2**] in den Monitor, setzen dort mit dem Befehl c die Verarbeitung fort und tippen dann das Passwort zur Entschlüsselung der Platte ein.
Alternativ zur Verschlüsselung kann Qemu-img ein QCOW2-Image auch unter Verwendung der Kompressionsbibliothek Zlib eindampfen:
$ qemu-img convert -c -O qcow2 ubuntu.vdi ubuntuqcow.img
Auch das geschrumpfte Image übergeben Sie wie ein normales Abbild an Qemu. Komprimierung und Verschlüsselung sorgen zwar für kleinere Festplatten-Images, in die kein Fremder hineinspähen kann, beide Funktionen kosten aber auch Rechenleistung.
Das QCOW2-Format bietet eine weitere praktische Eigenschaft: Sie können den Zustand einer Abbilddatei einfrieren. Alle weiteren Änderungen speichert Qemu dann in einem zweiten, kleineren Image. Das ist besonders dann nützlich, wenn Sie häufig neue Software ausprobieren. Das Basissystem im ersten Abbild bleibt unangetastet, während alle Änderungen im zweiten landen. Um wieder ein frisches System vor sich zu haben, müssen Sie lediglich das zweite Image löschen. Um diese Funktion zu nutzen, erstellen Sie zunächst wie gewohnt ein Festplattenabbild:
$ qemu-img create -f qcow2 basis.img 30G
Dieses starten Sie unter Qemu und installieren das gewünschte Betriebssystem darauf. Anschließend beenden Sie Qemu und erstellen ein zweites, sogenanntes Overlay-Image, das sich alle zukünftigen Änderungen merkt:
$ qemu-img create -f qcow2 -o backing_file=basis.img overlay.img
Wenn Sie jetzt Qemu starten, verwenden Sie nur noch overlay.img. Das Image basis.img muss weiterhin im gleichen Verzeichnis liegen bleiben – schließlich dienen die dort gespeicherten Daten als Ausgangspunkt. Sobald Sie später die Änderungen verwerfen möchten, löschen Sie einfach overlay.img und nutzen wieder das basis.img. Übrigens können Sie beliebige weitere Overlay-Images auf basis.img aufbauen lassen. Möchten Sie den Stand in overlay.img auf das basis.img übertragen, verwenden Sie den schlichten Befehl:
$ qemu-img commit overlay.img
Alternativ verwenden Sie den commit-Befehl im Qemu-Monitor. Es kann sich übrigens auch lohnen, ein QCOW2-Image in ein QCOW2-Image zu konvertieren: Qemu-img erkennt unbelegte Sektoren und übernimmt diese nicht in das Ziel-Image – die entstehende Image-Datei ist am Ende somit kleiner als das Original. Das Verfahren kann man auch noch weiter treiben und die Abbilddatei mittels -snapshot einbinden:
$ qemu -m 1024M -boot -snapshot basis.img
Qemu liest jetzt nur noch von der Festplatte. Sämtliche Änderungen speichert es in eine temporäre Datei im Verzeichnis /tmp. Diese löscht Qemu, sobald Sie die virtuelle Maschine beenden. Das Gastsystem ist damit, ähnlich wie bei einer Live-CD, wieder in seinem ursprünglichen Zustand.
Sollten einmal Zweifel an der Integrität einer Abbilddatei auftreten, hilft folgender Befehl weiter:
qemu-img check meinimage.img
Das Kommando überprüft das angegebene Image auf Fehler. Das funktioniert allerdings nur für die Formate QCOW2, QED und VDI.
Sound-Support
Töne gibt die virtuelle Maschine erst dann aus, wenn Sie Ihr eine Soundkarte spendieren. Qemu hat dabei mehrere virtuelle Modelle im Angebot. Das in vielen aktuellen PCs verbaute Intel-HD-Audio fügen Sie folgendermaßen hinzu:
$ qemu -cdrom ubuntu.iso -m 1024M -soundhw hda my_img.img
Da Windows XP dafür allerdings keine Treiber mitbringt, setzen Sie für einen Gast mit diesem Betriebssystem eine AC97-Audiokarte ein:
$ qemu -cdrom ubuntu.iso -m 1024M -soundhw ac97 my_img.img
Ein Klassiker – und somit insbesondere für die Verwendung mit sehr alten Betriebssystemen zu empfehlen – ist die Soundblaster 16:
$ qemu -cdrom ubuntu.iso -m 1024M -soundhw sb16 my_img.img
Alle übrigen unterstützten Soundkarten-Modelle listet das Kommando qemu -soundhw ? auf. Die Kürzel am Anfang einer jeden Ausgabezeile des Befehls verwenden Sie für den Wert hinter -soundhw.
Medienwechsel
Wenn Sie irgendwann das Installationsmedium wechseln müssen, drücken Sie [Strg]+[Alt]+[2]. Damit landen Sie im sogenannten Monitor, einer speziellen Kommandozeile, mit der Sie im laufenden Betrieb die Hardware der virtuellen Maschine austauschen, umbauen und manipulieren. Um eine CD oder DVD zu tauschen, fragen Sie hier zunächst den aktuellen Zustand der Geräte ab:
(qemu) info block
Das spuckt ein paar kryptische Zeilen aus, ähnlich wie in Abbildung 5 zu sehen. Ganz am Anfang steht dabei der Qemu-Gerätename.

info block hin alle Block-Geräte in der virtuellen Maschine auf. Darunter befindet sich standardmäßig sogar noch ein Diskettenlaufwerk.” width=”300″ height=”107″ />
Abbildung 5: Der Monitor listet auf den Befehlinfo block hin alle Block-Geräte in der virtuellen Maschine auf. Darunter befindet sich standardmäßig sogar noch ein Diskettenlaufwerk. In Abbildung 5 hört das CD-Laufwerk auf den Namen ide1-cd0 – einfach zu entdecken anhand der “eingelegten” ISO-Datei sowie dem removable=1. Die enthaltene CD oder DVD wirft folgender Befehl aus:
(qemu) eject -f ide1-cd0
Dabei erzwingt der (optionale) Parameter -f (“force”) das Auswerfen, für den Fall, dass beispielsweise das Betriebssystem das Medium noch im Griff hält. Sobald das virtuelle Laufwerk leer ist, binden Sie das Ersatzmedium ein, das im folgenden Beispiel im Verzeichnis /home/tim liegt und den Dateinamen cdrom2.iso trägt:
(qemu) change ide1-cd0 /home/tim/cdrom2.iso
Hat sich eine virtuelle Maschine aufgehängt, starten Sie sie im Monitor via system_reset neu. Als nützlich erweist sich auch der Monitor-Befehl sendkey, mit dem Sie im virtuellen System eine ganz bestimmte Tastenkombination auslösen:
(qemu) sendkey alt-f1
Dieses Kommando würde in KDE beispielsweise das Startmenü öffnen. Sie verlassen den Monitor über [Strg]+[Alt]+[**1**] wieder.
Boot-Varianten
Die virtuelle Maschine versucht grundsätzlich, von der ersten Festplatte zu starten. Soll sie hingegen vom CD-Laufwerk booten, müssen Sie das beim Start über den Parameter -boot once= angeben:
$ qemu -cdrom ubuntu.iso -m 1024M -boot once=d my_img.img
Das d steht dabei für das CD/DVD-Laufwerk, c wählt dagegen die erste Festplatte aus, n das Netzwerk. Durch die Kombination der Buchstaben und zusammen mit dem Parameter -boot order geben Sie dauerhaft eine andere Bootreihenfolge vor:
$ qemu -cdrom ubuntu.iso -m 1024M -boot order=dcn my_img.img
Damit sucht die virtuelle Maschine immer erst auf dem optischen Medium, dann auf der Festplatte und schließlich via Etherboot und PXE im Netzwerk nach einem bootbaren System.
Externe Laufwerke
Möchten Sie in der virtuellen Maschine ein am echten PC angeschlossenes USB-Gerät nutzen, müssen Sie es in mehreren Schritten an das Gastsystem durchreichen. Dazu rufen Sie zunächst auf dem Wirtsystem den Befehl lsusb auf. Sie erhalten dann eine Liste mit allen angeschlossenen USB-Geräten (Abbildung 6). Suchen Sie dort die passende Zeile, und merken Sie sich die Bus– und die Device-Nummer am Anfang. In Abbildung 6 besitzt beispielsweise der USB-Stick aus der untersten Zeile die Bus-Nummer 1 und die Gerätenummer 3. Die geben Sie jetzt beim Start der virtuellen Maschine an:
$ qemu -cdrom ubuntu.iso -m 1024M -boot once=dcn my_img.img -usb -device usb-host,hostbus=1,hostaddr=3
Der Parameter -usb aktiviert die USB-Unterstützung, hinter -device nennen Sie den Namen des Geräts. In diesem Fall handelt es sich um ein USB-Gerät am realen PC (usb-host), das dort die Bus-Adresse (hostbus) 1 und die Gerätenummer (hostaddr) 3 aufweist.
Sie können das USB-Gerät auch in einer laufenden virtuellen Maschine anstöpseln. Dazu wechseln Sie in den Monitor und verwenden den Befehl usb_add (Abbildung 7). Er hat die allgemeine Form usb_add host:Bus.Device, sähe also im Beispiel des USB-Sticks folgendermaßen aus:
(qemu) usb_add host:1.3
Damit Qemu das reale USB-Gerät durchreichen kann (Abbildung 8), muss es auf dessen Gerätedatei auch zugreifen dürfen. Ist das nicht der Fall, fluten zahlreiche Fehlermeldung im Stil von /dev/bus/usb/001/003: Permission denied die Kommandozeile. Am einfachsten starten Sie in einem solchen Fall Qemu als root statt als normaler Benutzer.
Fazit
Qemu kennt noch unzählige weitere Einstellungen, von denen viele das Netzwerk betreffen: So können Sie beispielsweise eine Port-Weiterleitung einrichten, via TUN/TAP-Devices die virtuelle Maschine direkt in das echte Netzwerk integrieren oder in Windows-Gästen über einen SMB-Server auf Verzeichnisse des Wirtssystems zugreifen. Mehrere virtuelle Maschinen lassen sich zu einem eigenen abgeschotteten Netzwerk verbinden, einzelne Exemplare dürfen Sie per VNC fernsteuern und mit Snapshots den kompletten Zustand einer virtuellen Maschine einfrieren.
Die dazu nötigen Parameter gestalten sich allerdings nicht gerade eingängig. Wollen Sie damit experimentieren, werfen Sie am besten einen Blick in die aktuelle Fassung der Qemu-Dokumentation [5]. Die versteht sich allerdings eher als Referenz und liest sich daher entsprechend spröde. Für Einsteiger empfiehlt sich das etwas ältere, dafür aber kostenlos im Internet verfügbare Buch “qemu-kvm & libvirt” [6] von Robert Warnke und Thomas Ritzau. Weitere Kurzanleitungen und Howtos sammelt das KVM-Wiki [7]. Viele der Anleitungen, Tipps und Tricks, die Sie im Internet finden, sind jedoch mittlerweile veraltet oder überholt.
Haben Sie aber erst einmal die zahlreichen Parameter verinnerlicht, starten Sie auf der Kommandozeile mit KVM schneller eine virtuelle Maschine, als Sie in Virtualbox und Co. die Maustaste dreimal geklickt haben.
Glossar
-
NIC
-
Network Interface Card. Netzwerkkarte.
-
SeaBIOS
-
Open-Source-Implementation eines 16-Bit-BIOS für Intel-PCs, läuft via Emulator oder nativ (per Coreboot [8]) auf entsprechenden Maschinen.
-
PXE
-
Intel Preboot Execution Environment. Protokoll zum Booten eines Betriebssystems via Netzwerk. Bei Etherboot handelt es sich um eine GPL-lizenzierte PXE-Implementation.
-
TUN/TAP
-
Virtuelle Kernel-Netzwerktreiber, die Netzwerkgeräte via Software simulieren. TAP kommuniziert mittels Ethernet-Frames, TUN über IP-Pakete.
Infos
[1] KVM: http://www.linux-kvm.org
[2] Hypervisor-Technik: http://en.wikipedia.org/wiki/Hypervisor
[3] Qemu: http://wiki.qemu.org
[4] Intel Virtualization Technology List: http://ark.intel.com/VTList.aspx
[5] Qemu-Referenz: http://qemu.weilnetz.de/qemu-doc.html
[6] Qemu-Buch: Robert Warnke und Thomas Ritzau, “qemu-kvm & libvirt”, http://qemu-buch.de
[7] KVM-Wiki: http://www.linux-kvm.org/page/Main_Page
[8] SeaBIOS/Coreboot: http://www.coreboot.org/SeaBIOS
[9] QED-Format: http://www.linux-kvm.com/content/qed-qemu-enhanced-disk-format











