Skip to main content

Dual booting legacy Windows 10 with Windows 10X

This guide will assume you have properly installed Windows 10X before using the instructions provided in this book with no step skipped.

Prerequisites

  • An host computer
  • The target computer running Windows 10X
  • Your utility flash drive (UFD)
  • An installation media of Windows 10 build 195xx (or higher)
  • An usb driver with the installation files of said Windows 10 build

Preparing the pool

Boot the target computer into your UFD, and make sure you're in the command prompt. Verify using diskpart that you see all space partitions on disk (MainOS, Data, OSData...) by using

diskpart

# this will list all volumes and show MainOS, Data...
list vol

# exiting diskpart
exit

Once verified, you can start preparing the pool to accomodate for legacy Windows 10.

Run the following commands to create the new partition that will host legacy Windows 10:

spaceutil new-space -PoolName OSPool -Name "DesktopOSDisk" -ProvisionedCapacity 128G -MinFdType Drive -MaxFdType Drive -ResiliencyType Simple -FaultTolerance 0 -NumberOfCopies 1 -NumberOfGroups 1 -NumberOfColumns 1 -WriteCacheSize 0 -ReadCacheSize 0 -Flags System Active
spaceutil Set-Space -PoolName OSPool -Name "DesktopOSDisk" -IsSystem true -IsActive true
spaceutil Attach-Space -PoolName OSPool -Name "DesktopOSDisk"

At this point you should start seeing a new disk in diskpart, usually it is the latest one. Verify that no partition is present on it, if that's the case, you found the right one. We will assume in the rest of this guide that the disk id found earlier is 25.

Execute the following commands in diskpart:

# replace 25 with your id!
select disk 25
convert gpt
crea part pri
format fs=NTFS label=DesktopOS quick
assign
# this will tell you the drive letter assigned
detail part
# exiting diskpart
exit

We will assume in the rest of this guide, your mountpoint is W: for DesktopOS.

Adding the required boot entry

In command prompt, go back to diskpart again and try to find the VIRT_EFIESP partition, you can find it by using the list volume command. Here we will assume the id is 15.

Execute the following commands:

diskpart
# replace 15 with the id you found earlier for VIRT_EFIESP!
select diskvolume 15
select part 1
assign
# this will tell you the drive letter it assigned
detaillist partvolume
# exiting diskpart
exit

We will assume we mounted VIRT_EFIESP as Z: here

Execute the following commands:

Z:
cd efi\microsoft\boot
bcdedit /store BCD /displayorder {default}
# this will tell you the new guid, here we assume that was {276291b0-e55c-48d7-a87f-9cb79facba1a} replace this in all subsequent commands
bcdedit /store BCD /copy {default} /d "DesktopOS"
# make sure to replace W: with the drive letter for DesktopOS!
bcdedit /store BCD /set {276291b0-e55c-48d7-a87f-9cb79facba1a} device partition=W:
bcdedit /store BCD /set {276291b0-e55c-48d7-a87f-9cb79facba1a} osdevice partition=W:
bcdedit /store BCD /set {276291b0-e55c-48d7-a87f-9cb79facba1a} testsigning on
bcdedit /store BCD /set {276291b0-e55c-48d7-a87f-9cb79facba1a} nointegritychecks on
bcdedit /store BCD /set {276291b0-e55c-48d7-a87f-9cb79facba1a} flightsigning on

# untested and optional (your windows 10 may be state separated without these command ran before boot)
bcdedit /store BCD /deletevalue {276291b0-e55c-48d7-a87f-9cb79facba1a} bspdevice
bcdedit /store BCD /deletevalue {276291b0-e55c-48d7-a87f-9cb79facba1a} osdatadevice

bcdedit /store BCD /set {bootmgr} displaybootmenu on
bcdedit /store BCD /set {bootmgr} timeout 15

Applying Desktop

Now find your install.wim legacy Windows 10 image, we assume here we included the windows 10 installation media and it's mounted as the drive letter U:, so our wim is located in U:\sources\install.wim

Run the following commands (do not forget to replace letter paths, W: here is our DesktopOS partition!)

dism /Apply-Image /ImageFile:U:\sources\install.wim /Index:1 /ApplyDir:W:

Final notes

You can now reboot your machine, you'll be present with a selection between MAINOS and DesktopOS, MAINOS will boot into 10X, DesktopOS will boot into desktop, if you get a signature verifcation error, press F8 in the boot menu once it shows up and when it tells you you can do so, and press 7 on your keyboard, windows 10 will load.