Main /

Q Emu Tips

Q Emu Tips

QEMU Image convertieren

Für QEMU existiert ein Konverter, mit dem man prima die Formate hin und her konvertieren kann.

 qemu-img convert -O vmdk -o subformat=twoGbMaxExtentFlat source.vmdk destination.vmdk

Konvertiert ein vorhandenes (source) vmdk Image zu einem (destination) Flat Image, mit 2gb großen Dateien. Vorher waren es 2gb große sparse Images, jetzt ist das sparse entfernt.

Qemu images aus vorhandenen VMware erstellen

Meine vmware Images sind bis jetzt immer 2GB groß gewesen, egal wie groß die HD wirklich ist. vmware bietet die Möglichkeit beliebig viele solcher Dateien zu einer großen zusammenzufügen, das ist für den Benutzer transparent. Qemu kann leider nur mit dem ersten Image was anfangen, was dann natürlich unvollständig wäre. Also macht man mit den vmware-tools aus multi file images ein monolith image.

 vmware-vdiskmanager -r DISKIMAGE -t 0 NEW_SINGLE_DISKIMAGE

Dann kann mit

 qemu-img convert NEW_SINGLE_DISKIMAGE -O qcow QEMU_DISKIMAGE

ein qemu Disk image erstellt werden.

Das kann mit

 qemu -hda QEMU_DISKIMAGE -snapshot

gestartet werden und was soll ich sagen, es läuft, fast ohne Änderungen.

Image verkleinern

Ein qemu image wird mit der Zeit immer größer, wenn man, was man auch sollte es im qcow Format anlegt. Dabei werden anfangs die leeren Sektoren einfach noch nicht geschrieben sondern nur als leer vermerkt. Hat man jetzt aber ein großes Image und löscht darin viele Dateien wieder, wird das Image leider nicht kleiner, da bis jetzt kein OS Dateien wirklich löscht, sondern nur in dessen Directory-Struktur vermerkt, das die Datei nicht mehr da ist. Da gibt es die wildesten Hilfmittel um solche Dateien doch richtig zu löschen, unter Windows wird empfohlen die Datei mehrfach zu überschreiben Hüstel. Naja, jedenfalls gibt es einen einfachen Weg, um das Image wirklich zu löschen. Ist das Guestsystem

  • ein Linux, einfach mit dd eine riesige leere Datei anlegen.
    dd if=/dev/zero of=/tmp/empty.bin bs=16384 count=65536
  • ein Windows, einfach eine Mailbombe auspacken, da es normalerweise kein dd unter Windows gibt.

Dabei werden nur die leeren Sektoren im Filesystem überschrieben. Dann sollte das Guestsystem beendet werden und auf dem Hostsystem einfach folgendes gestartet werden:
qemu-img convert currentimage -O qcow newimage
Jetzt wird das currentimage nach newimage kopiert, dabei werden alle leeren Sektoren ausgelassen, sodas am Ende das newimage meist kleiner als das currentimage ist. Sonst ist alles gleich.

ISO Image für QEmu erstellen

Ein ISO Image einer Disk z.B. Win98 legt man mit cdrdao an.

 cdrdao read-cd image.toc

Ich schreibe das hier auf, weil es für die PSOne anders geht.

 qemu -cdrom win98.iso ...

Disk-Image von außerhalb mounten

Quelle: aus einer Nachricht der Mailingliste:

 mount -t ext3 /opt/qemu/tempImage /mnt/tempImage -o loop,offset=sector_size*partition_start

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

Sound aktivieren

Sound einschalten mit -enable-audio. In Windows 98 (Gast) ist es dann eine Creative Soundblaster 16 (darauf achten, es ist kein PnP)

HW-Beschleunigte Grafik

  • Darauf achten, das der Host mit maximaler Tiefe (Depth) läuft. Bei mir sind es 24bit.
  • Im Guest (Windows 98) sind es 16 Bit. Bei 24 bit habe ich keine Beschleunigung mehr.
  • Getestet habe ich das ganze mit pcp3dbch.exe was es mal in der PC-Player 95 gab. Einfach nach googlen.

Diskussion:

Elsni fragt:

  1. Ist es sinnvoll vmware Images mit Windows zu qemu zu konvertieren? In wie weit ist die emulierte Hardware kompatibel zu vmware? Meistens kriegt Windows probleme wenn sich schlagartig die komplette Hardware ändert...
  2. Warum muß der Host bei 3D-Beschleunigung mit maximaler Tiefe arbeiten, in meinem Verständnis (womit ich natürlich falsch liegen kann, da ich nicht weiss was Quemu alles macht) müsste es doch eigentlich am schnellsten sein wenn Host und Guest OS die gleiche Farbtiefe verwenden...

Lars:

  • zu 1. IMHO nicht sinnvoll, da Windows hier meist rumzickt. Die HW von QEmu unterscheidet sich doch recht stark von dem, das VMWare bereitstellt. Man installiere sich ein Windows von einem ISO-Image neu, geht meist sehr schnell und das Ergebnis ist weniger anfällig.
  • zu 2. Das liegt wohl daran, das das 3D System vom Host verwendet wird und das nur dann Perfekt läuft, wenn die volle Farbtiefe zur Verfügung steht. Jedenfalls scheint es unter QEmu so zu sein. Die gleiche Farbtiefe (Hostsystem, Guestsystem) läuft unter QEmu zwar auch, aber es scheint so, das sie bis jetzt nur mit 16Bit Farbtiefe 3D-Beschleunigung hinbekommen (qemu-0.7.2).
Frische Änderungen | Menü editieren
zuletzt geändert am 19.09.2015 18:15 Uhr von Lars
Edit Page | Page History