Dies ist eine alte Version des Dokuments!
Inhaltsverzeichnis
Umstellung VMWare auf QEMU
Für diese Anleitung wird ein funktionierendes Umfeld mit qemu, libvirt und virt-manager benötigt (ausführliche Anleitung).
Caveat
Es ist prinzipiell möglich, virtuelle Maschinen von VMWare (VMPlayer, VMWare Workstation) auf QEMU umzustellen. Dabei sind jedoch einige Dinge zu beachten:
- In erster Linie können zum Booten notwendige (Massenspeicher-)Treiber Probleme bereiten:
- Die unter qemu/libvirt sehr vorteilhaften viostor-Treiber können zwar vor der Konvertierung installiert werden, dennoch macht Windows gern Ärger, diese beim Booten auch zu benutzen.
- Im Windows vorhandene IDE- bzw. SATA-Treiber können benutzt werden, sind aber mit Leistungseinbußen gegenüber virtio ('virt-IO') verbunden.
- VMware ist nicht direkt für rückstandsfrei entfernbare Software bekannt. Die 'VMware Tools' machen da keine Ausnahme und sollten nach Möglichkeit noch unter VMware/VMplayer entfernt werden.
Vorbereitungen
Linux
Benötigt werden für Linux die qemu-Gastwerkzeuge („qemu-guest-agent“) und für die virt-IO-Treiber ein Kernel >= 2.6.25 (was sehr vermutlich sowieso der Fall ist). Die qemu-Gastwerkzeuge sollten in den Repositorien der betreffenden Distribution enthalten sein.
Windows
Benötigt werden die virtio-Treiber und die Gastwerkzeuge. Beides ist in einer .iso-Datei zu finden hier zu finden. (Einzelne Treiber bzw. Gastwerkzeuge hier)
Es ist vorteilhaft, noch unter VMware/VMware Player einige Dinge auszuführen:
- „VMware Tools“ nach Möglichkeit möglichst rückstandsfrei deinstallieren. Falls diese… nicht so ganz freiwillig sind, siehe hier. Achtung: Das kann zu Mausproblemen führen: Dann Windows mit Tastatur (Windows-Taste, Tabulator- und Cursortasten) herunterfahren.
- Wer gründlich sein will, kann alle vmware-Dateileichen und Rückstände in der Registry entfernen.
- Treiber-CD-iso einhängen und die virtio-Treiber sowie die 'guest tools' installieren (virtio-win-guest-tools.exe bzw. virtio-win-gt-x64.msi).
Umstellung
Konvertierung virtuelle Festplatte
Anschließend (oder als ersten Schritt, falls Vorbereitungen unter VMware nicht möglich oder darauf verzeichtet wurde) kann die virtuelle Festplatte konvertiert werden:
# für vmplayer.vmdk die zu konvertierende .vmdk einsetzen, geeigneten Namen für qemu.qcow2 wählen: qemu-img convert -p -f vmdk -O qcow2 [vmplayer.vmdk] [qemu.qcow2]
Die ausgegebene qcow2-Datei kann gleich koprimiert werden:
qemu-img convert -f qcow2 -O qcow2 -c -o compression_type=zstd [qemu.qcow2] [temp_qemu.qcow2] mv [temp_qemu.qcow2] [qemu.qcow2]
xml-Datei erstellen
Als nächstes ist eine xml-Datei zum Ersatz der unter VMWare verwendeten .vmx nötig. Diese kann leider nicht automatisch aus einer .vmx-Datei generiert werden (jedenfalls derzeit noch nicht). In untenstehender Vorlage müssen aber nur an wenigen Stellen Anpassungen getroffen werden. Es ist sicher keine schlechte Idee, der .xml- und .qcow2-Datei den gleichen Namen zu geben.
xml-Vorlagendatei (Ausklappen)
Folgende Einträge müssen angepaßt werden:
- <name>* Hier den Namen der VM eintragen (muß nicht der vorherige sein) *</name>
- <libosinfo:os id=„* ID des virtualisierten Betriebssystems *“/>
- Beispiele wären (genauso eingeben, hier als Wert, nicht als Link zum Klicken gemeint):
- Wenn Sie sich bzgl. einer Linuxversion unsicher sind, verwenden Sie für den Anfang einfach „http://libosinfo.org/linux/2024“. Das läßt sich später mit virt-manager genauer einstellen.
- <source file=„* Hier Dateinamen der VM mit vollem Pfad eintragen *“/>
- Anm.: Der uuid-Wert ist absichtlich leer. libvirt trägt beim Import eine ein.
Import nach libvirt
Importieren Sie die xml-Datei mit
virsh -c qemu:///system define [xml-Datei.xml]
. Mehr dazu unter QEMU: Download und Import.
Erststart
Starten Sie den virt-manager. Bei den meisten Oberflächen geht das am schnellsten mit [Alt]+[F2], 'virt-manager' eingeben. Ihre übertragene VM sollte nun in Liste der verfügbaren VMs enthalten sein. Markieren Sie diese und klicken auf das 'Start'-Symbol (oder rechtsklick, 'Ausführen').
Falls dieses die erste überhaupt gestartete VM in diesem Umfeld ist, werden Sie nun vermutlich eine mittlere Freude erleben:
- Fehlermeldung „Fehler beim Starten … network 'default ist not active'“: Vergl. qemu: Netzwerk
- Fehlermeldung „Fehler beim Starten … Cannot access storage file '/dev/sr0'“ - falls Ihr Rechner kein CDROM/DVD-Laufwerk hat. Vergl. qemu: Laufwerke.
- „Fehler bei Verbindung mit grafischer Konsole … Namespace SpiceClientGtk not available“: Vergl. qemu: Grafische Konsole.
xdfghdfg
- vmware-tools deinstallieren
Wenn VMWare-Tools Zicken beim Deinstallieren machen: https://itsimple.info/?p=3161
- Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
- Set-ExecutionPolicy -ExecutionPolicy Unrestricted
virtio-win-0.1.285.iso:
- virtio-win-gt-x86.msi
- virtio-win-guest-tools.exe
nachträgliche Umstellung
Wird sicher kommen, daher mal testen.
Virtio-Treiber
Aus <os> <os firmware=„efi“>, wenn nicht booten will.
Virtio-Treiber
Testfall: Einfach vmdk nach qcow2 konvertiert, Standard-xml angepaßt. Importiert + gebootet, liefert Bluescreen mit INACCESSIBLE_BOOT_DEVICE. Dann nichts getan, Reboot erfolgt automatisch. Das Ganze zwei Mal, bis 'Reparatur' und 'Diagnose wird ausgeführt'. Liefert Bild „Automatische Reparatur“ als Überschrift, Auswahl „Neu starten“ und „Erweiterte Optionen“: dir c:
- Erweiterte Optionen gewählt, „Problembehandlung“, „Erweiterte Optionen“, „Eingabeaufforderung“, 'root', Paßwort rein → Kommandozeile.
- Bei VM-Details .iso einhängen (akt. virtio-win-0.1.285.iso)
- Mit 'dir c:', 'dir d:' uswdir. durchtesten, bis:
- Systemlaufwerk (:\Windows) angezeigt wird, Buchstabe merken (aus Poolsystem meistens d:),
- Oder: diskpart, list disk, list volumequit
- CD angezeigt wird, Buchstabe merken (aus Poolsystem gern f:).
- rauf auf Laufwerk (f:), dann Treiber suchen:
- cd viostor, cd Windowsversion (w10, w11), cd Architektur (amd64) bis viostor.inf.
- Dann Treiber rein: dism /Image:d:\ /Add-Driver:f:\viostor\w10\amd64\viostor.inf
… funktioniert tatsächlich.
VMWare-Tools
Wenn VMWare-Tools Zicken beim Deinstallieren machen: Skript unter https://itsimple.info/?p=3161, Powershell/root. Wird vermutlich Zicken machen a la „Ausführung von Skripten auf diesem System deaktiviert“. Dann:
- Zum Anzeigen:Get-ExecutionPolicy -list
- Policy ändern: Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope LocalMachine
- Zurücksetzen: Set-ExecutionPolicy -ExecutionPolicy Undefined -Scope LocalMachine
Reboot nötig.
VMWare-Dienste
- Dienste abstellen:
- Taskman als Admin starten, in 'Autostart' alles mit 'vmware' im Namen deaktivieren, unter 'Dienste' ebenso.
- 'Services' als Admin starten, ebenfalls alles mit 'vmware' im Namen abmurksen: Rechtsklick, Eigenschaften, bei Dienststatus Beenden, Starttyp auf Deaktiviert setzen.
Reboot schadet nicht.
qemu-Guest-additions
Von CD virtio-win-gt-x86.msi oder gleich virtio-win-guest-tools.exe nachinstallieren.
dsgsdfgsdfg
(devmgmt.msc → Hardware)
Festplatte nach SATA geht direkt.