This tutorial attempts to achieve the objectives using built-in tools, without use of 3rd party software.
A fresh and clean installation is always the best thing to do, because in addition to a bug-free Windows experience, everything outside the Windows environment like the EFI partition, Recovery partition, and overall system integrity remains intact and well maintained.
However, there are times when simply cloning the current system is preferred. This is not just to save time, but also because the existing system may contain drivers (e.g. BootCamp drivers) and other factors that setting up everything fresh becomes too much time consuming, and sometimes not possible too.
Under these circumstances, the following guide will ensure that you can quickly clone your current system to an external SSD (or an internal one) that can be used on both Windows PC as well as a Mac (assuming the existing system already has the required BootCamp drivers).
BASICS
Before explaining the steps, just know some basics of how the computer functions.
Every time you power on your computer, your system firmware first loads a hidden partition on the boot device called the EFI partition. This partition contains information about the installed operating systems as well as their paths (on the disk). In my experience, simply cloning an existing system partition to another device will often not be enough to make it bootable. This is probably because it breaks the OS paths in the new EFI partition that is automatically created in the cloning process. When that happens, you cannot boot from the target device unless the EFI partition is fixed with the correct path to the OS installed in the target disk.
LESSONS IN THIS TUTORIAL
So in this tutorial, we will see 3 things:
1. How to clone the system partition.
2. How to fix the EFI partition.
3. How to restore the native Windows Recovery Environment (if that gets broken too in the cloning process).
CLONING THE SYSTEM PARTITION
Things Required
1. Backup/ Cloning software: Most cloning software allow system cloning only in their paid version, so keep that in mind. See comment 1 if you don't want to use 3rd party software.
2. External SSD/ HDD/ Flash Drive.
3. External keyboard and mouse (only if you want to boot from the target disk on a Mac and your existing system doesn't have BootCamp drivers).
Process
This is a very straight-forward process.
1. Ensure that the target disk is partitioned as GPT. This is best for Windows 10 and newer. If it is not partitioned as GPT, you can use a partition assistant software that will allow you to convert the partition from MBR to GPT without losing data. Most free versions of well known partition softwares will allow you to do this.
2. Clone the system to the target disk (or a partition in the target disk) using the cloning software. If you are cloning the system that you have booted into, use the System Clone feature. If you are cloning the system partition on another disk/ partition, use the Clone Disk/ Partition feature.
3. When using the System Clone feature, you will see that the hidden EFI partition is automatically included. This EFI partition is often broken in the target disk, and we will see how to fix this in the next section.
4. Once cloning is complete, try booting from the target device. If it boots fine, great. If it doesn't boot, then here are the steps to make it boot.
RECREATING THE EFI PARTITION
Things Required
1. Windows Recovery Disk (if you can't boot into Recovery or if the native Recovery doesn't have command prompt feature)
Process
1. Boot to Recovery. If you don't have one or if it is broken, then connect your Windows Recovery Disk (you have to create one if you don't already have it).
2. Go to Command Prompt while in Recovery:
diskpart
list vol
sel vol x (here 'x' is the volume number of the EFI partition of the target disk; check the result from the previous command)
format quick fs=fat32 label="EFI T5" (you can give any name that helps you to identify the partition easily; in my case, I was installing Windows 10 on my Samsung T5 SSD, hence I named it as EFI T5; you can replace the text within the quotes with one of your choice)
set id=C12A7328-F81F-11D2-BA4B-00A0C93EC93B
assign letter=a (you can replace 'a' with any alphabet that is not currently in use)
list vol (make sure that all the windows partitions in the target disk have a letter assigned to them; if any does not have a letter assigned, then assign a letter to each one of them as in the previous steps: select the correct volume number of the OS partition first and then assign a letter)
exit
Now we have to copy the boot files (which contain the OS paths) from each of the installed Windows OS to the EFI partition.
Pass the following command(s):
bcdboot c:\windows /s a:
(here, I'm assuming that the letter for the OS partition is 'c'; check the letter in your case as it need not be 'c'; use the correct letter for the OS partition that you see in your case; repeat this command for all the operating systems installed in the target disk, replacing 'c' with the corresponding letter of the OS; also remember that 'a' is the letter I used for the EFI partition; if you have assigned a different letter, then replace 'a' with the letter you have assigned for the EFI partition)
exit
Reboot.
If the disk has multiple OS installations, the OS Boot Manager should now show all of them, so you can choose which one to boot from.
If your target disk has multiple OS installed, you will see that there is an EFI partition for each of them. You can safely format/ delete all those except the first one. The system prefers the EFI partition to be installed at the beginning of the disk, so keep the 1st one and format the rest. In our case, it is the one that we assigned the letter 'a'.
To format the additional EFI partitions in the target disk, use DISKPART in command prompt:
diskpart
lis vol
sel vol x (where 'x' is the volume number of the additional EFI partitions in the target disk; repeat this for all the additional EFI partitions)
format quick fs=fat32
Remember, that you must only delete the extra EFI partitions on the target disk, not the ones on other disks that are attached to your system.
Every bootable disk needs just one EFI partition (preferably at the beginning of the disk because that is where the firmware first looks for one) and one Recovery partition. If you are using a multi-boot disk (assuming they are all Windows), a single EFI partition is enough that should contain the paths of all the OSes in the disk. The process above will accomplish this.
Also, each disk needs to have just one Recovery partition. You don't need a separate EFI or separate Recovery partition for each of the OSes installed. Having one EFI and one Recovery on the disk itself would suffice.
RECREATING THE RECOVERY PARTITION (can be done from inside Windows)
Things Required
1. Windows ISO (preferably the latest one)
2. 7zip or any archiver installed
Sometimes, the recovery partition can become corrupt. If that is the case, you won't be able to boot into Recovery or create a recovery disk. Troubleshooting Windows from recovery won't be possible in such cases. But we can restore it as follows:
____________________________________________________________________________________________________________________________
If the recovery partition does not exist, create it as follows:
Open command prompt with administrative privileges:
diskpart
list vol (note the volume number for Windows partition)
sel vol x (where x is the volume number of the Windows partition from above result)
shrink desired=1024 (this will create a Recovery partition of size 1 GB)
create par pri
format quick fs=NTFS label=Recovery
set id=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC (this is the id for Recovery partition)
gpt attributes=0x8000000000000001
exit
____________________________________________________________________________________________________________________________
If the recovery partition already exists but is corrupt, then format the recovery partition using command prompt:
diskpart
list vol
sel vol x (where 'x' is the volume number of the recovery partition from the result above)
format quick fs=NTFS label=Recovery
set id=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC (this is the id for Recovery partition)
gpt attributes=0x8000000000000001
exit
____________________________________________________________________________________________________________________________
ENABLING THE RECOVERY ENVIRONMENT (do it from inside Windows)
1. reagentc /disable (you may see an output that says it is already disabled; it doesn't matter)
2. Go to C:\Windows\System32\Recovery and delete all files there.
3. Copy* WinRE.wim and the uninitialized ReAgent.xml files from the installation Media (ISO file) to C:\Windows\System32\Recovery
4. reagentc /enable (this will move WinRe.wim to the Recovery partition and set the GUID and location in ReAgent.xml)
After restoring the recovery partition, you'll be able to create a recovery disk on an external USB device.
*Here are the steps:
1. Right click the Windows ISO file
2. Use 7zip to open archive (just open; don't have to extract it)
3. Sources
4. Locate the install.wim (or install.esd) file
5. Right click and open
6. Choose the correct folder for your edition of Windows:
1 - Windows 10 Home
2 - Windows 10 Home N
3 - Windows 10 Home Single Language
4 - Windows 10 Education
5 - Windows 10 Education N
6 - Windows 10 Pro
7 - Windows 10 Pro N
8 - Windows 10 Pro Education
9 - Windows 10 Pro Education N
10 - Windows 10 Pro for Workstations
11 - Windows 10 Pro N for Workstations
In case of Windows Home, choose the folder '1'; for Windows Pro, choose folder '6', etc.
7. Go to Windows\ System32\ Recovery
8. Copy the two files (ReAgent.xml and Winre.wim) to your system (C:\Windows\System32\Recovery)
IN ALL OF THE DISKPART COMMANDS, BE EXTREMELY CAREFUL IN SELECTING THE CORRECT VOLUMES/ PARTITIONS/ DISKS. YOU MUST ONLY SELECT THE CORRECT VOLUMES IN YOUR TARGET DISK. DOUBLE CHECK THIS BEFORE PASSING THE COMMANDS.
DISCLAIMER
With the process above, you will have a bootable system with its own recovery environment. I am not sure if this breaks anything. Everything works fine as it should as far as I have tested. Your mileage may vary depending on the hardware you use and the way you use your system.
.
A fresh and clean installation is always the best thing to do, because in addition to a bug-free Windows experience, everything outside the Windows environment like the EFI partition, Recovery partition, and overall system integrity remains intact and well maintained.
However, there are times when simply cloning the current system is preferred. This is not just to save time, but also because the existing system may contain drivers (e.g. BootCamp drivers) and other factors that setting up everything fresh becomes too much time consuming, and sometimes not possible too.
Under these circumstances, the following guide will ensure that you can quickly clone your current system to an external SSD (or an internal one) that can be used on both Windows PC as well as a Mac (assuming the existing system already has the required BootCamp drivers).
BASICS
Before explaining the steps, just know some basics of how the computer functions.
Every time you power on your computer, your system firmware first loads a hidden partition on the boot device called the EFI partition. This partition contains information about the installed operating systems as well as their paths (on the disk). In my experience, simply cloning an existing system partition to another device will often not be enough to make it bootable. This is probably because it breaks the OS paths in the new EFI partition that is automatically created in the cloning process. When that happens, you cannot boot from the target device unless the EFI partition is fixed with the correct path to the OS installed in the target disk.
LESSONS IN THIS TUTORIAL
So in this tutorial, we will see 3 things:
1. How to clone the system partition.
2. How to fix the EFI partition.
3. How to restore the native Windows Recovery Environment (if that gets broken too in the cloning process).
CLONING THE SYSTEM PARTITION
Things Required
1. Backup/ Cloning software: Most cloning software allow system cloning only in their paid version, so keep that in mind. See comment 1 if you don't want to use 3rd party software.
2. External SSD/ HDD/ Flash Drive.
3. External keyboard and mouse (only if you want to boot from the target disk on a Mac and your existing system doesn't have BootCamp drivers).
Process
This is a very straight-forward process.
1. Ensure that the target disk is partitioned as GPT. This is best for Windows 10 and newer. If it is not partitioned as GPT, you can use a partition assistant software that will allow you to convert the partition from MBR to GPT without losing data. Most free versions of well known partition softwares will allow you to do this.
2. Clone the system to the target disk (or a partition in the target disk) using the cloning software. If you are cloning the system that you have booted into, use the System Clone feature. If you are cloning the system partition on another disk/ partition, use the Clone Disk/ Partition feature.
3. When using the System Clone feature, you will see that the hidden EFI partition is automatically included. This EFI partition is often broken in the target disk, and we will see how to fix this in the next section.
4. Once cloning is complete, try booting from the target device. If it boots fine, great. If it doesn't boot, then here are the steps to make it boot.
RECREATING THE EFI PARTITION
Things Required
1. Windows Recovery Disk (if you can't boot into Recovery or if the native Recovery doesn't have command prompt feature)
Process
1. Boot to Recovery. If you don't have one or if it is broken, then connect your Windows Recovery Disk (you have to create one if you don't already have it).
2. Go to Command Prompt while in Recovery:
diskpart
list vol
sel vol x (here 'x' is the volume number of the EFI partition of the target disk; check the result from the previous command)
format quick fs=fat32 label="EFI T5" (you can give any name that helps you to identify the partition easily; in my case, I was installing Windows 10 on my Samsung T5 SSD, hence I named it as EFI T5; you can replace the text within the quotes with one of your choice)
set id=C12A7328-F81F-11D2-BA4B-00A0C93EC93B
assign letter=a (you can replace 'a' with any alphabet that is not currently in use)
list vol (make sure that all the windows partitions in the target disk have a letter assigned to them; if any does not have a letter assigned, then assign a letter to each one of them as in the previous steps: select the correct volume number of the OS partition first and then assign a letter)
exit
Now we have to copy the boot files (which contain the OS paths) from each of the installed Windows OS to the EFI partition.
Pass the following command(s):
bcdboot c:\windows /s a:
(here, I'm assuming that the letter for the OS partition is 'c'; check the letter in your case as it need not be 'c'; use the correct letter for the OS partition that you see in your case; repeat this command for all the operating systems installed in the target disk, replacing 'c' with the corresponding letter of the OS; also remember that 'a' is the letter I used for the EFI partition; if you have assigned a different letter, then replace 'a' with the letter you have assigned for the EFI partition)
exit
Reboot.
If the disk has multiple OS installations, the OS Boot Manager should now show all of them, so you can choose which one to boot from.
If your target disk has multiple OS installed, you will see that there is an EFI partition for each of them. You can safely format/ delete all those except the first one. The system prefers the EFI partition to be installed at the beginning of the disk, so keep the 1st one and format the rest. In our case, it is the one that we assigned the letter 'a'.
To format the additional EFI partitions in the target disk, use DISKPART in command prompt:
diskpart
lis vol
sel vol x (where 'x' is the volume number of the additional EFI partitions in the target disk; repeat this for all the additional EFI partitions)
format quick fs=fat32
Remember, that you must only delete the extra EFI partitions on the target disk, not the ones on other disks that are attached to your system.
Every bootable disk needs just one EFI partition (preferably at the beginning of the disk because that is where the firmware first looks for one) and one Recovery partition. If you are using a multi-boot disk (assuming they are all Windows), a single EFI partition is enough that should contain the paths of all the OSes in the disk. The process above will accomplish this.
Also, each disk needs to have just one Recovery partition. You don't need a separate EFI or separate Recovery partition for each of the OSes installed. Having one EFI and one Recovery on the disk itself would suffice.
RECREATING THE RECOVERY PARTITION (can be done from inside Windows)
Things Required
1. Windows ISO (preferably the latest one)
2. 7zip or any archiver installed
Sometimes, the recovery partition can become corrupt. If that is the case, you won't be able to boot into Recovery or create a recovery disk. Troubleshooting Windows from recovery won't be possible in such cases. But we can restore it as follows:
____________________________________________________________________________________________________________________________
If the recovery partition does not exist, create it as follows:
Open command prompt with administrative privileges:
diskpart
list vol (note the volume number for Windows partition)
sel vol x (where x is the volume number of the Windows partition from above result)
shrink desired=1024 (this will create a Recovery partition of size 1 GB)
create par pri
format quick fs=NTFS label=Recovery
set id=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC (this is the id for Recovery partition)
gpt attributes=0x8000000000000001
exit
____________________________________________________________________________________________________________________________
If the recovery partition already exists but is corrupt, then format the recovery partition using command prompt:
diskpart
list vol
sel vol x (where 'x' is the volume number of the recovery partition from the result above)
format quick fs=NTFS label=Recovery
set id=DE94BBA4-06D1-4D40-A16A-BFD50179D6AC (this is the id for Recovery partition)
gpt attributes=0x8000000000000001
exit
____________________________________________________________________________________________________________________________
ENABLING THE RECOVERY ENVIRONMENT (do it from inside Windows)
1. reagentc /disable (you may see an output that says it is already disabled; it doesn't matter)
2. Go to C:\Windows\System32\Recovery and delete all files there.
3. Copy* WinRE.wim and the uninitialized ReAgent.xml files from the installation Media (ISO file) to C:\Windows\System32\Recovery
4. reagentc /enable (this will move WinRe.wim to the Recovery partition and set the GUID and location in ReAgent.xml)
After restoring the recovery partition, you'll be able to create a recovery disk on an external USB device.
*Here are the steps:
1. Right click the Windows ISO file
2. Use 7zip to open archive (just open; don't have to extract it)
3. Sources
4. Locate the install.wim (or install.esd) file
5. Right click and open
6. Choose the correct folder for your edition of Windows:
1 - Windows 10 Home
2 - Windows 10 Home N
3 - Windows 10 Home Single Language
4 - Windows 10 Education
5 - Windows 10 Education N
6 - Windows 10 Pro
7 - Windows 10 Pro N
8 - Windows 10 Pro Education
9 - Windows 10 Pro Education N
10 - Windows 10 Pro for Workstations
11 - Windows 10 Pro N for Workstations
In case of Windows Home, choose the folder '1'; for Windows Pro, choose folder '6', etc.
7. Go to Windows\ System32\ Recovery
8. Copy the two files (ReAgent.xml and Winre.wim) to your system (C:\Windows\System32\Recovery)
IN ALL OF THE DISKPART COMMANDS, BE EXTREMELY CAREFUL IN SELECTING THE CORRECT VOLUMES/ PARTITIONS/ DISKS. YOU MUST ONLY SELECT THE CORRECT VOLUMES IN YOUR TARGET DISK. DOUBLE CHECK THIS BEFORE PASSING THE COMMANDS.
DISCLAIMER
With the process above, you will have a bootable system with its own recovery environment. I am not sure if this breaks anything. Everything works fine as it should as far as I have tested. Your mileage may vary depending on the hardware you use and the way you use your system.
.
- Windows Build/Version
- Windows 11 21H2 Build 22000.282
Last edited:
My Computer
System One
-
- OS
- Windows 11
- Computer type
- Laptop
- Manufacturer/Model
- HP Envy dv7
- CPU
- Intel Core i7 3630QM
- Motherboard
- HP
- Memory
- 16 GB
- Graphics Card(s)
- Intel HD Graphics 4000 & Nvidia GeForce GT 635M
- Sound Card
- IDT High Definition
- Screen Resolution
- 1080p
- Hard Drives
- 1 TB Crucial MX500 on bay 1.
1 TB Seagate HDD on bay 2.
- Antivirus
- Windows Defender