Upgrades voor VHD-Windows
Upgrade voor Windows 10 in een VHD
Een van de weinige beperkingen van VHD-installaties is dat Microsoft het niet toestaat om te upgraden naar een hoger versienummer. Bij Windows 7 en 8.1 is daar nog wel mee te leven, maar bij Windows 10 ziet dat er door het 'Windows as a Service'principe anders uit. Wij laten zien hoe je het toch voor elkaar krijgt.
Een upgrade-installatie heb je nodig als je Windows naar een hoger versienummer wilt tillen, dus bijvoorbeeld Windows 7 naar 8, 8 naar 8.1 of een van deze versies naar 10. Dat zijn echter allemaal scenario's die je bij een VHDinstallatie niet zo snel zult tegenkomen. Bij Windows 10 ligt dat helemaal anders. Daarbij heeft Microsoft het concept 'Windows as a Service' ingevoerd. Het resultaat is dat er nu een of twee keer per jaar een nieuwe versie van Windows 10 verschijnt. De naam van die versies is steeds opgebouwd uit het jaar en de maand. De eerste werd achteraf 'versie 1507' genoemd en toen volgden '1511' en '1607'. In maart moet '1703' uitkomen. Om die op je systeem te zetten, heb je steeds een upgradeinstallatie nodig. Daarbij wordt de nieuwe versie eerst naast de oude geïnstalleerd en worden vervolgens alle data, instellingen en programma's overgenomen. Bij VHD-installaties weigert de hiervoor verantwoordelijke Windows Update-functie dienst. Dat is vervelend, omdat zonder die upgrades een paar maanden later de support verloopt en je dus geen securityupdates meer krijgt.
We vonden het dan ook irritant dat we in eerste instantie niet wisten hoe je een upgrade-installatie doorvoert op een Windows-installatie in een VHD-bestand. Zo'n installatie kun je wel heel makkelijk maken met c't-Win2VHD, zoals je leest in het vorige artikel. Gelukkig ontdekten we uiteindelijk met wat hulp een truc: je hangt het VHD-bestand tijdelijk in een virtuele machine.
Daarbij moet je alleen nog twee moeilijkheden overwinnen. Ten eerste zit er geen bootloader in het VHD-bestand, aangezien die op de echte harde schijf staat. Het is dus niet voldoende om het VHD-bestand alleen simpelweg in een virtuele machine te hangen. Ten tweede is er een licentietechnische hobbel. Met slechts één licentie mag je geen twee installaties tegelijkertijd laten draaien.
We nemen hier als voorbeeld een met c't-Win2VHD gemaakte VHD-installatie (zie het vorige artikel) met Windows 10. Dit bestand heeft de naam Win10home.vhd, staat in de map c:\vhd en is in de bootloa-
der opgenomen. In de VHD is versie 1511 geïnstalleerd en het doel is om te upgraden naar 1607.
Bootloader toevoegen
We beginnen met de bootloader. Windows gebruikt normaal gesproken meerdere partities: een bootpartitie voor de bootloader en een systeempartitie voor Windows zelf. Zo staat bij een VHD-installatie de bootloader op de echte harde schijf en het VHD-bestand bevat alleen de systeempartitie. Bootloader en Windows kunnen echter ook in dezelfde partitie zitten. Daar maken we hier gebruik van om het VHD-bestand later in een virtuele machine te hangen en er dan van te kunnen booten. Voor het VHD-bestand zijn later dus twee bootloaders tegelijk verantwoordelijk. Die op de echte harde schijf boot het VHDbestand als VHD-installatie en de bootloader in het VHD-bestand wordt gebruikt bij het booten in een virtuele machine. De betreffende andere bootloader doet in beide gevallen in principe niks.
De bootloader in het VHD-bestand installeren is zo gepiept. Boot eerst de native installatie op de harde schijf en dubbelklik op het VHD-bestand. Dan mount de Verkenner hem als drive. In ons voorbeeld gebruiken we g: als stationsletter. Druk nu op Windows+X en open vanuit het menu een opdrachtprompt als administrator. Daar typ je dan het volgende commando in:
Let erop dat de stationsletter g: twee keer terugkomt in het commando. Die moet je dus indien nodig allebei aanpassen. Vervolgens kun je de VHD-drive in de Verkenner via zijn contextmenu weer 'uitwerpen'.
Nog een tip voor als je het VHD-bestand niet met c't-Win2VHD gemaakt hebt, maar handmatig: de partitie in de VHD moet 'actief' zijn om te kunnen booten. Dat kun je eventueel in het Schijfbeheer alsnog regelen.
Virtuele machine
Nu gaan we verder met de virtuele machine. Zowel Virtual Box als Microsofts Hyper-V kunnen VHD-bestanden mounten. Wij raden Hyper-V aan, omdat je daarmee ook meteen eventuele licentieproblemen kunt omzeilen. Download een (Engelstalige) 64-bit testlicentie van Windows 10 Enterprise (zie de link aan het eind van dit artikel) en installeer die met c't-Win2VHD in een VHD-bestand, bijvoorbeeld met de naam Win10eval.vhd. Op deze manier krijg je niet alleen helemaal legaal een tweede, zij het tijdelijke licentie, maar meteen ook Hyper-V (bij de Home-varianten van Windows 8.1 en 10 ontbreekt dat).
Boot Win10eval. Als na meerdere keren opnieuw opstarten de desktop verschenen is, kun je eventueel via de Instellingen het Nederlandse taalpakket installeren. Vervolgens druk je op Windows+X en klik je achtereenvolgens op 'Configuratiescherm/ Programma's/Windows-onderdelen in- of uitschakelen'. Zet een vinkje voor Hyper-V. vhd. Let erop dat de letter van de drive met je VHD-map anders kan zijn dan je gewend bent. Klik vervolgens op 'Voltooien'. De zojuist gemaakte virtuele machine verschijnt nu in het overzicht onder 'Virtuele machines'. Klik in het contextmenu daarvan op 'Instellingen' en verhoog onder 'Processor' het aantal tot minimaal twee. Met één cpu werkt de virtuele machine ook wel, maar dan wordt hij tergend langzaam. Sluit tot slot de instellingen weer.
Als je op de virtuele machine dubbelklikt, verschijnt hij in een venster, maar nog wel uitgeschakeld. Klik op de groene knop