On which partition should I deploy my new BCD?

#1
I am new to this forum, and have a lot to learn. I have a new HP PC running Windows 8.1 and Ubuntu 14.04 LTS. Both operating systems are 64-bit. I have an internal 1 TB disk with Windows installed, and an external 1 TB disk with Ubuntu. My UEFI settings are:

Fast boot: Disabled (Both Windows control panel and BIOS)
Secure boot: Enabled
Legacy boot: Disabled

When I run EasyBCD, I get the following settings summary:

There are a total of 7 entries listed in the bootloader.

Default: Windows 8.1
Timeout: 30 seconds
EasyBCD Boot Device: C:\

Entry #1
Name: USB Hard Drive
BCD ID: {ddc47616-debc-11e3-b74f-c9ffae3f8488}
Device: Unknown
Bootloader Path:

Entry #2
Name: USB Floppy/CD
BCD ID: {ddc47615-debc-11e3-b74f-c9ffae3f8488}
Device: Unknown
Bootloader Path:

Entry #3
Name: UEFI: IPv4 Realtek PCIe FE Family Controller
BCD ID: {ddc47617-debc-11e3-b74f-c9ffae3f8488}
Device: Unknown
Bootloader Path:

Entry #4
Name: UEFI: IPv6 Realtek PCIe FE Family Controller
BCD ID: {ddc47618-debc-11e3-b74f-c9ffae3f8488}
Device: Unknown
Bootloader Path:

Entry #5
Name: ubuntu
BCD ID: {fca56078-e38a-11e3-8260-806e6f6e6963}
Device: Unknown
Bootloader Path:

Entry #6
Name: Windows 8.1
BCD ID: {current}
Drive: C:\
Bootloader Path: \Windows\system32\winload.efi

Entry #7
Name: NeoSmart Linux
BCD ID: {ddc4761e-debc-11e3-b74f-c9ffae3f8488}
Drive: C:\
Bootloader Path: \NST\AutoNeoGrub0.mbr


Entry #7 was created when I added a new entry to my BCD table via this panel:

AddEntry.JPG

My "Edit Boot Menu" panel looks like this:

Edit_Boot_Menu.JPG

I did not yet deploy my new BCD. When I restart from Windows, the Windows Boot Manager (WBM) now give me a choice between Windows 8.1 and NeoSmart Linux. It does not let me choose ubuntu. (The only way I can currently boot ubuntu is to manually change the boot order in UEFI, placing it ahead of Windows. I'm hoping EasyBCD can make this easier.) If I choose NeoSmart Linux, I get the message: "Windows failed to start. A recent hardware or software change might be the cause. File: \NST\AutoNeoGrub.mbr" I suspect this is because I did not deploy the BCD.

My question is this: On which partition should I deploy the BCD? My available partitions are as follows:

Drive 0:
Partition 1 (0xa4 - 1024 MiB)
Partition 2 (0x28 - 360 MiB)
Partition 3 (0x16 - 128 MiB)
Partition 4 (C:\ as NTFS - 914 GiB)
Partition 5 (D:\ as NTFS - 16 GiB)

Drive 1:
Partition 1 (F:\ as NTFS - 469 GiB)
Partition 2 (Linux - 388 GiB) \home
Partition 3 (Swap - 15 GiB)
Partition 4 (Linux - 60 GiB) root directory

The Windows F: partition is used for file backup and system images.

Another question is whether I should have installed the NeoGrub bootloader? So far, I have not.

Another question I have is whether the iReboot utility might be helpful let me choose which OS I want to boot into when leaving Windows. Thank you in advance for any advice you can offer.
 

Terry60

Knows where his towel is.
Staff member
#2
Windows won't let you boot another OS with secure boot enabled.
You don't deploy a new BCD. The BCD is the original one created during install by the OEM.
You have merely added an entry.
Were this W7 you would have already done everything necessary.
Unfortunately there is no way to get W8 to boot Linux through the BCD
Even W7 cannot be booted from a "secure" W8.
Afaik, UEFI W8 cannot boot Linux at all.
You will need to let Linux take control of the boot and use it to chain W8.
Have a look through this
http://askubuntu.com/questions/2218...talled-windows-8-64-bit-system-uefi-supported
 
#3
Thank you for your reply, Terry60.

What would I have to do to make my external USB disk a bootable device? It is #1 in the boot order. Could I make it so that whenever it is plugged in, it always boots the Ubuntu Grub2? After all, this is exactly what happens when I insert the Ubuntu Live DVD into the USB Floppy/CD drive and restart. I imagine I would have to write a BCD to the external drive, correct?
 

Terry60

Knows where his towel is.
Staff member
#4
No. The BCD is a Windows (Vista/7/8) resource.
Ubuntu has its own boot manager/loader (grub2) which keeps its boot information in a file called boot.cfg (the grub2 equivalent of Windows BCD).
You'll need to enter your UEFI BIOS setup (probably F2 or Del while the OEM splash screen appears at power up - a message on screen will tell you) and set USB devices to boot before internal HDD.
You'll need to add a W8 entry to the grub menu if it didn't do it automatically when you installed Linux.
Grub 2 Basics
 
#5
Yes, doing all that lets me boot ubuntu. The problem is that every time I go back to W8, it changes the boot order in UEFI to put ubuntu last in the list. Thus Windows always reboots unless I manually change the boot order every time. This is true whether I have secure boot enabled or disabled. Since Secure boot doesn't seem to affect the overall boot behavior, I decided to keep it on, since it might offer some protection against malicious viruses.

Do you or anyone else know how to prevent W8 from changing the boot order? I always want the ubuntu boot manager to be first, since it is kind enough to offer a choice between ubuntu or Windows.
 

Terry60

Knows where his towel is.
Staff member
#6
I'm afraid my experience of UEFI and Linux is zero, so you're probably the site expert in this field now. I only went UEFI/GPT at the start of this year and my knowledge is limited to a W7/W8.1 dual boot via a consistent W8.1 BCD.
In my case UEFI always boots from the same place regardless of intended final destination, so it's rock-steady.
I would guess that your problem is related to the fact that the UEFI firmware is dynamically changing the boot sequence in response to the last destination, rather than W8 being responsible, so I'd concentrate on investigating UEFI setup if I were in your place. I do remember some unexpected switches occurring during my initial system installations with UEFI seemingly having a mind of its own regarding what it considered the appropriate boot location/order.
Can't offer any specific advice though.