Change Boot Drive not working for removable drives

MrGreg

Member
I am running version 2.3 community edition. I am working on a Sever that I need to convert the raid logical disk from MBR to GPT. Unfortunately the bios on the server is not UEFI compatible. So I need to move the boot files (System Reserve Partition) to another drive. The server has an internal usb port so I want to move the the boot files to a removable flash drive. I thought the Change Boot Drive feature in EasyBCD would be the way to go. Unfortunately the flash drive is not selectable. I have tried with the drive formatted NTFS with drive letter. Also tried with the drive all unallocated space with a drive letter. Still no joy. It appears that removable drives are not supported. Can anyone shed some light on this problem. Thanks...
 
Yes, EasyBCD purposely excludes removable disks from the drop-down because for the vast majority (99%+) of our users it would be a red herring that would lead to immense headaches for us when users change the boot drive to a removable disk and then try booting up without it.

EasyRE automatically sets up systems to support booting in both EFI/GPT and MBR/Legacy/CSM modes simultaneously where possible (including syncing the GPT and the MBR). You could give it a shot - although a word of warning that if your RAID configuration is exotic it may not be picked up (e.g. RAID5 or less popular RAID controller).
 
Hi Mahmoud, Thanks for your reply. I suspected it was something like that. In my case the usb port is located right in the center of the main system board. So once configured, the flash drive will never be removed by accident since it is inside the case. However, you should really have an option to enable removable drive support. It should of course be disabled by default. As for EasyRE, I do not think that is the way to go. I am running raid 1+0 with six drives in the array.

I worked on this today. I have figured out how to do this manually myself. I was able to use diskpart, format, bcdboot, bootsect and bcdedit to accomplish the job. I have not actually done this on the server. I was learning on my Windows 7 workstation. I have built the drive but have not run bcdedit to re-point the store yet. So I have not actually tried to boot from my drive yet.

I was hoping you could answer a question for me. The System Reserve partition I created on the flash drive contains all the proper boot files. Disk Management shows "Healthy (Active, Primary)" but it is missing System flag like the original partition on my C: drive. Does EasyBCD make the partition with the System flag? If so, how do I make the partition on the flash drive have the System Flag?

Thanks for your support.
 
Last edited:
@MrGreg glad to hear it's up and running, good job figuring it out .

However, you should really have an option to enable removable drive support.

I think there's been some confusion about what EasyBCD's feature does. "Change Boot Drive" both makes the selected partition the new boot partition and prevents the current partition from starting up, plus it copies over the entire current configuration from the current setup over to the new boot partition (and does not list removable drives because it is not prudent to disable local booting for favor of booting from a USB, again for the 99%). But EasyBCD's BCD deployment feature can be used to create a bootable USB (and does include all removable drives in the drop-down) - it would have done all you needed to do manually automatically. The only thing it wouldn't have done is copy over the entries from your current configuration - you'd have had to add a new Windows entry in EasyBCD after loading that newly created BCD store from the USB.

With regards to the disk management flags:

@Terry60 is the expert on Disk Management flags - they are confusingly named. I had to search through his post history to get you the definitive response:

MS plays fast and loose with the terms "active" "system" and "boot", and uses them counter-intuitively (at least as far as the rest of the world uses them)
Disk Management flags have the following meanings

"boot" = "this is the system you're running"
"system" = "this is where I found the boot files for the currently running system"
"active" (on the first HDD in the BIOS boot sequence) = "this is where I started the search for the boot files"
"active" (on subsequent HDDs in the BIOS boot sequence) ="this is where I will look if I don't find something in the MBR on the first HDD"

So you shouldn't expect to find the system flag on the Windows partition if you're booting from th USB stick. I'm not positive but I think Microsoft simply does not display the system flag on removable disks, only for fixed hard drives enumerated in the BIOS.

(For the record, EasyRE should support RAID 0+1 mode - but it would depend on the controller make and model.)
 
Hi, Mahmoud, Thanks for your reply. Sorry for my slow response. For the record I have not implemented this yet on the server in question. I will do this over the weekend. There is no confusion about what EasyBCD does on my part. I fully understand. I do understand why you are excluding removable drives from the drop down. However, I still maintain that you should have a user configurable option that should disabled by default. This is of course your decision.

I regard to the system flag. I have done some more digging on this. I turns out that it has nothing to do with the drive being removable or fixed as you suggest. I has to do with protecting the boot partition from encryption should the user decide to deploy BitLocker on their system. There is a Microsoft utility bdehdcfg.exe that can be used to enable the system flag on the boot partition. In fact it looks like it will do everything. That is move the boot files, mark the partition as active, mark the partition as system, and adjust the BCD store as well. I have not tried this yet but I will over the weekend. Here are some links for your reference. Please read the 1st response from mtlynch on the first page. The second page is the Microsoft reference doc for bdehdcfg.

System Reserved partition no longer marked as System

bdehdcfg

Now that we have established what the system flag is and does. Can you please answer my original question? Does EasyBCD set the System flag on the new partition? I suspect it does not even for fixed disks. This will be a problem for any user that has used EasyBCD to change the boot drive and then decides to encrypt their drive with BitLocker. I suspect that the boot partition will be encrypted along with the rest of the drive because the system flag is not present. This will of course render the system not bootable. Do you agree?
 
Last edited:
The only real flag is "active".
That's in the MBR partition table on the HDD on one (and only one) partition in the table.
It's the instruction to the BIOS where to go next in the boot chain process.
There can of course be an "active" partition in the partition table of any or all HDDs mounted on the system.
The BIOS HDD boot sequence will determine which of these will be searched first, and as soon as one of the HDDs in the sequence has an "active" flag, that's where the BIOS will pass control.
Once the OS is up and running, it assigns the "system" and "boot" flags in the DM display, but they're virtual not real.
They're the system giving you the information (after the fact) about which of the many (possibly) "active" partitions was actually used to boot the system and hence where the boot files (and the OS itself) which you are currently using are located.
It has not been unknown for users to report here, strange and apparently inexplicable behaviour on one of their OSs, which DM "boot" proves is not the actual system they think they're using.
Those virtual DM flags are akin to the Windows HDD letters, which again don't actually exist in the real world, only in the mind (registry) of the currently running system, and hence can be mapped completely differently when another OS is booted.
 
Hi Terry,
Thanks for your excellent description of how this stuff really works. I have been working on a TEST HP Server 2012 R2 that does not have UEFI bios. Consequentially my raid array 1+0 is limited in size due to the disk being MBR based. I currently have close to 500 Gig's of unallocated space. I found an internal USB port right in the middle of the system board. I figured why not Change the Boot drive to a USB flash drive. Then convert the logical raid drive to GPT. Then I can merge the unallocated space in. This has not worked out so well.

First of all EasyBCD does not support removable drives for the reasons already mentioned by Mahmoud. So I went at it using the same Microsoft tools that EasyBCD uses. I got very close. It was Primary and Active with the boot files installed. I pointed the boot manager device partition to the flash drive and was able to boot from the drive but once back in windows, the boot manager device partition was unknown. I had to eject and insert the drive again to get Windows and BCD to see it. This is no good. BTW, the flash drive never had the System flag.

However, I decided to see if I could proceed with the disk conversion to GPT. I am using Aeomi Partition Assistant Server Edition. I created a boot CD for that program. It is using WinPE. Once inside the program, I wiped out the old System Reserve Partition and converted the raid logical drive to GPT. It warned me that I did not have a system partition and my system will not boot. I proceeded anyway because I had successfully booted from the USB flash drive. Well guess what, the system would not boot anymore from the flash drive. The dreaded boot manager missing.

This was odd because the flash drive was correct and the boot manager device partition was pointed correctly. Not to mention that I was able to boot from it. I recovered the system by converting the GPT disk back to MBR with Aeomi and recreating the System Reserve Partition. Then booting to the repair command prompt with my Windows installation DVD. Then finally running bcdboot D:\Windows, bootrec /fixmbr, bootrec /fixboot, bootrec /rebuildbcd. Good news this was a test server. :wink:

I have given up on the flash drive approach. I found a 16 GB SSD SATA drive on Amazon for $11. I will use this to accomplish my mission. Honestly it is a much cleaner approach especially when I do this on the production server. Here is what I am purchasing...

https://www.amazon.com/KingDian-Int...UTF8&qid=1549252587&sr=8-2&keywords=16+gb+ssd

Terry I do have one question for you. You say that the virtual system flag is assigned by the OS once up and running. I have no reason to doubt you on this. However I am fairly certain that the system flag was present on the original System Reserve Partition (AKA the raid logical disk) when I booted from my WinPE Aoemi Partition Assistant CD. If system flag is virtual, then why would I see it from boot CD? Do you think that the WinPE boot environment set the system flag? Please advise and thank you for your support...
 
To be honest, I don't recall ever looking at the DM flags when booted from an installation disc and I'm not familiar with the Aoemi software you mention to hazard a guess what it's doing to set them (if it does).
 
Back
Top