Spring naar hoofdtekst

Windows VM voor noodgevallen

Geplaatst op door ,
Laatste aanpassing op .

Inleiding

De meeste elektronische apparaten waarop software draait die vervangen of bijgewerkt kan worden, ondersteunen slechts een klein deel van de besturingssystemen. Natuurlijk zijn er uitzonderingen, zoals een navigatie-apparaat met eigen WiFi-verbinding. Soms wordt ook Apple macOS ondersteund, maar meestal is men aangewezen op een computer met Microsoft Windows.

Sinds mijn volledige overstap naar GNU/Linux, meer dan tien jaar geleden, liep ik regelmatig tegen bovengenoemde beperking aan. Ik gebruikte aldus een virtuele machine van Oracle VirtualBox, met daarin een reguliere Windows-installatie.

modern.ie

Microsoft maakt het tegenwoordig voor (web-) ontwikkelaars gemakkelijk om hun applicaties en sites te testen met Edge en/of Internet Explorer. Ze bieden daartoe via https://modern.ie kant-en-klare virtuele machines aan in verschillende formaten - daaronder ook dat van Oracle VirtualBox.

Je hebt zo voor 90 dagen de beschikking over een volledig functionerende en up-to-date Windows 10. Hierna kun je de machine opnieuw importeren en starten. De teller start dan weer bij nul.

KVM & friends

Recent ontdekte ik de in GNU/Linux ingebouwde mogelijkheden om andere besturingssystemen te virtualiseren. In de kernel zijn met KVM de nodige voorbereidingen getroffen; met Qemu en virt-manager kun je er als gewone gebruiker mee aan de slag. Wie minder eisen stelt, en meer gebruikersgemak wil, kan op GNOME Boxes terugvallen.

Conversie

Nu was het alleen nog een uitdaging om één van de door Microsoft aangeboden virtuele machines draaiend te krijgen onder KVM. Ik onderzocht met file het al eerder gedownloade en uitgepakte bestand:

$ file "MSEdge - Win10.ova";
MSEdge - Win10.ova: POSIX tar archive

Een POSIX tar archief? Okee, dan wagen we een kijkje met tar..:

$ tar tvf "MSEdge - Win10.ova"
-rw-r----- vboxovf10/vbox_v6.0.4r128413       6365 2019-03-19 12:41 MSEdge - Win10.ovf
-rw-rw---- vboxovf10/vbox_v6.0.4r128413 7255868928 2019-03-19 12:41 MSEdge - Win10-disk001.vmdk

Het .ovf-bestand bleek een XML-document met de eigenschappen en systeemeisen van de virtuele machine. Het .vmdk-bestand is een VMware4 disk image. Zou ik dit kunnen omvormen tot iets bruikbaars voor KVM?

Gelukkig zijn er meer mensen met deze gedachte. Er is zelfs iemand die een waar scripttrio schreef om het gehele proces van downloaden, uitpakken, converteren en installeren te automatiseren. Ik bekeek die broncode en heb (ten minste de eerste stappen) voor mezelf als volgt samengevat:

$ tar xvf "MSEdge - Win10.ova";
$ qemu-img convert -O qcow2 "MSEdge - Win10-disk001.vmdk" "MSEdge - Win10-disk001.qcow2";

Virt-manager

virt-manager is een grafisch programma om virtuele machines en machines op afstand te beheren. Hoewel ik normaalgesproken een commandline aanpak altijd de voorkeur geef, moet ik eerlijk bekennen met het onderliggende virsh nog niet genoeg ervaring te hebben. Wie weet voel ik me in de toekomst vrij genoeg en update ik dit artikel met de passende instructies.

In het menu "File" koos ik voor "New virtual machine". Dan "Import existing disk image". Met "Browse" en "Local browse" zocht ik het zojuist gemaakte .qcow2-bestand op. De verdere instellingen spreken min of meer voor zich. Wel voegde ik nog een SATA-CD-ROM station toe en stelde bij de NIC (netwerkcontroller) het "Device model" in op "virtio".

VirtIO

Om Windows 10 met optimale prestaties in een virtuele machine met Qemu en KVM te gebruiken, zullen er een aantal stuurprogramma's (drivers) moeten worden geïnstalleerd. Gelukkig zijn deze bij het Fedora-project als directe download beschikbaar. Dit .iso-bestand moet bij de eerste start van de machine worden toegevoegd aan het virtuele CD-ROM-station. Hierop staan dan de drivers voor onder andere de virtuele grafische kaart.

Conclusie

Met de hierboven beschreven combinatie van programma's heb ik onder mijn huidige Debian succesvol het navigatieapparaat geüpdate. Als dat over een half jaar opnieuw moet gebeuren, voer ik de stappen vanaf de conversie opnieuw uit en kan ik met een schone lei beginnen; geheel legaal en functioneel.

Inhoudsopgave

Atom-feed Atom-feed van FWiePs weblog

Artikelen


Categorieën

Doorzoek de onderstaande categorieën om de lijst met artikelen te filteren.