[SOLVED] System partition on wrong disk

May 25, 2020
11
0
10
Hello,

i stumbled upon a (common?) problem where my EFI System partition is on the old HDD which had windows on it,
instead of the new SSD which had a new clean Windows install on it.

So upon looking for solutions i saw there is an option to move (or copy?) the EFI System partition without installing or
repairing Windows via USB/Disk.
It's quite easy.
  1. Shrink C: partition by 500MB
  2. Make a new primary partition in freed up space, format NTFS, drive letter X:
  3. Make the new partition active
  4. execute command from elevated command prompt:
  • bcdboot c:\windows /s x:
  1. Reboot your pc into BIOS, change boot priority so that 120GB drive is first
  2. Reboot and done
After that you can disconnect your 300GB drive and system should be able to boot without it.


And i guess I want to know is this gonna solve my problem without creating additional problems?
Is it 'quite easy' as mentioned in the quote above?
And of course is that actually solution to my problem or did i interpret it in a wrong way?

Here's my Disk management screenshot: https://prnt.sc/t1k7kb
I'm running Windows 10 Home Edition 64bit (v. 1909)

Sorry if this is the wrong subforum, thanks in any case!
 
Solution
I'm pretty sure i saw UEFI somewhere in BIOS, so it's probably not legacy
What should i change then?
1st - make sure your Disk 1 (232GB) is partitioned in GPT partition style.
Right-click on Disk1 label in Disk Management, choose properties/volumes and find Partition style.

If it is GPT, then proceed further.
1. Open elevated command prompt. Regular command prompt will give error on last command on next step.

2. execute following commands:
diskpart
list disk
select disk 1
list partition
select partition x
(select 232GB partition, x is either 1 or 2)​
...
Oh, so i will have 2 EFI System Partitions both on SSD and HDD?
And changing disk order in Bios enables just the 1st one i guess?
You create efi system partition on the new drive and delete from the old drive.
2 EFI system partitions will just create additional confusion.

Note - solution referenced is for legacy boot systems. For UEFI boot system the process is similar but slightly different.
 
I'm pretty sure i saw UEFI somewhere in BIOS, so it's probably not legacy
What should i change then?
1st - make sure your Disk 1 (232GB) is partitioned in GPT partition style.
Right-click on Disk1 label in Disk Management, choose properties/volumes and find Partition style.

If it is GPT, then proceed further.
1. Open elevated command prompt. Regular command prompt will give error on last command on next step.

2. execute following commands:
diskpart
list disk
select disk 1
list partition
select partition x
(select 232GB partition, x is either 1 or 2)​
shrink desired=500
create partition efi
format fs=fat32 quick
assign letter=H
exit
bcdboot C:\windows /s H:
3. Shutdown your pc, disconnect 500GB drive and try to boot with only 250GB drive connected.
(it may be necessary to go into BIOS and check boot priority settings)

4. If everythng boots fine, then
shutdown, reconnect 500GB drive, boot into windows and delete EFI system partition from old drive.
You'll have to use diskpart for this too.
diskpart
list disk
select disk 0
list partition
select partition x
(select 100MB EFI System partition, x is either 2 or 3)​
delete partition override
exit
5. Done. Reboot to test, if everything boots up properly.
(it may be necessary to go into BIOS and check boot priority settings)
 
Last edited:
  • Like
Reactions: amithtm
Solution
Okay, sorry but i need answers to a lot of questions now 😀

It is indeed GUID Partition Table (GPT) under Properties/Volumes

2.
select partition x
(select 232GB partition, x is either 1 or 2)

- so which number do i use exactly? What does 1 and what does 2 represent?

format fs=fat32 quick
- is this going to format only the new 500MB partition?

assign letter=H
- it can be any letter? i shouldn't worry that a random USB with a letter H: would interfere with that?


4. delete EFI system partition from old drive.
- is this just for aesthetics or is it necessary for all of it to function properly? if i leave it as it is would it have effect on anything?

I shouldn't lose any files with this method right, everything would stay as it was except i would have a new system partition?
Should i also have the USB with W10 installation media nearby if it doesn't boot at all after this, or is this minimum risk?
 
list partition - gives you list of partitions available on selected drive.
You observe command output of list partition command and find appropriate value for x.

format command formats selected partition. Make sure you have selected correct partition or you'll loose data.

Make sure you don't have any USB drives connected and letter H: is available.

As said before - multiple EFI system partitions can cause confusion. Better to have just one EFI system partition in your system.