Windows Virtual Machine Installation on macOS - hawkinsw/CS5138 GitHub Wiki

Installing UTM

  1. Navigate to https://mac.getutm.app/.
  2. Select the Download button to download the UTM.dmg file and go through the steps to install UTM.

Installing Windows

  1. Navigate to https://uupdump.net and select the edition of Windows you want to install. (If you have a M1 Apple Silicon then select the arm64 version). This downloads a zip file so extract the file.
  2. You need to run the uup_download_macos.sh file and in order to do that you need homebrew installed in your system. Then install the required tools to run the UUP dump script. To do that run the following scripts:
  • brew tap sidneys/homebrew
  • brew install aria2 cabextract wimlib cdrtools sidneys/homebrew/chntpw

Since chntpw cannot be installed run the following scripts for an OpenSSL requirement

  1. Now navigate to directory where UUP dump is and run it.
  • bash uup_download_macos.sh This creates an iso file.
  1. Open UTM and click on create a new virtual machine.
  2. In information, choose the name and icon for your VM.
  3. In System tab, select ARM64 architecture and allocate memory according to your wishes. It is recommended to use at least half of your device's RAM.
  4. In the Drives tab, click New Drive and select the interface as NVMe and give it a size of at least 55GB. Again click New Drive, check the removable option and pick None (Adavanced) as interface.
  5. In QEMU tab, scroll down and add two lines
  • -device
  • usb-storage,drive=drive1,removable=true,bootindex=1,bus=usb-bus.0
  1. Click save and run the VM.
  2. Boot into your Windows and open the standard Windows installer. Before installing it, some modifications need to be made.
  3. Press press Shift + F10 which opens up a Windows shell and type regedit and press enter.
  4. In the editor, navigate to Computer => HKEY_LOCAL_MACHINE => SYSTEM => Setup, right click and add new key called LabConfig.
  5. In LabConfig, right click and choose New – DWORD (32-bit). Give it the name BypassTPMCheck and give it a value 1.
  6. Again in LabConfig, create another DWORD (32-bit), name it BypassSecureBootCheck and set it's value as 1.
  7. Close the editor, exit the shell and click Install now.
  8. For installation, select “I don’t have a product key”, “Custom: Install Windows only (advanced)" and select Drive 0.
  9. When windows starts installing, an issue may arise in "Getting files read for installation". If this happens, close the VM and restart the process. This usually does the trick.
  10. Continue with the installation. After Windows is installed, there may be a few bugs like the internet is not working and resolution cannot be changed. For this, goto https://mac.getutm.app/support/ and download the spice guest tools.
  11. In your VM list, select the Windows VM and change the ISO for the virtual CD/DVD drive to the spice guest tools ISO. This iso is then loaded into your Windows VM.
  12. In Windows, select your CD/DVD drive and run the spice guest tools. The network will now start working and the resolution can be changed.