Converting a Windows 10 Template from Legacy Boot to UEFI

If you have a DaDesktop machine and need to use a GPU or other pass-through, you'll first need to convert it to UEFI boot.

We still recommend starting with win10-template-v53 or newer, but if you'd rather perform the upgrade yourself, follow these steps:

  1. Enable the defrag service
  2. Create boot files on the C drive
  3. Mark the C disk as Active
  4. Convert the system to UEFI
  5. Modify the KVM config to support UEFI
  6. Fix the DaDesktop BIOS boot option
  7. Upgrade the virtio-win drivers
  8. Disable the defrag service
  9. Optional: move the partition ahead of the system partition to allow automatic disk resizing
     

1. Enable the Defrag Service

  1. Open Command Prompt as an administrator
  2. Execute:
    sc config defragsvc start= demand

2. Make the C: Drive Bootable

  1. Run the following command as an administrator in the command line:

    bcdboot.exe c:\windows /s c:

3. Set the C: Disk as Active

  1. Open Disk Management
  2. Right-click the C: partition
  3. Select "Set Active"
     

4. Convert the System to UEFI

  1. From an admin command prompt, run:
   mbr2gpt.exe /concver /allowFullOS

 

5. Modify the KVM Config to Support UEFI

  1. Log into ddnode via SSH
  2. Make sure you run commands as root
  3. Copy OVMF_VARS.fd and qemu.conf from a template that supports UEFI boot, e.g.:

    cp /var/lib/kvm/win10-template-v51/OVMF_VARS.fd /var/lib/kvm/yourimagename/
    cp /var/lib/kvm/win10-template-v51/qemu.conf /var/lib/kvm/yourimagename/

6. Fix the DaDesktop BIOS Boot Option

  1. Stop and start the machine using the dd4t.dadesktop.com GUI or API
  2. The system will boot into the UEFI Shell
  3. Type: "exit"
  4. Go to Boot Management (TODO: FINISH IT)
  5. Press F10 to save
  6. Exit the BIOS setup
     

7. Upgrade the Virt-io Drivers

Some templates may contain an outdated VGA driver that causes issues such as being unable to change the display resolution. To fix this:

  1. Download the new driver version to your desktop: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.240-1/virtio-win-0.1.240.iso
  2. Install: (TODO: exact file name)
  3. Reboot
     

8. Disable the Defrag Service

  1. Open a command prompt as administrator
  2. Execute:
    sc config defragsvc start= disabled

 

9. Optional: Move the Partition Ahead of the System Partition to Enable Automatic Disk Resizing

 

  1. Boot the system into Rescue mode
  2. Use GParted to move the partition ahead of the system partition
  3. Reboot

10. Install IDD Drivers

  1. https://github.com/ge9/IddSampleDriver
  2. Download from here: https://github.com/ge9/IddSampleDriver/releases
  3. Extract to C:\ (otherwise it will not work
  4. Install the certificate (as root)
  5. Install the driver (right-click the .inf file and install)