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)
Umstellung
Vorbereitungen unter VMPlayer
Es ist vorteilhaft, noch unter VMware/VMware Player einige Dinge auszuführen:
Windows
Die „VMware Tools“ sollten nach Möglichkeit rückstandsfrei deinstalliert werden. Aus irgendeinem Grund funktioniert dies auf dem unter Windows üblichen Weg (Einstellungen, „Apps“) oft nur dann, wenn die betreffende VM unter VMWare / VMPlayer läuft, und selbst dann oft nicht rückstandsfrei. Hängen Sie die Treiber-CD-iso ein und installieren Sie die virtio-Treiber sowie die 'Guest Tools' (virtio-win-guest-tools.exe bzw. virtio-win-gt-x64.msi).
Achtung: Die Entfernung der VMWare-Tools kann zu Mausproblemen führen: Fahren Sie dann das Windows mit der Tastatur runter: Windows-Taste, Tabulator, bis Marke auf Usernamen rechts unten (verm. „student“) ruht, Cursor nach rechts, [Eingabe und 'Herunterfahren' wählen.
- Wer gründlich sein will, kann jetzt oder später alle vmware-Dateileichen und Rückstände in der Registry entfernen.
Linux
Deinstallieren Sie die open-vm-tools und, wenn vorhanden, die open-vm-tools-desktop.
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 'Öffnen'-Symbol (oder rechtsklick, 'Öffnen'). Das Monitorsymbol links zeigt dann die laufende VM; das Informationssymbol die dazugehörigen xml-Daten.
Erststart virt-manager
Falls dieses die erste überhaupt gestartete VM in diesem Umfeld ist, werden Sie nun vermutlich eine mittlere Freude erleben:
- „Fehler beim Starten … network 'default ist not active'“: Vergl. qemu: Netzwerk
- „Fehler bei Verbindung mit grafischer Konsole … Namespace SpiceClientGtk not available“: Vergl. qemu: Grafische Konsole.
- „Fehler beim Starten … Cannot access storage file '/dev/sr0'“ - falls Ihr Rechner kein CDROM/DVD-Laufwerk hat. Vergl. qemu: Laufwerke.
Keine Sorge - vom schnell entfernten CDROM abgesehen bleiben diese Fehler in Zukunft weg.
Erststart VM
- VM zeigt eine Konsole mit „Booting from Hard Disk… No bootable device“: Schalten Sie die VM aus (Dreieckssymbol rechts neben Ausschaltesymbol, „Ausschalten erzwingen“. Wechseln Sie dann zur xml-Ansicht (Informationssymbol), dort dann links in der Liste zu „OS-Information“. Ändern Sie den Eintrag <os> zu <os firmware=„efi“>. Wechseln Sie zur VM-Ansicht (Monitorsymbol), und starten neu.
Falls es Probleme mit den virtio-Treibern geben sollte oder Sie diese absichtlich nicht installiert haben, erscheint der beliebte Bluescreen „An diesem Gerät ist ein Problem ausgetreten … es wird ein Neustart ausgeführt“. Lassen Sie in Ruhe automatisch neustarten; es sollte dann eine Anzeige „Tastaturlayout auswählen“. Wahlen Sie eine, und gehen dann auf „Problembehandlung“ gefolgt von „Eingabeaufforderung“.
Wechseln Sie zur xml-Ansicht und klicken in der linken Liste auf das CDROM. Sollte kein CDROM vorhanden sein, fügen Sie eins hinzu. Schalten Sie die VM aus, und gehen in der Liste links ganz unten auf „Gerät hinzufügen“, Gerätetyp „CDROM-Gerät“, Bustyp „SATA“. Klicken Sie dann auf das links erscheinende Gerät „SATA CDROM“, rechts „Durchsuchen“, unten mittig auf „Lokal durchsuchen“. Suchen Sie die virtio-win-iso-Datei und wählen diese aus. Klicken Sie abschließend unten rechts auf „Übernehmen“. Starten Sie die
„“
„“ „“
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.