# Dual booting legacy Windows 10 with Windows 10X | Created: February 15, 2020 | Last Update: January 21, 2021 | | ------------------------- | ------------------------------------------------------------ | | Authors: | [Gustave Monce](https://twitter.com/gus33000) | | Status: | **Draft** | | Supported Windows 10X Version: | 195xx | This guide will assume you have properly installed Windows 10X before using the instructions provided in this book with no step skipped. **Note:** This guide has not been updated to support dual booting Windows 10X version 20279 with Windows 10 yet. ### 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 volume 15 assign # this will tell you the drive letter it assigned list volume # 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 # 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.