Windows én Linux: zo zet je twee besturingssystemen op één pc
Je vaste besturingssysteem is Windows 11, maar je wilt evengoed ook geregeld met Linux aan de slag. Er zijn verschillende mogelijkheden, zoals virtualisatie of containers, maar in dit artikel focussen we ons op een heuse fysieke installatie via een dualboot-configuratie, op een UEFI-systeem met Secure Boot.
In dit artikel leren we je een dualboot-systeem op te zetten met Windows 11 en Ubuntu.
- Eerst: maak een herstelpunt
- Maak ruimte vrij op je harde schijf voor de Linux-installatie
- Maak een opstartbare usb-stick
- Installeer Ubuntu
- Tot slot: zo maak je de dualboot-configuratie weer ongedaan
Fan van Linux? Lees dan dit artikel: Weg met Windows! Probeer deze Linux-alternatieven: EndeavourOS of Manjaro
Toegegeven, een dualboot-configuratie heeft een paar nadelen. Allereerst is de opzet technisch een stuk lastiger, zeker bij bepaalde Linux-distributies die je op een Windows-pc met UEFI en ingeschakelde Secure Boot-functie wilt installeren. Een dualboot-configuratie vereist tevens een aparte partitie of schijf, wat kan leiden tot minder efficiënt gebruik van de opslagruimte, waarbij je eigenlijk ook moet opletten dat je niet ongewild de data van het andere besturingssysteem beschadigt. Daarnaast moet je het systeem telkens opnieuw opstarten om naar het andere besturingssysteem over te schakelen, omdat het niet mogelijk is systeembronnen simultaan tussen beide systemen te delen.
Voordelen zijn er uiteraard ook. Beide systemen kunnen namelijk hun volledige hardware-capaciteiten benutten zonder overhead, wat optimale prestaties mogelijk maakt. Bovendien heb je niet te maken met eventuele beperkingen van virtualisatie (zoals met een hypervisor zoals VirtualBox of het ingebouwde WSL2 of het gebruik van containers (zoals met Docker Desktop for Windows, dat onderhuids ook WSL2 gebruikt).
Lees ook: Instapcursus Docker Desktop: geen gedoe met losse applicatiebestanden
1 Scenario
In dit artikel gaan we uit van een UEFI-computer waarop al Windows 11 is geïnstalleerd (Home of Pro maakt weinig uit) en waar je later ook een Linux-distributie op wilt installeren. Hoe lastig zo’n dualboot-configuratie is, hangt in de praktijk vooral af van de Secure Boot-functie in combinatie met de gekozen Linux-distributie. We focussen ons op de installatie van Ubuntu, maar besteden uiteraard ook aandacht aan de nodige voorbereidingen en hoe je de Linux-installatie kunt verwijderen als je deze niet langer nodig hebt.
2 Windows-instellingen
Welke Linux-distributie je ook in een dualboot-configuratie installeert, het is verstandig om eerst enkele Windows-instellingen te controleren en eventueel aan te passen. Schakel bijvoorbeeld de functie Snel opstarten uit. Deze functie zorgt ervoor dat Windows niet volledig wordt afgesloten, maar een hybride slaapstand gebruikt. Dit kan leiden tot gegevensverlies wanneer je vanuit Linux de Windows-partitie benadert.
Om deze functie uit te schakelen, klik je met rechts op de Windows-startknop en open je Energiebeheer. Kies vervolgens Het gedrag van de aan/uit-knoppen bepalen en klik op Instellingen wijzigen die momenteel niet beschikbaar zijn. Verwijder het vinkje bij Snel opstarten inschakelen (aanbevolen) en bevestig de aanpassing met Wijzigingen opslaan. Start daarna Windows op.
Als je BitLocker-schijfversleuteling gebruikt, is het ook verstandig om deze uit te schakelen voordat je de partities aanpast (zie ook stap 6 'Partitioneren’). Start de module BitLocker beheren (Windows Pro) of ga naar Instellingen / Privacy en Beveiliging / Apparaatversleuteling (Windows Home, indien beschikbaar), schakel de functie uit en volg de instructies.
3 Secure Boot
Vaak wordt ook aanbevolen om de functie Secure Boot in je UEFI/BIOS uit te schakelen. Hoewel Windows normaal gesproken goed blijft functioneren als je dit doet, verwijder je hiermee wel een beveiligingslaag die je systeem tijdens de opstartfase tegen rootkits en andere malware beschermt. We raden je daarom aan om het eerst te proberen met ingeschakelde Secure Boot.
Doorgaans is er een speciale sneltoets waarmee je bij het opstarten van je computer in het setupvenster van het UEFI/BIOS komt. Raadpleeg desnoods je systeemhandleiding. Vanuit Windows 11 kom je er als volgt: ga naar Instellingen / Systeem / Systeemherstel. Klik bij Geavanceerde opstartopties op Nu opnieuw opstarten (2x). Na de herstart selecteer je Problemen oplossen / Geavanceerde opties / Instellingen voor UEFI-hardware.
4 Dezelfde systeemtijd
Het kan gebeuren dat de systeemtijd in je Linux- en Windows-installaties niet gelijk loopt. Dit komt doordat Windows verwacht dat de hardwareklok is ingesteld op lokale tijd en geen tijdzonecorrecties toepast om de actuele tijd te berekenen. De meeste Linux-distributies daarentegen gaan er standaard van uit dat de hardwareklok op UTC (Universal Time Coordinated) is ingesteld en passen daarom een tijdzonecorrectie toe. Er zijn twee methoden om dit probleem aan te pakken, vanuit Linux of vanuit Windows.
In Linux voer je eerst het commando timedatectl uit in de terminal. Verschijnt hier RTC in local TZ: no, dan pas je dit aan met deze opdracht:
timedatectl set-local-rtc 1
Linux waarschuwt dat hierdoor mogelijk aanpassingen aan tijdzones en de zomertijd niet langer correct worden toegepast en dat de RTC-tijd niet langer up-to-date wordt gehouden. Daarom is het wellicht toch beter om Windows aan te passen. Om dit te doen, start je de Registor-editor en navigeer je naar HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\TimeZoneInformation. Maak hier een nieuwe DWORD (32bits)-waarde aan met de naam RealTimeIsUniversal en stel deze in op 1.
Hoe laat het is?
Met deze klokken ben je altijd bij de tijd
5 Systeemback-up
Zodra je alle benodigde instellingen hebt aangepast, ben je bijna klaar om je dualboot-configuratie te starten. Bijna, want het is verstandig om eerst een systeemherstelpunt en -back-up te maken. Start in Windows de module Een herstelpunt maken en zorg je ervoor dat de functie voor je station(s) is ingeschakeld (via Configureren). Klik vervolgens op Maken en geef het herstelpunt een naam.
Voor het maken van een systeemback-up zijn er verschillende externe tools beschikbaar, waaronder EaseUS Todo Backup Free. Download en installeer dit programma, en start deze op. Klik op Create Backup en selecteer Disk. Plaats een vinkje bij de juiste harde schijf, zodat alle partities worden geselecteerd. Bevestig met OK, selecteer een geschikte bestemming en klik op Backup Now.
Om zo’n gemaakte back-up in te zien of daadwerkelijk te herstellen zelfs als je systeem niet meer zou opstarten, maak je een herstelmedium op een usb-stick. Hiervoor druk je rechtsboven in EaseUS Todo Backup op de optie Tools en kies je Create Emergency Disk. Overigens is de optie Enable PreOS in principe ook een optie, maar bij een dualboot-configuratie raden we dit af. Stop een (lege) usb-stick in je pc en klik op het stickicoontje bij Boot Disk Location. Bevestig met Create. Voor alle zekerheid start je na afloop je systeem van deze usb-stick op om te controleren of de gemaakte back-up echt bereikbaar is. Mocht er naderhand iets misgaan, dan kun je de situatie wellicht nog herstellen via systeemherstel of desnoods met je herstelmedium.
6 Partitioneren
Je moet ervoor zorgen dat er voldoende vrije ruimte is op je harde schijf om ook Linux te installeren. Hoeveel ruimte je nodig hebt, hangt ook af van de Linux-distributie, maar 30 GB lijkt ons een praktisch minimum.
Controleer de beschikbare ruimte eerst via het Schijfbeheer van Windows. Druk op Windows-toets+R en voer diskmgmt.msc uit. Mogelijk zie je in het grafische overzicht een blok Niet-toegewezen ruimte dat groot genoeg is. Als dit niet zo is, dan zit er weinig anders op dan een partitie zonder gegevensverlies te verkleinen.
Klik met rechts op de gekozen partitie in Schijfbeheer en kies Volume verkleinen. Geef in MB aan hoeveel ruimte je wilt vrijmaken (bijvoorbeeld 40000). Zorg dat er op de Windows-partitie minstens 20 GB overblijft om Windows goed te laten functioneren. Als dit niet genoeg ruimte oplevert, probeer het dan opnieuw nadat je alle overtollige databestanden en/of geïnstalleerde programma’s hebt verwijderd. We gaan ervan uit dat je weet hoe dit moet. Een handige tool om snel inzicht te krijgen in je schijfruimtegebruik is het gratis WizTree.
Als het partitioneren niet lukt vanuit Schijfbeheer, bijvoorbeeld omdat je hiervoor eerst een bestaande partitie moet verplaatsen, gebruik dan een krachtigere partitioneringstool, zoals MiniTool Partition Wizard Free. Let erop dat je in dit programma de operaties pas kunt uitvoeren na je bevestiging met Apply.
BIOS-modus We gaan ervan uit dat je een moderne pc met UEFI hebt, maar als je nog met Windows 10 werkt, betekent dit niet automatisch dat Windows in UEFI-modus opstart. Om dit snel te controleren, typ je systeeminformatie in de Windows-zoekbalk en open je het gelijknamige onderdeel. Als in het linkerdeelvenster Systeemoverzicht geselecteerd is, dan zie je in het rechterdeelvenster bij BIOS-modus de optie UEFI. Staat hier Verouderd of Legacy, dan start Windows toch op in de klassieke BIOS- of CSM-modus (Compatibility Support Module).
Deze laatste is een modus waarmee een UEFI/BIOS het systeem doet denken dat er een klassiek BIOS aanwezig is. Je kunt in dit geval ook wel Linux in dualboot installeren, maar houd er rekening mee dat je dan beperkt bent tot vier partities en tot bootschijven van 2 TB. In UEFI-modus kun je ook via een specifieke sneltoets omschakelen tussen beide besturingssystemen vanuit het UEFI-bootmenu. Hiervoor is geen bootmanager zoals GRUB nodig, hoewel deze iets meer controle en flexibiliteit biedt. Onthoud wel dat je Windows opnieuw moet installeren als je alsnog wilt overschakelen naar UEFI-modus in het UEFI/BIOS. Met Windows 11 werk je sowieso in UEFI-modus.
Vanuit Linux ga je met het terminal-commando efibootmgr na in welke modus het systeem is opgestart. Verschijnt een foutmelding in plaats van de UEFI-bootvariabelen, dan werkt Linux in legacy/CSM-modus.
7 Live stick
Voordat we Linux daadwerkelijk gaan installeren, moeten we een installatiestick maken. Hiervoor gebruiken we een iso-schijfkopiebestand van de gewenste Linux-distributie, die je kunt vinden op de website van de makers. Wij downloaden het gebruiksvriendelijke Ubuntu Desktop.
Er zijn verschillende betrouwbare en gratis tools beschikbaar om zo’n iso-bestand om te zetten naar een opstartbaar medium, zoals Ventoy en Rufus. We nemen Rufus als voorbeeld: download de (draagbare versie van) de tool en start deze op. Selecteer een (lege) usb-stick als Apparaat, kies in het keuzemenu Opstartselectie de optie Schijf of ISO-image (selecteren), klik op Selecteren en wijs het gedownloade iso-bestand aan. Je kunt hier verder alle opties ongewijzigd laten. Klik op Starten, kies Schrijven in ISO-image-modus (aanbevolen) en antwoord met Ja op de eventuele vraag voor extra Linux-systeembestanden. Zodra je op OK klikt, begint de operatie en wanneer de groene balk Klaar verschijnt, kun je op Sluiten klikken.
8 Opstart
Sluit nu Windows af, bij voorkeur terwijl je de Shift-toets ingedrukt houdt, zodat je zeker de functie Snel opstarten vermijdt. Je kunt nu je systeem opstarten vanaf de live-installatiestick. Mogelijk moet je bij het opstarten meteen op een toets(combinatie) drukken om het UEFI-bootmenu te openen, waar je vervolgens de usb-stick als opstartmedium selecteert.
We beginnen met Ubuntu, omdat je over het algemeen hierbij weinig problemen zult ondervinden met je UEFI-systeem. Als alles goed gaat, verschijnt even later het menu van de GRUB-opstartlader, waar je Try or Install Ubuntu selecteert. In het volgende menu kies je de taal waarin Ubuntu gestart moet worden en klik je daarna op de knop Ubuntu installeren. Of je kiest eerst de knop Ubuntu uitproberen om te controleren of de distributie goed werkt op je systeem. Daarna kun je de distributie alsnog daadwerkelijk installeren.
9 Installatie
Vervolgens selecteer je de gewenste toetsenbordindeling, bijvoorbeeld Dutch of Belgian. In het volgende venster is het raadzaam om de opties Normale installatie en Haal bijgewerkte pakketten binnen tijdens het installeren van Ubuntu geselecteerd te laten. Hier kun je ook aangeven of je third-party-drivers wilt gebruiken, zoals voor multimedia- of wifi-hardware. In dit geval schakel je de optie Configure secure boot in en voer je (2x) een wachtwoord in. Dit wachtwoord voer je na de installatie en herstart van Ubuntu opnieuw in, zodat de betreffende drivers of modules kunnen worden ondertekend en de functie Secure Boot ze toelaat (zie ook stap 10 en het kader ‘SHIM en MOK’).
In het volgende venster is het raadzaam om de optie Installeer Ubuntu naast Windows Boot Manager geselecteerd te laten, tenzij je liever zelf de locatie voor de opstartlader bepaalt en de benodigde partities als Root, Swap en Home maakt (in dat geval selecteer je Iets anders). Vermijd in elk geval de optie Wis schijf en installeer Ubuntu.
Vervolgens selecteer je de schijf waarop Ubuntu moet worden geïnstalleerd en kun je indien nodig de partitiegrootte voor Ubuntu aanpassen met de muisaanwijzer. Bevestig met Installeer nu en klik op Verder. Selecteer je tijdzone op de kaart, vul je naam, gebruikersnaam en computernaam in en klik nogmaals op Verder.
10 MOK-beheer
Na afloop klik je op Nu herstarten. Verwijder de usb-stick en druk op Enter. Als je Configure secure boot hebt gekozen, verschijnt nu het blauwe venster van de MOK-manager. In dit geval kies je achtereenvolgens Enroll MOK / Continue / Yes. Typ je wachtwoord en kies Reboot.
Als het goed is, verschijnt nu de GRUB-opstartlader en kun je hier kiezen tussen Windows (Boot Manager) en Ubuntu, of je gebruikt hiervoor het UEFI-bootmenu. Je dualboot-configuratie is nu compleet.
SHIM en MOK Gebruik je geen third-party-componenten in Ubuntu, dan doet Ubuntu zelf het nodige om met een ingeschakelde Secure Boot-functie overweg te kunnen. Ubuntu installeert dan een zogeheten SHIM (Signed Hardware Initialization Manager). Dit is een tussenlaag, een pre-bootloader, die met een door Microsoft erkende sleutel is ondertekend zodat de Linux-bootloader (bijvoorbeeld GRUB) op een systeem met ingeschakelde Secure Boot kan worden geladen.
Deze door Microsoft vertrouwde SHIM werkt helaas niet voor drivers of modules van derden. Hiervoor is het nodig om een zogeheten MOK (Machine Owner Key) toe te voegen aan de MOK-manager van Secure Boot, door middel van een wachtwoord. In dit geval werken dus SHIM en MOK complementair om volledige compatibiliteit met Secure Boot te bieden.
11 Partities verwijderen
Als je op een gegeven moment toch liever je dualboot-configuratie met Linux wilt verwijderen op je UEFI-systeem, zorg er dan wel voor dat Windows na de verwijdering nog steeds correct opstart. Je doet dit als volgt: maak eerst een (systeem)back-up voor het geval er iets fout gaat. Hoewel dit niet strikt nodig is, stel je in het UEFI/BIOS de bootvolgorde zo in dat Windows (Boot Manager) als eerste opstart. Doorgaans vind je dit bij een onderdeel als Boot Configuration / Boot Sequence.
Start Windows vervolgens en open Schijfbeheer (bijvoorbeeld via Windows-toets+R / diskmgmt.msc). Klik met rechts op de Linux-partitie in het grafische overzicht, kies Volume verwijderen en bevestig je keuze. Herhaal dit voor eventueel andere Linux-partities. Dit zijn doorgaans partities zonder stationsletter. Bij twijfel kun je ook Opdrachtprompt als administrator openen en daar het commando diskpart uitvoeren. Achter de DISKPART-prompt voer je deze opdrachten uit:
list disk
select disk <n>
Vervang <n> door het schijfnummer met je Linux-partities, bijvoorbeeld:
select disk 0
Typ daarna de volgende opdrachten:
list partition
select partition <n>
Vervang weer <n> door het nummer van de gewenste partitie. Extra informatie over een geselecteerde partitie vraag je op met:
detail partition
Je krijgt dan onder meer het bijbehorende Type-GUID te zien waarmee je een (Linux-)partitie kunt identificeren. Hiervan vind je een nagenoeg compleet overzicht op deze Wikipedia-pagina.
Nu je precies weet welke partitie(s) je moet verwijderen in Schijfbeheer, kun je de extra niet-toegewezen ruimte terugwinnen. Dit doe je bijvoorbeeld door deze aan een bestaande partitie te koppelen (kies Volume uitbreiden in het contextmenu) of door er een extra datapartitie van te maken.
12 Bootingang verwijderen
Tot slot dien je nog de Linux-ingang uit de bootmanager te verwijderen. Start de Opdrachtprompt opnieuw als administrator en voer deze opdracht uit:
bcdedit /enum firmware
Hier zie je onder meer de Linux-ingang, met een identifier (bijvoorbeeld {e3a9eb6a-db0S-11ee-adc3-806e6f6e6963}. Voer vervolgens deze opdracht uit:
bcdedit /delete <{identifier}>
Vervang <{identifier}> door de echte identifier, bijvoorbeeld:
bcdedit /delete {e3a9eb6a-db0S-11ee-adc3-806e6f6e6963}
Als het goed is, staat Windows nu weer alleen op je systeem.
Arch Linux
Bij een meer uitdagende distributie zoals Arch Linux zul je veel meer handmatig moeten doen. Niet alleen de installatie, maar ook de samenwerking met Secure Boot. Je installeert Arch Linux eerst met (tijdelijk) uitgeschakelde Secure Boot. Meteen na de installatie configureer je dan Secure Boot vanuit Arch Linux. Dit werkt het makkelijkst met de tool sbctl (Secure Boot Control), die je kunt installeren met deze commando’s:
sudo pacman -Syu
sudo pacman -S sbctl
Met sbctl kun je dan de nodige operaties uitvoeren, zoals het creëren van een nieuwe set secure boot-sleutels met:
sudo sbctl create-keys
Die sleutels voeg je vervolgens aan het UEFI/BIOS toe met:
sudo sbctl enroll-keys -m
Verder dien je nog de bootloaders en de Linux-kernel te ondertekenen. Welke dit zijn, ontdek je met deze opdracht:
sbctl verify
De eigenlijke ondertekening gebeurt dan met commando’s als:
sudo sbctl sign -s /boot/EFI/BOOT/BOOTX64.EFI
sudo sbctl sign -s /boot/EFI/systemd/systemd-bootx64.efi
sudo sbctl sign -s /EFI/Linux/archlinux-linux.efi
sudo sbctl sign -s /boot/vmlinuz-linux
Met deze opdracht check je of de nodige bestanden nu wel correct zijn ondertekend:
sudo sbctl verify
En hiermee krijg je een overzicht van de huidige secure boot-configuratie en sleutelstatus:
sudo sbctl status
Hierna kun je Secure Boot in het UEFI/BIOS weer inschakelen. Meer informatie hierover vind je in de wiki van Arch Linux, specifiek in sectie 3.1.3.