Skip to content

codeeleven0/hyperuefi

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HyperUEFI

Use Windows on your Raspberry Pi 3/4/5.

IMPORTANT

You should disable sudo password prompting and enable TTY autologin for this to work in recent versions of Pi OS.

How does it work?

HyperUEFI uses QEMU with KVM to use Pi's processor to run Windows on a thin Linux layer (Pi OS Lite).
It has:

  • Audio
  • Networking
  • USB hotplug

HyperUEFI minimizes overhead by not using a DE or a WM. It uses SDL with GL to show the guest display.
HyperUEFI only has ONE display support. (1st HDMI)
HyperUEFI keeps the guest and the host's network separated.

Installation

You need Raspberry Pi OS Lite (64-bit).

To install, clone this repo then run the following in the repo root:
bash $(bash mkinst)
Then, enable autologin using raspi-config and add the following to your bashrc file ~/.bashrc:
sudo /sbin/hymenu
Reboot and use the configurator to configure the guest

Windows Installation

Download a Windows 10 ARM ISO and flash it to a USB drive (use a tool like WinDiskWriter or Rufus). Plug the USB drive into the Pi. Boot the guest. Hit ESC on your keyboard to enter OVMF settings. Select Boot Manager and select your drive. Wait for the Windows installer to boot. When it boots, press Shift+F10 to open the command prompt.

Run diskpart and list disks using list disk. Select the drive that Windows will be installed into using select disk DISK_NUMBER.
Then run the following commands in diskpart:

  • clean
  • convert gpt
  • cre par efi size 512
  • form fs fat32 quick
  • assign letter P
  • cre par msr size 16
  • cre par pri
  • form quick label Windows
  • assign letter Q
  • exit

Now, cd to the folder that contains the install.wim file.
To list editions, run dism /get-wiminfo /wimfile:install.wim. Then, note the ID of your desired edition.
To install (will take a long time), run dism /apply-image /imagefile:install.wim /index:ID /applydir:Q:.
To install the bootloader, run bcdboot Q:\Windows /s P:.
To reboot, run wpeutil reboot.

Important Note

Sometimes, the WIM inside the installation drive might fail. Copy the WIM from a verified image to a USB drive and invoke DISM there. You might need to unplug and replug your keyboard again to access menu after the boot menu appears. When VirtIO drivers are first installed, the resolution will be a bit off. The cursor and the VM video will be shifted (apart, even). To fix, change the VM resolution to the native resolution (mouse still works but shifted).

About

Run Windows on your Pi

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages