2

Installed Windows 10 on my new NVME drive. Copied all the data to it to realize at the end that during Windows installation I forgot to unplug the old SSD drive which also contained Windows 10. As a result the installer did not create new UEFI and recovery partition on the NVME drive and instead used the ones on the old drive.

In order to recreate those partitions on a new drive I came to conclusion after reading bunch of articles that is far easier to clone the existing ones instead of recreating them.

Present partition layout, Disk 3 -> old disk, Disk 4 -> new disk

So my question is can those partitions be at the end of the drive in order to avoid moving the MSR and system partitions to the right? And finally will this work?

2
  • 1
    Please don't post answers in questions - you can use the box below to post an answer. Right now your question looks like it's unanswered and other visitors with a similar problem may miss it.
    – gronostaj
    Commented Jan 15, 2021 at 8:20
  • @gronostaj fair point. I will move my update as an Answer.
    – tolkinski
    Commented Jan 15, 2021 at 8:26

3 Answers 3

4

Your answer is wrong! And it's not advisable from Microsoft:

Disks that require an MSR

Every GPT disk must contain an MSR. The order of partitions on the disk should be ESP (if any), OEM (if any) and MSR followed by primary data partition(s). It is particularly important that the MSR be created before other primary data partitions.

Even though MSR is not required yet, but may be used in a future. Read the manual to do things properly.

source: Microsoft

I know your question doesn't ask how to install, but since I had similar issues and found no easy correction. Then, I'll facilitate here:

  1. boot with Windows 10/11 in USB installation or Recovery Mode
  2. Press shift+F10 to open the terminal
  3. diskpart
  4. list disk
  5. select disk x (x = select disk where EFI partition is required)
  6. list partition
  7. select partition x (x = select the major partition to be shrinked)
  8. shrink desired=500 (shrink 500MB)
  9. create partition efi size=200 (MB)
  10. format quick fs=fat32 label="system"
  11. create partition msr size=128
  12. list vol
  13. select volume x (x = you must select the EFI partition, FAT32, hidden)
  14. assign letter=y (you can pick any letter here)
  15. bootrec /rebuildbcd (after select Y for YES)
  16. bcdboot ?:\Windows /s ?: (the first ?: is your Windows partition, and the second ?: is the FAT32 EFI partition assigned in step 14)
  17. Reboot
1
  • Partition order listed is incorrect - correct order is always EFI, MSR, OS, any other partitions, Recovery. The reason why the EFI and MSR are always the #1 and #2 partitions is because should the OS partition ever need to be resized, or if a user wants to enlarge the Recovery partition (such as to hold a PBR/backup WIM), it creates more work since the EFI and MSR partitions would have to be moved in order to do so. The EFI and MSR partitions never change in size (100MB (if dual-booting Linux: ~850MB) and 16MB respectively), so they should always be the first partitions.
    – JW0914
    Commented Feb 20 at 12:52
3

After further brainstorming I decided to try the idea of having the efi and recovery partitions recreated at the end of the new drive. In my opinion this was the safest option because it could either work or not. If it did not work I would just reconnect the old drive.

So I cloned the partitions, shut down the PC, disconnected the old drive and turned it on again.

And... it worked!

Right after system post I was presented with the boot loader where I could select the new OS and the former one which is now deleted. I will need to delete the entry for it but that is another topic.

So after selecting the new OS it started booting. I had like 60 seconds blank screen where I thought it wouldn't work. I decided to press ctrl+alt+del and all of a sudden I was presented with "Please wait" screen. Not sure if the ctrl+alt+del combo triggered something or I just needed to wait a little bit more. After few more seconds the operation finished and I successfully logged in into the OS.

Update 2

Realized that Recovery partition is not recognized with the new OS so I decided to remove it since I really don't need it. The only thing to successfully boot up the OS was to have the EFI partition on the same drive. And placing it at the end worked for me.

Here is the new final layout:

Partition layout after the changes

Update 3

To answer my original question:

So my question is can those partitions be at the end of the drive in order to avoid moving the MSR and system partitions to the right?

Yes, EFI partition can be located anywhere on the disk as long as it resides in the 2.2 terabytes of the disk. Source: Efi - Drive Partition Limits

As for the Windows Recovery partition I haven't found an official answer but it seems that it can be located anywhere on the disk.

1
  • EFI is recognized by its GUID. Partition order listed is incorrect - correct order is always EFI, MSR, OS, any others, Recovery. The reason why EFI and MSR are always the #1 and #2 partitions is because should the OS partition ever need to be resized, or if a user wants to enlarge the Recovery partition (such as to hold a PBR/backup WIM), it creates more work since the EFI and MSR partitions would have to be moved in order to do so. The EFI and MSR partitions never change in size (100MB (if dual-booting Linux: ~850MB) and 16MB respectively), so they should always be the first partitions.
    – JW0914
    Commented Feb 20 at 13:02
0

Everything is great! just change the last line:

  1. diskpart
    
    list disk
    
    ::# Select disk where EFI partition is required:
    select disk #
    
    list partition
    
    ::# Select the partition to be shrunk:
    select partition x
    
    ::# Shrink 500MB
    shrink desired=500
    
    create partition efi size=200
    format quick fs=fat32 label="System"
    create partition msr size=128
    list vol
    
    ::# You must select the EFI partition (FAT32, hidden):
    select volume #
    
    assign letter=y
    

  2. BCD System Store Settings for UEFI
    Bcdedit /set {bootmgr} device partition=y:// system partition
    
1
  • 1
    Please use correct markdown for monospaced code (e.g. code boxes) and weblinks. Please see the formatting bar or the ? button on the far right of the formatting bar
    – JW0914
    Commented Feb 20 at 13:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .