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.