0

I copied an entire SATA HDD (sector by sector) onto a new SATA HDD which has the same size. On my new HDD, I found all partitions (OS, Diags, Recovery, ESP) and files, but my computer (DELL) using UEFI refuses to boot on the new HDD.

The only way I have to reach the new HDD is to set it on another SATA port and boot with the old HDD as the primary drive. From there, I tried to use explanations found here but I'm not familiar with these commands and I'm afraid to reach the old HDD. I'm preparing a USB flash to boot WINRE with only the new HDD connected. If you have any ideas or tips to help, that would be greatly appreciated.

  • UEFI may refer to your boot drive by its Globally Unique IDentifier. Your new drive probably has a different GUID, which could be why the boot chain is broken. – Hydraxan14 Dec 27 '16 at 18:46
  • Now I must find how to get the GUID of the new drive and how to inform UEFI of this change. Please help me if you already have an answer. – Troycorser Dec 27 '16 at 21:52
1

GUIDs

Under the newfangled UEFI scheme, disks (and even partitions) have Globally Unique IDentifiers.

I've broken a Linux system before by trying to raw-copy it from one drive to another without changing the UUIDs (similar to GUIDs). Maybe something similar has happened to you when you copied your drive?

This is really just speculation, but if this is the issue, then you'll need to figure out what the GUID of your new drive is, and how to update the bootloader to use it.


Discover GUID

Ravikumar Pulagouni posted this on technet:

You can find GUID of disk using diskpart.

Start>run>cmd>diskpart>list disk and check for GPT

Start>run>cmd>diskpart>list disk>select disk> uniqueid disk and check for disk ID

Note: Run diskpart command with elevated admin rights..

If you need the GUID of a partition, you may be able to use diskpart to find that out too.


Update Bootloader

BCDEdit.exe is Window's Boot Configuration Data Editor. (You'll probably have to run it from an admin command prompt.)

I'm not sure how to use this tool for this purpose, but it's a good place to start researching.

This Windows GPT FAQ from Microsoft may also be helpful.


More explanation on UEFI, GPT and GUIDs here (albeit Linux-oriented.)

|improve this answer|||||
1

Now I have been using a USB flash to start the computer with WINRE and only my new HDD connected.

I found the GUID of the new disk by using diskpart.

I used bcedit to display entries of the BCD of the ESP partition.

I modify 3 variables successfully in order to set the new GUID considering they contained the old GUID.
For that I used the command :
bcdedit /store "path\BCD" /set {bootmgr} resumeobject {the new GUID} bcdedit /store "path\BCD" /set {bootloadersettings} resumeobject {the new GUID} bcdedit /store "path\BCD" /set {bootloadersettings} resumeobject {the new GUID}

Then I restarted my computer, but the problem stayed the same. I could see that the BCD file in the ESP partition has the variable bootmgr/resumeobject returning with the old GUID !

Finally, after many hours and research, I did these 3 following commands :
- Bootrec /fixmbr - Bootrec /fixboot - Bootrec /rebuildbcd The last command invited me to add the partition containing Windows in the BCD

...and my computer boots well now.

|improve this answer|||||
  • Thanks for sharing! Please click on the checkmark underneath your answer to mark your question as solved. – Hydraxan14 Apr 5 '17 at 17:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.