Zo draai je Windows op je Raspberry Pi
Als je een Raspberry Pi als desktopmachine wilt gebruiken, installeer je daar normaal gesproken Raspberry Pi OS op, de officiële Linux-distributie voor deze kleine computer. Maar het is ook mogelijk om een ARM-versie van Windows op je Raspberry te installeren. In deze masterclass gaan we aan de slag met het project WoR (Windows on Raspberry).
Windows on Raspberry (www.worproject.ml, en nee, de ml is geen tikfout, red.) is een project dat de volledige Windows-desktopervaring naar je Raspberry Pi brengt. De hardwareondersteuning is nog niet volledig, maar de meeste Windows-software draait gewoon. Je kunt zelfs x86-apps op Windows 10 ARM64 draaien. Zowel Windows 10 als de insider builds van Windows 11 draaien op je Raspberry Pi. Hoe dat werkt, leggen we uit.
Welke Raspberry Pi?
WoR draait op de Raspberry Pi 2 (revisie 1.2), 3, 4 en 400. Op de eerste twee modellen met maar 1 GB geheugen zal het echter niet zo vlot draaien. Voor vlot gebruik is 4 GB (Raspberry Pi 4 of 400) of 8 GB (Raspberry Pi 4) wel aangeraden.
Je installeert Windows op een microSD-kaart (het liefst met A1-rating) of usb-opslagapparaat (ssd of usb-stick) met een capaciteit van minimaal 8 GB en liefst meer dan 32 GB.
Overigens zal niet alle hardware werken. De ARM64-versie van Windows 10 (voor de Raspberry Pi 3, 4 en 400) heeft ARM64-drivers nodig, en die zijn er bijvoorbeeld niet voor HDMI-audio en wifi. De ARM32-versie (die ook op de Raspberry Pi 3 draait) heeft dan weer wel een werkende wifi-driver. Ga via https://kwikr.nl/winpi naar de GitHub-pagina voor de status van de drivers.
Bootloader op de Raspberry Pi 4
Bij de Raspberry Pi 4 is de bootloader een aandachtspuntje. Die upgrade je het best, zeker als je van een usb-opslagapparaat wilt opstarten. Dat gaat het eenvoudigste met het programma Raspberry Pi Imager. Klik eerst op Selecteer OS, scrol naar onderen, klik op Misc utility images / Bootloader en kies de optie met de voor jou juiste bootvolgorde.
Schrijf dit image op een microSD-kaart en start je Raspberry Pi 4 daarvan op. Bij een succesvolle upgrade van de bootloader wordt het scherm groen.
©PXimport
Windows-image voor ARM64
Je kunt niet zomaar een standaard Windows-image downloaden dat je op je Raspberry Pi installeert, zoals je van Raspberry Pi OS gewend bent (zie ook het kader ‘Mag dit?’). Je moet zelf zo’n image aanmaken en daarvoor zijn er enkele vereisten. Je hebt enerzijds een computer nodig met Windows 10 versie 1703 of later. Dat kan ook een virtuele machine zijn. Als je geen Windows hebt, kan het overigens ook op Linux of macOS, zie paragraaf ‘Installatie met Linux of macOS’.
Eerst moet je een Windows 10-image voor ARM64 downloaden. Dat gaat het eenvoudigste via de website UUPDump. Kies als eerste een releasetype en klik daarbij op de knop arm64. Voor een Windows 11-versie met de nieuwste functies, inclusief de mogelijkheid om x64-apps op je Raspberry Pi te draaien, kies je Latest Dev Channel build. Dan krijg je een of meer builds te zien. Kies de recentste.
Daarna kies je je taal en in de volgende stap bevestig je de edities. In de laatste stap laat je Download and convert to ISO aangevinkt staan en klik je onderaan op Create download package.
©PXimport
Downloads
Het zip-bestand dat in de laatste handeling van de vorige paragraaf werd gedownload, pak je uit. Dubbelklik op het bestand uup_download_windows.cmd. Je krijgt nu een melding dat Microsoft Defender SmartScreen het uitvoeren blokkeert. Sluit de melding en klik met rechts op het bestand in Verkenner en open Eigenschappen. Vink daar onderaan Blokkering opheffen aan en klik op OK.
Dubbelklik opnieuw op het bestand om het uit te voeren en geef het toestemming om wijzigingen aan je computer aan te brengen. Het downloadt nu de benodigde bestanden en maakt een image aan, wat lang kan duren. Druk op het einde op 0 wanneer daarom wordt gevraagd. Je vindt het iso-bestand nu in dezelfde map als het cmd-bestand dat je opstartte.
©PXimport
Opslagapparaat
Sluit nu het opslagapparaat dat je wilt gebruiken om Windows op te installeren aan op je computer (een microSD-kaart, usb-stick of externe ssd). Download daarna het programma Windows on Raspberry imager en pak het zip-bestand uit. Start dan het programma WoR.exe en sta toe dat het programma wijzigingen aan de computer kan aanbrengen. Kies je taal, selecteer je schijf (controleer of je de juiste hebt!) en het type Raspberry Pi.
Image installeren
Selecteer in de volgende stap het Windows-imagebestand dat je eerder hebt gegenereerd en selecteer de Windows-editie (bijvoorbeeld Home of Pro) waarvoor je een licentiesleutel hebt. Daarna kies je de stuurprogramma’s voor je Raspberry Pi. Kies de eerste optie Gebruik het nieuwste pakket dat beschikbaar is op de server om ze te downloaden. Selecteer dezelfde optie in de stap erna voor de UEFI-firmware.
Laat in het tabblad Configuratie de standaardwaardes staan. Controleer in de laatste stap of alle voorgestelde instellingen in het overzicht correct zijn en klik dan op Installeren. Dit proces kan overigens lang duren. Op het einde zie je de melding De installatie is voltooid! en klik je op Klaar. Je kunt nu het opslagapparaat verwijderen.
©PXimport
Mag dit?
Het WoR-project doet niets illegaals, omdat het geen bestanden deelt waarop auteursrechten rusten. Je downloadt bestanden die publiek beschikbaar zijn op Microsoft-servers en genereert daarmee een Windows-image dat je installeert. Maar je moet je Windows-installatie op je Raspberry Pi uiteraard nog altijd activeren. Daarvoor heb je een geldige Windows-licentiesleutel nodig. Windows-licenties zijn niet architectuurspecifiek, dus je kunt elke sleutel gebruiken die je normaal op je pc zou gebruiken.
Je hebt nog altijd een geldige Windows-licentiesleutel nodig
-
Installatie met Linux of macOS
De eenvoudigste manier om Windows op je Raspberry Pi te installeren wanneer je geen Windows op je computer gebruikt, is om Windows in een virtuele machine te draaien, bijvoorbeeld in VirtualBox, en daarin de installatiestappen van hiervoor uit te voeren.
Je moet dan je usb-opslagapparaat of microSD-kaart van je gastbesturingssysteem beschikbaar maken in de virtuele Windows-machine. In VirtualBox kun je bijvoorbeeld in de instellingen van je virtuele machine bij USB een aangesloten apparaat toevoegen.
Om een microSD-kaart beschikbaar te maken, is een andere truc nodig. In Linux doe je dat op de opdrachtregel met de volgende opdracht:
VBoxManage internalcommands createrawvmdk -filename /home/GEBRUIKER/sdcard.vmdk -rawdisk /dev/mmcblk0
Verander hierin GEBRUIKER naar je eigen gebruikersnaam en vervang mmcblk0 door het apparaatbestand van je microSD-kaart, dat je te zien krijgt in de uitvoer van de opdracht dmesg wanneer je je microSD-kaart insteekt.
Je moet je gebruiker ook toegang tot de schrijf geven. De eenvoudigste manier om dat te doen, is je gebruiker aan de groep disk toevoegen met:
usermod -a -G disk GEBRUIKER
Meld je dan af en weer aan. Daarna voeg je in VirtualBox het vmdk-bestand als virtuele schijf toe in Virtuele Media Manager en voeg je deze als schijf toe aan je virtuele machine. Nu kun je in je virtuele Windows het Windows-imagebestand genereren en naar je microSD-kaart schrijven.
WoR-flasher
Het WoR-project heeft ook instructies voor andere besturingssystemen dan Windows, maar die zijn wat complexer. Als je Ubuntu of Debian draait, is er nog een andere eenvoudige manier om Windows op je Raspberry Pi te installeren: het programma WoR-flasher. Download het via Git:
git clone https://github.com/Botspot/wor-flasher
En start het programma dan met:
~/wor-flasher/install-wor-gui.sh
Je kiest dan de gewenste Windows-versie, het model Raspberry Pi, de taal voor Windows en het opslagapparaat waarop je het image wilt installeren. Daarna downloadt het programma allerlei bestanden van Microsoft, genereert dit het image en installeert dit op je microSD-kaart. Dat duurt een hele tijd.
©PXimport
Raspberry Pi opstarten
Sluit nu je Raspberry Pi aan op een ethernetpoort, toetsenbord en muis, en steek de microSD-kaart met Windows in het slot. Start het computertje nu op. Als alles goed gaat, krijg je in het groot het logo van de Raspberry Pi te zien met daaronder de vraag ESC (setup), F1 (shell), ENTER (boot).
Wacht nu tot het initiële opstartproces is voltooid. Dat kan overigens wel even duren als je een traag opslagapparaat hebt. Na een tijdje zou je onder het logo meldingen moeten zien als Apparaten voorbereiden en Voorbereiden.
Na het initiële opstartproces reboot de Raspberry Pi enkele keren en krijg je de melding Even geduld te zien. Tot slot krijg je een scherm te zien waarin je basisinstellingen zoals je regio, taal, toetsenbordindeling enzovoort invoert. De kans is groot dat Windows daarna een update installeert en nog eens herstart.
Werken met Windows
Als de installatie gelukt is, kun je gewoon aanmelden in Windows en ermee werken zoals je gewend bent op je pc. Wij installeerden Windows 11, en dat maakt dat je op een Raspberry Pi op een veilige manier kunt kennismaken met Windows 11 zonder dat je het op je gewone pc hoeft te installeren.
De insider builds van Windows 11 werkten op het moment van schrijven, maar dat kan in de toekomst veranderen, geven de ontwikkelaars van WoR aan. WoR vervangt een aantal controles die Windows uitvoert op hardwarevereisten, zodat het besturingssysteem toch op de Raspberry Pi draait.
©PXimport
Prestaties
De prestaties van een Raspberry Pi zijn natuurlijk niet te vergelijken met een volwaardige pc. Maar voor normale taken zoals surfen, e-mailen en teksten bewerken volstaat de aanwezige processorkracht zeker. Veel hangt ook af van de snelheid van je opslagapparaat. Een snelle ssd is toch wel aan te raden.
Open het Taakbeheer en klik daar op het tabblad Prestaties. Daar kun je volgen hoe je processor, geheugen en schijf het doen terwijl je allerlei taken in Windows uitvoert.
Op een Raspberry Pi 4 met 8 GB geheugen werkt dit allemaal vrij vlot. Zie het kader ‘Meer geheugen op de Raspberry Pi 4’, want het geheugen is standaard gelimiteerd tot 3 GB. Voor specifieke monitoring van de Raspberry Pi-hardware kun je ook het programma PiMon draaien.
©PXimport
Drivers
Je Raspberry Pi heeft een ARM-processor, dus de x86-drivers voor je pc werken daar niet op. Alleen ARM64-drivers zijn ondersteund op Windows 10 voor ARM64. WoR bevat al een aantal drivers, maar voor sommige apparaten zul je zelf nog ARM64-compatibele drivers moeten vinden.
Zo kun je bijvoorbeeld een Arduino-bordje of ander microcontrollerbordje met CP210x-adapter voor een seriële UART-verbinding via usb aansluiten. Chipfabrikant Silabs heeft daarvoor een universele driver die ook op de ARM64-versie van Windows werkt. Ga daarvoor naar https://kwikr.nl/cp210driv , klik op het tabblad Downloads en daarna op de link CP210x Universal Windows Driver.
Software
Je kunt gewoon software uit de Microsoft Store installeren op je Raspberry Pi. De meeste x86 Windows-apps die je online downloadt, werken ook op Windows voor ARM64.
In de nieuwste insider-builds van Windows 11 voor ARM64 werken ook x64-apps (64-bits). Die draaien bovendien heel wat sneller dan de x86-apps. Op de achtergrond emuleert Windows de juiste processorinstructies. Uiteraard zal niet alle software op je Raspberry Pi draaien: sommige erg hardware-afhankelijke programma’s zullen problemen opleveren.
©PXimport
Meer geheugen op de Raspberry Pi 4
Bij de Raspberry Pi 4 is het geheugen standaard gelimiteerd tot 3 GB. Druk bij het opstarten van het image op Esc om de UEFI-instellingen in te gaan. Ga dan naar Device Manager / Raspberry Pi Configuration / Advanced Configuration en verander Limit RAM to 3 GB naar Disabled. Druk dan telkens op Esc om naar het hoofdvenster terug te keren, druk op Y om de instellingen op te slaan wanneer je die vraag krijgt en kies Reset om te herstarten.
©PXimport
Je kunt gewoon software uit de Microsoft Store installeren
-
Windows-updates
Om Windows op je Raspberry Pi te updaten, moet je wel opletten. De cumulatieve updates leveren geen probleem op: die installeer je gewoon zoals je op je pc zou doen. Maar de feature-updates (de halfjaarlijkse releases rond maart en september) zijn problematisch.
De oorzaak van het probleem is dat de ontwikkelaars van WoR zich geen dure certificaten kunnen permitteren om hun drivers mee te ondertekenen. Daarom werkt WoR voor deze drivers in ‘test signing mode’. Maar Windows verwacht niet dat je je continu in deze modus bevindt. Na een update levert dat dan driverproblemen op, waardoor je Raspberry Pi niet meer opstart.
Op de pagina Performing OS updates (zie https://kwikr.nl/worupdate) leggen de ontwikkelaars uit hoe je dit omzeilt. Je moet op specifieke momenten de updateprocedure onderbreken, enkele bestanden hernoemen en handmatig drivers op je opstartschijf plaatsen.
Daarna dien je enkele opdrachten uit te voeren, en tot slot kun je het updateproces voortzetten. Dat is wat vervelend en hopelijk slagen de ontwikkelaars erin om dit proces in de toekomst wat minder omslachtig te maken.
En verder
Loop je tegen een fout aan, voeg dan een foutbeschrijving toe op de pagina WoR Issue Tracker. Voeg het logbestand toe uit de directory logs van WoR, zodat de ontwikkelaars alle informatie hebben om te onderzoeken wat er is misgegaan.
WoR is nog een experimenteel project. Als je Windows op je Raspberry Pi dagelijks wilt gebruiken, is het goed om op de hoogte te blijven van de ontwikkelingen van het project. Bekijk dan zeker de communitypagina op de projectwebsite. Er is een Discourse-forum, een subreddit, een Telegram-groep en een kanaal op Discord.
Ook op de GitHub-pagina Windows on Raspberry vind je meer informatie. Vooral de repository RPi-Windows-Drivers is interessant om te volgen, omdat je daar de huidige toestand van de hardwareondersteuning vindt.
©PXimport
Windows 10 IoT Core
Er is nog een andere Windows-versie die op de Raspberry Pi werkt, Windows 10 IoT Core. Dit is een uitgeklede versie van Windows voor kleine apparaten. Deze draait niet de Windows-desktop, maar een UWP-app die je zelf ontwikkelt. Helaas is de hardwareondersteuning wat beperkt. Zo installeert het besturingssysteem wel op de Raspberry Pi 2, maar niet op revisie 1.2. En de Raspberry Pi 3B is volledig ondersteund, maar de Raspberry Pi 3B+ alleen als technische preview. De Raspberry Pi 4 is niet ondersteund.
Er zijn ook al even geen nieuwe versies van Windows 10 IoT Core meer uitgebracht, dus de vraag is of Microsoft hier nog toekomst in ziet.
©PXimport