The Raspberry Pi is commonly associated with Linux operating systems such as Raspberry Pi OS. But what about running Microsoft OS on your Raspberry Pi? Officially, Microsoft’s only operating system for the Pi is Windows 10 IoT Core, but that is not a true operating system, merely a means to create an appliance with the Pi. Ambitious developers from the Raspberry Pi community are always finding a way to run a full desktop version of Windows on Raspberry Pi.
In 2020, we installed a version of Windows 10 onto a Raspberry Pi 4 and it performed admirably, if a little slowly. With the recent announcement of Windows 11 we revisited Windows on Raspberry Pi and thanks to a new ARM64 Insiders Preview image we’ll show you how to install Windows 11 on your Raspberry Pi 4.
However, before you begin, please note that this is not an official Microsoft product and the source of the images and software used is from a passionate and vibrant community working together to create this project. The Windows 11 image file is easy to source but there is a process that we have to follow in order to create a valid image which can be used with our Raspberry Pi. We can’t vouch for the safety or legitimacy of any of the custom files the community has created for this project so proceed at your own risk.
At the time of writing, this project runs surprisingly well (see below for more details) but has a lot of caveats. The Raspberry Pi’s onboard Wi-Fi, Bluetooth and GPIO do not work so you’ll need to use Ethernet or a USB Wi-Fi dongle to get online (there’s no list of supported dongles so we can’t guarantee yours will work). If your Pi isn’t near an Ethernet connection, you can always share a Windows PC’s Internet via Etherneti. Audio via HDMI is also not available but audio via the 3.5 mm headphone jack does work, with the occasional “pop”. Again, Bluetooth is not available so we can’t use a Bluetooth speaker.
What you will need to install Windows 10 on a Raspberry Pi 4
- Raspberry Pi 4 4GB or 8GB
- An 32GB or larger SSD via a USB 3 caddy. Best for performance or 16GB or larger microSD card, (see best microSD cards for Raspberry Pi)
- USB boot enabled, see below.
- A micro SD card with the latest Raspberry Pi OS
- Windows 10 PC
- USB to Ethernet or WiFi dongle
- Bluetooth dongle (if you want Bluetooth)
- Keyboard, mouse, HDMI and power for your Raspberry Pi
Configuring Raspberry Pi to boot off of SSD
For our install we chose to use an SSD via a USB3 caddy with USB boot enabled on the Pi. This did not go as expected. The images were successfully written to the drive, and they did indeed boot, but they failed at the device discovery portion of the setup. After discussing the issue with YouTuber leepspvideo, it turned out that our USB 3 caddy was to blame. So we opted to use an Argon M.2 case which has a built in USB 3 to SATA board. This worked the first time, and the added bonus is that our Pi is kept cool.
Before using Windows 11 on the Raspberry Pi 4 with an SSD, we first need to ensure that the firmware and bootloader of our Raspberry Pi 4 is set to the latest version so that we can boot from USB 3. Note that this update can only be performed using the official Raspberry Pi OS, it cannot be done via Windows 11. If you plan to use a microSD card instead of an SSD to run Windows 11, you can skip this section.
1. Boot from a standard microSD card with the latest Raspberry Pi OS on it.
2. Open a Terminal and update your OS and firmware by typing:
sudo apt update sudo apt full-upgrade sudo rpi-update
3. Reboot the Raspberry Pi
4. Install the latest bootloader by typing
sudo rpi-eeprom-update -d -a
5. Reboot the Raspberry Pi again
6. Open a Terminal and launch raspi-config
7. Select Boot Options (item 3) and press Enter.
8. Select Boot ROM Version and press Enter.
9. Select Latest and then Ok.
10. Select No to use the latest boot ROM. This will trigger the Raspberry Pi to complete a series of behind the scenes configuration steps. Press Ok to close the next dialog.
11. Select Boot Order and press Enter.
12. Select USB Boot and click Ok. Note that if there is a bootable micro SD card inserted, the Raspberry Pi will boot using that. Press Ok to close the next dialog.
13. Select Finish and when asked to reboot select No.
Your Raspberry Pi 4 is now ready to boot from a USB 3 SSD and you can now move on to install Windows 11 on your SSD.
How to Install Windows 11 on the Raspberry Pi 4
To install Windows 11 on a Raspberry Pi 4 we first need to create a viable installation image.
1. Search for “Windows 11 Arm” on UUDump
2. Select the latest build for “arm64”.
3. Set your preferred language.
4. Choose the edition of Windows 11 that you would like. We chose Windows Home and Pro. Click Next.
5. Set the download method to “Download and convert to ISO” then click “Create download package”.
6. Extract the contents of the download into a folder called “win11” and go to that folder.
7. Double click on the uup_download_windows.cmd file. This will trigger a security warning. Click on “More info” and then “Run anyway” and finally allow the app to make changes to your device.
The command prompt will now fill with text. This is the output of a command that will download the Windows 11 for Arm image, patch it and then prepare an ISO image. This process may take some time, depending on your Internet connection and the power of your computer.
8. When the process is complete, press 0 to close the prompt.
We now have an ISO image that we can install to a micro SD card or SSD.
1. Insert a micro SD card / SSD via USB into your computer. The drive should appear and be ready for use. Please note that the drive will be formatted, and any existing data on the drive will be lost.
2. Download the Windows on Raspberry Imager tool and extract the ZIP to the “win11” folder.
3. Open WoR and allow the application to make changes to your computer. Set your preferred language and then click Next.
4. Select the micro SD / SSD storage device that you wish to install Windows 11 to. Then set the device type, in this case a Raspberry Pi 4 / 400. Click Next to move on.
5. Select the freshly-created Windows 11 ISO image and click Next.
6. Use the latest driver packages, available from the remote server. These files are cached locally for future installs.
7. Use the latest UEFI firmware from the server. This is also stored locally for future installs.
8. Click on Next to accept the current configuration. Only make changes here if you understand what you are changing.
9. Check the installation overview. Is the correct drive selected? Have you chosen the correct model of Raspberry Pi? Click Install. The installation process will take around 10 minutes for an SSD. MicroSD installations are longer.
10. Close WoR when finished, eject the micro SD / SSD and insert it / connect it into your Raspberry Pi 4. Connect up your Pi peripherals and power on.
Setting Up Windows 11 on Raspberry Pi 4
With the Windows 11 micro SD / SSD inserted and our Raspberry Pi booting we now have to setup the Windows 11 install using the standard post installation setup sequence. Follow the process and your Windows 11 Raspberry Pi is ready for use.
There are a couple of tweaks that we can make to the install, especially if we are using a Raspberry Pi 4 with 4GB or more of RAM.
1. Reboot / power up the Raspberry Pi and press ESC when prompted.
2. Scroll down to Device Manager and press Enter.
3. Select Raspberry Pi Configuration.
4. Select Advanced Configuration.
5. Set Limit RAM to 3 GB to <Disabled> and press F10 to save. Press Esc to exit.
6. Select Display Configuration.
7. Set the resolution by highlighting the option and press Enter. Press F10 to save and then Esc to exit.
8. At the time of writing this feature is disabled, but in CPU Configuration we can set the CPU speed, overclocking our Raspberry Pi 4.
9. Ensure that the CPU Clock is set to Default, Any overclocking at this time will prevent Windows 11 from booting. Press Esc until you reach the first menu.
10. Select Continue to exit the BIOS and boot Windows 11 with the new settings.
How does Windows 11 on Raspberry Pi perform?
In our testing, overall performance is decent, in fact it was much better than our 2020 Windows 10 install. Boot time was good, longer than Raspberry Pi OS, but nothing major. Feeling more like an Intel N4100 Celeron in general use.
Once the desktop was loaded the overall feel of Windows 11 on Raspberry Pi was responsive. Windows 11 responded to our input with minimal lag, and moving windows around the screen held up pretty well. The Edge web browser provided a good browsing experience.
Heavy sites such as YouTube proved troublesome due to the lack of a hardware graphics driver which meant our CPU was working harder to render an image. Videos at 480p were smooth, 720P was passable. Going fullscreen caused a large delay, and a number of dropped frames. We didn’t attempt 1080p as the odds are that it will be a slideshow.
We ran a brief test to install applications. First we installed the Arduino IDE via the Microsoft Store, and the installation was successful, but did take some time.
The Arduino IDE successfully loaded, and we were able to open one of the included examples to flash to our Arduino Uno board. Here is where we hit a snag, we couldn’t locate a COM port for the Arduino. Nothing was listed in the device manager, so we rebooted and tried again, nothing. Uninstalling an app is not done via the store, rather we have to go into Settings and then add / remove applications. This felt counter-intuitive. We then installed the Arduino IDE using a typical x86 .exe file and were surprised to see the app install, and open. But the COM port issue remained, and we were unable to use the Arduino IDE to control our Uno.