QEMU ist ein PC-Emulator vergleichbar mit VMware. Unterstützte Host-Betriebssystem: Linux, Windows, FreeBSD, NetBSD, OpenBSD und Mac OS X. Durch die Unterstützung der Hardwareplattformen: x86-, x86-64 bzw. AMD64-, PowerPC- und Sparc32/64 unterstützt QEMU prinzipiell alle x86-kompatiblen Betriebssysteme.

Homepage: http://bellard.org/qemu/

Deutsches HowTo: http://www.linuxforen.de/forums/showthread.php?t=141201

Beschleuniger: QEMU Accelerator nun auch unter GPL.

Filesysteme: QCOW, raw oder vom iso image (CD).

Lizenz: LGPL und GPL

Tipps & Tricks

Disk-Image von außerhalb mounten

(aus einer Nachricht der Mailingliste):

mount -oloop,offset=start_position -t ext3 /opt/qemu/tempImage /mnt/tempImage

start_position ist meist 32256 und kann in der zweiten Spalte von links abgelesen werden wenn man parted /opt/qemu/tempImage unit B print ausführt.

Falls das Programm parted nicht zur Verfügung steht:

start_position kann berechnet werden indem man sector_size und parition_start multipliziert.

sector_size ist meistens 512 und parition_start 63. Man kann fdisk -lu /opt/qemu/tempImage benutzen, um die Werte zu überprüfen.

Mini-Howto

Auf http://free.oszoo.org/ vorkonfigurierte Images herunterladen und starten oder:

  1. wget http://cdimage.ubuntu.com/daily/current/hoary-install-i386.iso

  2. dd if=/dev/zero of=image bs=1024000 count=4000

  3. qemu -hda image -cdrom hoary-install-i386.iso -boot d -m 128

Tips und Tricks

Wer nur mal schnell ein ISO booten möchte (Knoppix oder ähnliche CD/DVDs) der kann das ganz einfach mit "qemu -cdrom /dev/laufwerk" direkt von der CD/DVD tun.

Wie geht's mit Windows ?

  1. Man legt zuerst ! eine Imagedatei an, die das zukünftige Windows enthalten soll. Lieber ein bischen grösser wählen als zu klein.
    • dd of=w2k.img bs=1G seek=12 count=0

      dd legt nun eine 12 GB grosse Imagedatei namens w2k an. Lieber ein bischen größer als zu klein :)

  2. Anschliessend startet man qemu mit folgendem Aufruf
    • qemu$ qemu -m 256 localtime -user-net -hda w2k.img -cdrom /dev/cdrom -boot d

      was die virituelle Maschine startet, und ein im Laufwerk befindliches bootbares Windows-Image bootet. Den anschliessenden Installationsvorgang muss ich hier nicht ausführlich erläutern, oder ? :) Es sollte etwas schneller gehen, wenn man a) kleinere Partitonen verwendet (Ich werd die auch noch auf 4 GB schrumpfen, wichtig war mir zuerst mal "geht das ?" und b) zusätzlich noch den Parameter `-win2k-hack' dem oben genannten aufruf zufügt. Es sollte dann schneller von statten gehen.

  3. Statt mit dd wird seit einiger Zeit auch ein Programm namens qemu-img mitgeliefert, mit dessen Hilfe es ebenfalls kommandozeilenorientiert unter Windows oder Linux (Andere Plattformen sollten möglich sein, kann ich aber mangels Besitz nicht testen) möglich ist, virituelle Maschinenimages zu erzeugen, die man auch nachträglich vergrössern oder verkleinern kann, dito "wachsen" diese Images dynamisch mit, bis zur vorgegebener Grösse (die man qemu-img beim Anlegen des Images sagen muss). Ich empfehle solche Images auf die Grösse von 4 Gigabyte zu setzen, das kann man problemlos auf eine DVD sichern, und es reicht für eine Vollinstallation von Kubuntu oder Windows aus.
  4. Wenn man dann die div. Eulas (ich lobe mir "Slipstream CDs", nette Erfindung :) )erfolgreich abgenickt hat und den einen oder anderen reboot der virituellen Maschine erfolgreich hinter sich gebracht hat, startet man die virituelle W2K Maschine mit

    • qemu$ qemu -user-net w2k.img

      logt sich ein und ab die Rübe :)

So alleine aber fängt man ja mit Windows nichts an, also installiert man sich schnell noch unter Linux einen Samba-Server (wenn nicht eh schon vorhanden) konfiguriert diesen, (Achtung, man muss die Samba-User zumindest bei 'Debian Sid' manuell mit 'smbpassd -a jochen' anlegen) und schon kann man damit erfolgreich Laufwerke oder Drucker sharen.

Performance :

OffeneFrage : Wie bringt man das Netzwerk zum Laufen sodass ping funktioniert? Welche Einstellungen im Aufruf? Welche Einstellungen in Windows2000? Welche in Linux?

Antwort : Du solltest zuerst schauen ob dein Kernel eine TUN/TAP Netzwerkinterface hat, notfalls das Modul nachladen. Wenn das Interface dann "oben" ist (Es ist kein normales Netzwerkinterface sondern eine transparente "Brigde" mit eingebauten dhcpd) musst du nur noch die entsprechende Defaultroute in der VM setzen sodass dessen Route auf dein lokales Netzwerk zeigt. Dazu muss aber der IP-Bereich und die Subnetzmaske stimmen. Manchmal schluckt der Kernel das TUN/TAP nicht auf Anhieb, dann hilft ein Neustart des Systems.

Links

Neben Windows, OS/2, FreeBSD und sämtlichen Linuxderivaten (siehe http://free.oszoo.org/) kann man auch gleich direkt Linux-Kernels testen.

Version

Fazit


QEMU (zuletzt geändert am 2016-09-05 15:45:34 durch JochenWeihgold)