This tutorial only for existing Windows users which needs to install the second Windows along-side it without USB disk or CD.

How

When you have the Windows installer, you can directly unzip the install.wim to a new partition. This process does not need to restart or enter the PE environment, so no USB storage disk nor CD is required.

After the extraction, you can directly boot the new partition, which is the new Windows. The old system will still be there.

You can format the old Windows to delete it.

Steps

Step 1. Download the Windows installation ISO.

You can download Windows ISO from the official website:

When you have the ISO file, you can locate the Install.wim(Or Instal.esd) here:

Mount the iso. And you can see the install.wim(.esd) located under the sources folder.

This file is the only file that needed.

Step 2. Get a new clean partition

You need a new clean partition for the new Windows.

Solutions:

  • You can use existing partition like your D drive.
  • You can shrink an existing partition to generate a new partition.

If you decide to use an existing partition like your D drive, make sure it is larger than 40GB first. And simply format it with NTFS file system.

If you decide to shrink an existing partition to generate a new partition, right click the start button and click Disk management.

Click Shrink Volume.

At least shrink 40GB (100GB suggested) to get a new clean partition.

After shrinking, you can get a new drive like Q. Format it with NTFS.

Do not let BitLocker encrypt your new partition!!

Step 3. Extract the install.wim(esd) to your new partiton

Now you have a clean drive and downloaded installation program. You can prepare extract the install.wim(esd) to your clean drive now.

Before extracting, you need to choose the correct version for the new installation.

Open the install.wim(esd) with 7zip. You will find an xml file here.

Now you need to find the image index with the Windows edition which you want to install.

Open a new terminal (cmd.exe) with Administrator privilege. Go the the install.wim(esd) folder.

Run command here to get the image list:

dism /Get-ImageInfo /imagefile:install.wim

For example, I want to install Windows 11 Pro, and it's image index is 6. Remember the index of the OS image you want to install (6).

Run this command to extract the files:

dism /apply-image /imagefile:install.wim /index:6 /ApplyDir:Q:\

Change the index:6 to your image index.

Change the Q:\ to your new clean NTFS drive without BitLocker.

You can try this command instead if any error happened:

C:\Windows\System32\Dism.exe /apply-image /imagefile:install.wim /index:6 /ApplyDir:Q:\

Wait a while for the extracting to finish. (Usually 5-8 minutes)

Step 4. Add boot entry for the new Windows.

Now you have a new Q drive with a clean Windows files. We need to let it know that Q is bootable.

Run this command to register Q as a new boot entry:

E:\sources>bcdedit /create /d "Windows vNext" /application osloader
The entry {5bc09f7c-f648-11eb-bef6-fdc697891ea6} was successfully created.

Copy the created entry ID.

Now run the following commands with the ID just copied.

E:\> bcdedit /set "{5bc09f7c-f648-11eb-bef6-fdc697891ea6}" device "partition=Q:"
The operation completed successfully.

E:\> bcdedit /set "{5bc09f7c-f648-11eb-bef6-fdc697891ea6}" path "\WINDOWS\system32\winload.efi"
The operation completed successfully.

E:\> bcdedit /set "{5bc09f7c-f648-11eb-bef6-fdc697891ea6}" systemroot "\WINDOWS"
The operation completed successfully.

E:\> bcdedit /set "{5bc09f7c-f648-11eb-bef6-fdc697891ea6}" osdevice "partition=Q:"
The operation completed successfully.

E:\> bcdedit /set "{5bc09f7c-f648-11eb-bef6-fdc697891ea6}" locale "en-US"
The operation completed successfully.

E:\> bcdedit /displayorder "{5bc09f7c-f648-11eb-bef6-fdc697891ea6}" /addlast
The operation completed successfully.

The commands will run like this:

Now it's all set.

There is still some optional commands suggested to run. You can directly run the template below in PowerShell.

Just paste it to your terminal and it will finish the job.

$created = bcdedit /create /d "Windows vNext" /application osloader
$osID = $created | Select-String -Pattern '{[-0-9A-F]+?}' -AllMatches | Select-Object -ExpandProperty Matches | Select-Object -ExpandProperty Value
bcdedit /set "$osID" device "partition=Q:"
bcdedit /set "$osID" path "\WINDOWS\system32\winload.efi"
bcdedit /set "$osID" systemroot "\WINDOWS"
bcdedit /set "$osID" osdevice "partition=Q:"
bcdedit /set "$osID" locale "en-US"
bcdedit /set "$osID" inherit "{bootloadersettings}"
bcdedit /set "$osID" nx "OptIn"
bcdedit /set "$osID" bootmenupolicy "Standard"
bcdedit /set "$osID" displaymessageoverride "Recovery"
bcdedit /set "$osID" recoveryenabled "Yes"
bcdedit /set "$osID" isolatedcontext "Yes"
bcdedit /set "$osID" flightsigning "Yes"
bcdedit /set "$osID" allowedinmemorysettings "0x15000075"
bcdedit /displayorder "$osID" /addlast
bcdedit /set "{bootmgr}" default "$osID"

Step 5. Reboot to the new OS.

Reboot from the old Windows now.

Before the new OS starts, you can see a screen allowing to select which OS you want to boot.

Choose the new OS.