Als het over virtuele machines onder Windows gaat, vallen meestal alleen de namen VirtualBox en VMware. En dat terwijl je ook Hyper-V in Windows 10 gebruiken kunt, een gratis tool van Microsoft die in veel opzichten gelijkwaardig of zelfs superieur is. Het duurt iets langer om je in te werken, maar daarna heb je er nauwelijks omkijken naar.
Alle 64-bit Pro-, Education- en ook Enterprise-edities van Windows 10 (en 8.1) beschikken van huis uit over Hyper-V, een tool waarmee je een compleet systeem – een zogenaamde virtuele machine – apart op je pc kunt inrichten. Op die manier kun je met Windows als hostsysteem andere besturingssystemen inrichten als gastsysteem en beide gelijktijdig laten draaien. Dat is vooral handig voor beheerders en ontwikkelaars, maar ook voor iedereen die graag zonder risico een applicatie of registerhack wil uitproberen, of in het kader van Microsofts Insider-programma een blik wil werpen op de aankomende Windows-versies.
Een virtuele machine binnen Hyper-V in Windows 10 bestaat in wezen uit een aantal bestanden, met onder andere de metadata die definiëren welke virtuele hardware er in de betreffende virtuele machine zit. Het grootste bestand is een containerbestand waarin alles wordt opgenomen wat je in de virtuele machine op de virtuele harde schijf opslaat.
Om Hyper-V in Windows 10 een beetje goed te kunnen gebruiken, is het van belang dat de pc waarmee je werkt aan enkele voorwaarden voldoet. De processor moet over minstens twee echte cores plus hyperthreading beschikken, anders zul je bijzonder geduldig moeten zijn om de host en virtuele machine(s) tegelijkertijd te draaien. Bovendien moeten de cpu en het BIOS enkele functies ondersteunen en toestaan (zie kader hieronder).
Cpu- en BIOS-vereisten Hyper-V
Hyper-V stelt een aantal eisen aan de processor en het BIOS, maar kans is groot dat je pc daar aan voldoet. De vereiste techniek wordt namelijk al zo’n tien jaar standaard in pc’s toegepast. Dat kun je eenvoudig controleren: druk op de Windows-toets, typ msinfo32 in en druk op Enter. Daarmee start je de tool Systeeminformatie. Het deel dat voor Hyper-V interessant is, vind je onderaan de lijst op de openingspagina. Als daar staat ‘Er is een hypervisor gedetecteerd.’, dan is de hypervisor al actief. Dat komt omdat nieuwere versies van Windows 10 de hypervisor ook voor andere doeleinden gebruiken dan alleen Hyper-V. Defender gebruikt het bijvoorbeeld om kernelmode-processen te beschermen tegen kwaadaardige code (Advanced Threat Protection, ATP).
Als de hypervisor nog niet draait, zullen onderaan de lijst bij msinfo32 vier regels staan die allemaal met Hyper-V beginnen. Als alle vier de regels dan worden gevolgd door een Ja, dan staat Hyper-V niets in de weg om te werken.
Geheugen en schijfruimte
Je moet ook rekenen op 4 GB werkgeheugen voor het hostsysteem en nog eens 2 GB extra per gelijktijdig draaiende virtuele machine. Je kunt het wel proberen met minder, maar je loopt dan kans dat Hyper-V gaat lopen mekkeren dat het systeem over onvoldoende geheugenruimte beschikt. Indien mogelijk is het dan beter om 8 GB RAM voor de host en 4 GB per virtuele machine te reserveren. Daarmee zullen de systemen merkbaar soepeler werken. Hyper-V kan werkgeheugen overigens dynamisch aan virtuele machines toewijzen. Een virtuele machine die even niets te doen heeft, krijgt dan tijdelijk wat minder RAM toegewezen terwijl een andere die het net iets drukker heeft dan een beetje extra krijgt.
Wat de hardeschijfruimte betreft, wordt deze bepaald door de grootte van de in de virtuele machines geïnstalleerde gastsystemen. Een virtuele Windows-machine heeft bijvoorbeeld ten minste 20 GB nodig, maar dat kan nog aardig toenemen, afhankelijk van wat je met de virtuele machine doet.
Hyper-V activeren
Je kunt Hyper-V in Windows 10 op drie verschillende manieren inrichten. Voor twee daarvan moet je commando’s intypen, en wel met behulp van dism (DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V) en met PowerShell (Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All). Maar het kan ook makkelijker: druk op Windows+X, selecteer ‘Apps en onderdelen’ en klik op ‘Programma’s en functies’ (afhankelijk van de grootte van het venster staat dit rechts of een eind omlaag onder de lijst van apps en onderdelen). Klik vervolgens op ‘Windows-onderdelen in- of uitschakelen’. Vink het selectievakje voor Hyper-V aan en klik op OK. De vereiste onderdelen worden geïnstalleerd, waarna je de pc opnieuw moet opstarten.
Hyper-V starten
Start vervolgens het Hyper-V-beheer. Dat vind je via het startmenu onder ‘Windows Systeembeheer’. In het Hyper-V-beheer zie je links in het venster de naam van je Windows-pc staan. Zodra je daar op dubbelklikt, maakt het Hyper-V-beheer verbinding met de hypervisor die op de pc draait (zie het kader ‘De hypervisor’). Je kunt nu je eerste virtuele machine gaan maken. Daar zijn rechts in het venster twee menu-items voor: ‘Snel maken …’ en Nieuw. De eerste optie is eenvoudiger als je er voor het eerst mee aan de slag gaat, maar de tweede optie biedt je meer flexibiliteit bij het configureren en een grotere selectie aan besturingssystemen.
De snelle optie gebruikt altijd de standaard opslaglocatie van Hyper-V om de virtuele machine op te slaan (C:\ProgramData\Microsoft\Windows\Hyper-V). Er kunnen twee goede redenen zijn om een andere opslaglocatie te kiezen: allereerst kan er simpelweg ruimtegebrek zijn op C:. De tweede reden is dat het aan te raden is het containerbestand van de virtuele harde schijf op een ssd op te slaan. De geïnstalleerde gastbesturingssystemen in de virtuele machines profiteren dan in dezelfde mate van een snelle ssd als je hostsysteem, en zijn dus ook stukken trager op conventionele magneetschijven. Als je in het Hyper-V-beheer in het linkerdeel met de rechtermuisknop op de naam van je computer klikt, kun je in het snelmenu de optie selecteren om het pad te wijzigen waar de virtuele machine moet worden opgeslagen.
Als er een internetverbinding beschikbaar is, verschijnt er na het klikken op ‘Snel maken’ een overzicht met drie besturingssystemen. Achter elk item zit een wizard die voor het desbetreffende systeem een geschikte dataset downloadt en daar vervolgens een virtuele machine van samenstelt. Ten slotte wordt het virtuele besturingssysteem gestart.
Een wizard kan drie verschillende virtuele machines volledig automatisch aanmaken.
De ‘MSIX Packaging Tool Environment’ is een volledig functionele 90-dagen geldige (Engelse) proefversie van Windows 10 Enterprise, voorzien van extra tools voor ontwikkelaars die hun bestaande Win32-applicaties willen verpakken in het MSIX-installatiepakketformaat van Microsoft. De ‘Windows 10-ontwikkelaarsomgeving’ bestaat ook uit een Engelse 90-dagen-proefversie van Windows 10 Enterprise, waar Visual Studio 2019 bij inzit. Het derde systeem is ‘Ubuntu 18.04.3 LTS’. En ja, daarmee richt Microsofts Hyper-V in Windows 10 een virtuele Ubuntu-machine voor je in.
Houd er wel rekening mee dat de grafische prestaties in een virtuele machine niet te vergelijken zijn met echte hardware. De grafische kaart wordt alleen geëmuleerd en niet direct benaderd (de serverversie van Hyper-V kan dat wel, maar dan niet voor de grafische prestaties maar om de rekenkracht van de gpu aan te spreken). De gebruikersinterface van een virtuele Ubuntu zal dus niet zo soepel ogen als een echte installatie. Voor een eerste indruk van het bedieningsconcept en de functionaliteit, of de eerste stappen met de Linux-terminal is een virtuele Ubuntu prima, maar voor het hele plaatje zal een Ubuntu live-systeem vanaf een stick een completere indruk geven.
Virtuele machine maken
De optie ‘Snel maken’ is de kortste weg naar je eigen virtuele machine, maar je hebt meer flexibiliteit als je je eigen virtuele machine maakt. Klik op Nieuw rechts in het venster en selecteer ‘Virtuele machine’. Er start een wizard die je het een en ander vraagt te bevestigen door op Volgende te klikken. Als je voor het eerst met Hyper-V aan de slag gaat, is het echter beter om de drang om snel door te klikken te weerstaan en eerst de opties door te nemen voordat je op Voltooien klikt.
Geef het nieuwe systeem een naam naar keuze, zoals VM1. In hetzelfde dialoogvenster kun je een locatie voor de virtuele machine opgeven, als je niet de standaardlocatie wilt gebruiken.
In de volgende dialoog wordt gevraagd om de Generatie van de virtuele machine op te geven. Daarmee wordt bedoeld of de virtuele machine moet opstarten met een legacy-BIOS of met UEFI. Die keuze is in beide gevallen niet eenvoudig weer terug te draaien. Als je niet zeker weet wat handig is, kun je als richtlijn aanhouden dat Generatie 2 goed is voor alle 64-bit Windows-versies vanaf Windows 8, en in andere gevallen Generatie 1 de betere keuze is.
De ‘generatie’ geeft aan of de virtuele machine het klassieke BIOS of het modernere UEFI moet gebruiken om mee te booten.
Bij de volgende stap stel je de grootte van het werkgeheugen in. Standaard staat een bijzonder bescheiden 1024 MB aan RAM ingesteld, maar het is beter om voor 2048 MB en liever nog 4096 MB te gaan. Ook is de optie dat Hyper-V dynamisch RAM kan toewijzen al aangevinkt. Het werkgeheugen wordt dan naargelang de behoefte vergroot of verkleind – laat het vinkje staan. Een lastig detail is dat Hyper-V NumLock zonder enige reden of waarschuwing graag in- of uitschakelt. Als je de RAM-waarde via het numerieke toetsenbord wilt invoeren, moet je dus even opletten of NumLock ook actief is.
Selecteer de netwerkaansluiting die je gaat gebruiken. Je hebt de keuze tussen ‘Niet verbonden’ en ‘Default Switch’. Die laatste optie verwijst naar een virtuele netwerkswitch die aan de ene kant is verbonden met de netwerkverbinding van de host en aan de andere kant met de virtuele machines. Het voordeel om er een switch tussenin te plaatsen is dat Hyper-V meerdere switches kan beheren voor meerdere netwerkverbindingen, zoals een gastnetwerk naast je eigen netwerk.
Doorlezen is gratis, maar eerst even dit:
Dit artikel is met grote zorg samengesteld door de redactie van c’t magazine– het meest toonaangevende computertijdschrift van Nederland en België.Met zeer uitgebreide tests en praktische workshops biedt c’t de diepgang die je nergens online vindt.
Bekijk de abonnementen Lees eerst verder
Virtuele schijf als VHD of VHDX
De volgende stap betreft de virtuele harde schijf. De wizard biedt de mogelijkheid om een nieuwe virtuele schijf te maken met een standaard grootte van 127 GB, wat meestal meer dan genoeg is. Als bestandsformaat voor het containerbestand gebruikt Hyper-V in Windows 10 standaard VHDX, waarmee een maximale bestandsgrootte van 64 TB mogelijk is. Het is ook mogelijk een reeds bestaand containerbestand toe te wijzen, naar keuze in VHDX of diens voorloper, het VHD-formaat. Bij de eerste pogingen is het echter aan te raden een nieuwe virtuele schijf aan te maken. Het bestand neemt in eerste instantie slechts enkele MB op de schijf in beslag en groeit dynamisch naarmate er meer data in de virtuele machine worden opgeslagen.
In het laatste dialoogvenster biedt Hyper-V aan om een ISO-bestand te koppelen waarvan het besturingssysteem in de virtuele machine wordt geïnstalleerd (dat kan niet vanaf een usb-stick). In tegenstelling tot de ‘Snel maken’-methode moet je zelf voor het ISO-bestand zorgen. Het kan zijn dat je een extra licentie nodig hebt voor het besturingssysteem dat je in de virtuele machine wilt installeren. Voor Ubuntu en andere Linux-distributies is dat niet nodig, maar voor Windows wel. Je mag je bestaande Windows-licentie niet in een virtuele machine installeren, want dan zou je dezelfde licentie tegelijkertijd voor de host en voor de virtuele machine gebruiken. Als je geen aparte Windows-licentie meer hebt voor de virtuele machine, kun je de bovengenoemde 90-dagen proefversies gebruiken. Dat zijn Enterprise Editions die afgezien van de tijdslimiet volledig functioneel zijn. Ga naar de website microsoft.com/en-us/evalcenter/ en klik door op de knop Products. Dan opent een overzicht van allerlei producten van Microsoft, waaronder de Windows 10 Enterprise-editie, maar ook verschillende serverversies om te testen. ISO-images die je naar je harde schijf hebt gedownload, kun je in Hyper-V mounten.
Er is echter een complicatie als je de gedownloade ISO-images bijvoorbeeld op je NAS of server wilt opslaan. Hyper-V benadert die met de toegangsgegevens van je systeemaccount, maar dat zal alleen werken wanneer de netwerkshare op een pc of server staat die binnen hetzelfde domein als je pc zit. Maar de meeste mensen hebben thuis geen domeinen, waardoor er weinig anders overblijft dan de ISO-images voor de virtuele machine op een lokale schijf op te slaan.
Virtuele machine starten
Daarmee heb je de virtuele machine bij elkaar geklikt en verschijnt hij in het middelste deel van het Hyper-beheer, maar je moet nog een extra handeling verrichten. Open de instellingen van de virtuele machine. Die vind je door met de rechtermuisknop op de naam te klikken en in het snelmenu de optie Instellingen te selecteren. Selecteer Processor en verhoog het ‘Aantal virtuele processors’ naar 2, of beter nog 4. Met maar één virtuele processor zou de virtuele machine extreem traag zijn. Klik onderaan op Toepassen en je bent klaar. De virtuele processors worden niet exclusief toegewezen aan de virtuele machine, maar de host en de virtuele machines delen de rekenkracht van de echte cpu. De volgende stappen gaan uit van een virtuele machine met een 64-bit proefversie van Windows 10 Enterprise.
Wijs zo mogelijk twee of beter nog vier virtuele processors aan een virtuele machine toe, anders loopt die alleen met de handrem erop.
Je zou denken dat je de virtuele machine start door op de knop (of via het snelmenu op) Starten te klikken. Maar dan krijg je de virtuele machine niet te zien. Dubbelklik in plaats daarvan op de naam van de virtuele machine. Daarmee maak je een ‘verbinding’ met de virtuele machine (dit kun je ook met de rechtermuisknop en het snelmenu doen). De actuele toestand van de virtuele machine wordt dan in een venster getoond, ongeacht of die actief is of niet.
Op dezelfde manier start of stop je een virtuele machine zonder die te zien – dat komt omdat de virtuele machine onafhankelijk van Windows op een ‘hypervisor’ draait. De eerste keer dat je een virtuele machine opzet, moet je echter eerst de set-upprocedure van het gastbesturingssysteem doorlopen, dus maak eerst verbinding met de virtuele machine.
Voordat je op de knop Starten in de virtuele machine klikt, moet je er rekening mee houden dat je in sommige gevallen meteen na het opstarten moet bevestigen dat je vanaf dvd wilt booten (het ISO-bestand verschijnt als optisch station in de virtuele machine). De goede volgorde is: klik op Starten, klik nogmaals in het venster van de virtuele machine zodat die op invoer van het toetsenbord reageert en druk dan bijvoorbeeld op de spatiebalk zodra de prompt verschijnt. Als dat de eerste keer niet werkt, is er niets stuk, maar moet je de procedure herhalen tot het wel werkt.
Hyper-V en RDP
Laat de installatie dan zijn ding doen. Je kunt het venster overigens zonder problemen sluiten en later opnieuw verbinden. Het installatieproces in de virtuele machine gaat door tot de volgende gebruikersinvoer vereist is.
Tijdens onze tests bleef in heel enkele gevallen het scherm van de virtuele machine tijdens het installeren van Windows na een herstart zwart. Een oplossing was toen om in het venster van de virtuele machine op de menubalk onder Actie op Uitschakelen te klikken. Start de virtuele machine vervolgens opnieuw op. De verdere installatie zou daarna zonder problemen moeten verlopen. We konden geen reden of oplossing vinden voor dit probleem, dat slechts sporadisch voorkomt.
Zodra de installatie voltooid is, zal de virtuele machine je verrassen met de vraag met welke displayconfiguratie je wilt verbinden met de virtuele machine. Wat daarachter zit, is dat het Hyper-V-beheer op twee manieren verbinding kan maken met een virtuele machine. Tot nu toe heb je alleen maar een zogenaamde ‘eenvoudige sessie’ gezien. Het beheer biedt nu ook de mogelijkheid om een ‘geavanceerde sessie’ te starten. Daarmee benader je de virtuele machine via het Remote Desktop Protocol (RDP). In eerste instantie lijkt dat geen verschil te maken (afgezien van de resolutie), maar het heeft wel een aantal voordelen. De virtuele machine kan via RDP bijvoorbeeld geluid afspelen, je kunt het klembord gebruiken om gegevens uit te wisselen tussen de host en de virtuele machine via copy&paste en drag&drop, je kunt printen op je standaardprinter en je kunt de virtuele machine over meerdere monitoren uitrekken.
Als het besturingssysteem in de virtuele machine dat ondersteunt, kun je een remote-desktopverbinding maken.
Bij een eenvoudige sessie kun je alleen platte tekst van de host naar de virtuele machine kopiëren (via Klembord op de menubalk), maar geluid en printer zijn niet beschikbaar en de virtuele machine verschijnt maar op één monitor.
Voor een uitgebreide sessie via RDP moet het besturingssysteem dat in de virtuele machine draait wel beschikken over een RDP-server. Dat is bijvoorbeeld het geval bij een virtuele Ubuntu-machine die je via de snelle methode hebt gemaakt, maar helaas niet bij alle edities van Windows. De Home-edities beschikken niet over een RDP-server, dus daarmee is een uitgebreide sessie niet mogelijk – al het andere werkt echter wel.
Gastuitbreidingen
Hyper-V is voorzien van ‘integration services’. Die zorgen onder andere voor de tijdsynchronisatie tussen host en de virtuele machine, bieden interfaces voor de gegevensuitwisseling en zorgen ervoor dat de Volume Shadow Copy Service (VSS) een back-up kan maken van een virtuele machine zonder die eerst af te hoeven sluiten. We gaan hier verder niet op de details in, omdat je je in het algemeen verder niet om de integration-services hoeft te bekommeren. Als je daar meer over wilt weten, kun je de online documentatie van Microsoft raadplegen. Alle ondersteunde gastbesturingssystemen zijn van huis uit voorzien van de services en die hoeven niet nog handmatig te worden geïnstalleerd. Dat geldt niet alleen voor alle huidige Windows-versies (inclusief Home), maar bijvoorbeeld ook voor Ubuntu.
Wat houdt ‘ondersteund’ besturingssysteem eigenlijk in? Enerzijds wordt daar elke Windows-versie mee bedoeld die nog door Microsoft wordt ondersteund, dus Windows 8.1 en 10 (met uitzondering van de Home-edities). Maar de integration-services zaten ook al in oudere Windows-versies, namelijk in Vista vanaf Service Pack 2 en Windows 7, en wel in de Professional/Business-, Enterprise- en Ultimate-edities.
Ook de respectievelijke serverversies van Windows beschikken standaard over de integration-services. FreeBSD, CentOS en Red Hat Enterprise Linux, SUSE Enterprise Linux, Oracle Linux en de reeds genoemde Ubuntu bevatten de services ook. Verdere details over gastbesturingssystemen vind je bij Microsoft.
Hyper-V gebruiken
Je virtuele machine is nu klaar voor gebruik. Er zijn nog enkele dingen die goed zijn om te weten, zoals het delen van de muis. Bij ondersteunde gastbesturingssystemen gaat dat meestal geheel vanzelf als je de muis uit de virtuele machine verplaatst. Mocht dat niet werken, dan kun je de muis loskoppelen met de toetsencombinatie Ctrl+Alt+linkerpijl. Een kleine selectie van alternatieve sneltoetsen vind je niet via de virtuele-machine-instellingen, maar bij de Hyper-V-instellingen onder ‘Gebruiker / Muisvrijgavetoets’.
Hyper-V kan de toestand van een virtuele machine opslaan en die later weer herstellen. Microsoft noemt dat Controlepunten. Je kunt tussen die controlepunten schakelen en een virtuele machine na bijvoorbeeld een test weer terugzetten naar de toestand van voor de test. Voordat Hyper-V een virtuele machine reset, biedt het programma aan om een nieuw controlepunt van de actuele staat te maken, zodat het abusievelijk toepassen van een controlepunt weer ongedaan kan worden gemaakt. Controlepunten worden alleen gewist als je dat ook actief initieert.
Hyper-V kan verschillende toestanden van een virtuele machine opslaan als zogenaamde controlepunten.
Om een controlepunt aan te maken, klik je onder Actie op Controlepunt op de menubalk van de virtuele machine. Je kunt zoveel controlepunten maken als je wilt en die beheren met het Hyper-V-beheer in het deelvenster in het midden. Selecteer een virtuele machine, en je ziet in het onderstaande deel van dat scherm de bestaande controlepunten. Daar kun je ze hernoemen en individueel verwijderen (nieuwere exemplaren blijven behouden) of één inclusief alle opvolgende punten verwijderen (‘Controlepuntsubstructuur verwijderen’). Het maken van een controlepunt gaat overigens veel sneller en bespaart ruimte als de virtuele machine niet draait. Dan hoeft de inhoud van het werkgeheugen namelijk niet te worden opgeslagen.
Daniel DupréDaniel koestert een liefde voor het in elkaar zetten van zinnen en van computers, en heeft in c't een prachtige mogelijkheid gevonden om beide te combineren.
Lees ook
Windows 11 gaming performance verbeteren? Zo kun je dat doen!
Heb jij last van 'mindere' gaming performance in Windows 11? Met behulp van de tips in dit artikel kun je je Windows 11 gamingprestaties eenvoudig en ...
workshops•GamingmicrosoftSoftwarewindows
25/10/2024
Windows Defender Credential Guard blokkeert inloggen extern bureaublad
Automatisch inloggen via een extern bureaublad sessie (RDP) werkt niet langer in Windows 11 als je de 22H2 update hebt geïnstalleerd. De melding 'Wind...
workshops•Softwarewindows
25/10/2024