[EBCD-486] Suggestion: Allow booting multiple GRUB2 entries

#1
While setting up EasyBCD to boot multiple version of Windows (4 so far), drive letters get confusing because Windows keeps changing what drive/partition is assigned to what drive letter. As an option it would be nice to be able to specify where the version of windows is by drive and partition when adding menu entries.

In the Edit Boot Menu, double clicking allows changing of the menu title. In windows F2 is usually the rename function. It would be nice if double click switched to the Advanced settings mode for the selected entry. F2 could do rename.

Another option would be to add right click. Where right clicking on an item in the list would bring up a sub-menu that could contain Rename, Advanced Setting, Delete, Move Up, Move Down, Make Default, etc.

Thanks for making a great program.
 

mqudsi

Mostly Harmless
Staff member
#2
Hi mkatz,

Thanks for your suggestions. You'll be pleased to note that EasyBCD already follows default Windows behavior and will rename on F2 :smile:
The bad news is that almost no one knows this valuable tidbit, so we cannot rely on it. However, a context menu might not be a bad idea.
 

mqudsi

Mostly Harmless
Staff member
#3
EasyBCD 2.2 Beta Builds

Ability to boot into multiple GRUB2 from EasyBCD's top-level menu has been implemented. Please test it and give feedback.
 

mkatz

New Member
#4
I'm sorry it took me so long to get back to you (I changed jobs in the interim).

The menu selection looks great in the add an item screen but the created boot configuration only boots the Ubuntu 11.10 64 Bit Partition.

Also, the normal, debug and editing screens do not show the drive choice made in the add drive dialog.

The AutoNeoGrub0.mbr and AutoNeoGrub2.mbr are identical except for the "ang" reference (one references ANG0 and the other references ANG2. The two ANG files are identical.

Thanks again,

Mike

This is a new system setup as follows:
[FONT=&amp]
This is a new system setup as follows:

Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 100 MB 1024 KB -> Created by Windows 7 64 Bit Install
Partition 2 Primary 244 GB 101 MB -> Windows 7 Pro 64 Bit
Partition 3 Primary 146 GB 244 GB -> Windows 7 Pro 32 bit
Partition 0 Extended 201 GB 390 GB
Partition 4 Logical 93 GB 390 GB -> Ubuntu 11.10 64 Bit
Partition 5 Logical 14 GB 483 GB -> Linux Swap
Partition 6 Logical 93 GB 498 GB -> Ubuntu 11.10 32 Bit

EasyBCD Is configured as follows:

Windows Boot Manager
--------------------
identifier {9dea862c-5cdd-4e70-acc1-f32b344d4795}
device partition=\Device\HarddiskVolume1
description Windows Boot Manager
locale en-US
inherit {7ea2e1ac-2e61-4728-aaa3-896d9d0a9f0e}
default {3eeb0654-4888-11e1-9184-fc1b00e093b8}
resumeobject {3eeb0653-4888-11e1-9184-fc1b00e093b8}
displayorder {3eeb0654-4888-11e1-9184-fc1b00e093b8}
{3eeb0658-4888-11e1-9184-fc1b00e093b8}
{bf8eb893-4c8e-11e1-8c4f-001a4d59da78}
{bf8eb894-4c8e-11e1-8c4f-001a4d59da78}
toolsdisplayorder {b2721d73-1db4-4c62-bf78-c548a880142d}
timeout 30
displaybootmenu Yes

Windows Boot Loader
-------------------
identifier {3eeb0654-4888-11e1-9184-fc1b00e093b8}
device partition=C:
path \Windows\system32\winload.exe
description Windows 7 Pro - 64 Bit
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence {3eeb0655-4888-11e1-9184-fc1b00e093b8}
recoveryenabled Yes
osdevice partition=C:
systemroot \Windows
resumeobject {3eeb0653-4888-11e1-9184-fc1b00e093b8}
nx OptIn

Windows Boot Loader
-------------------
identifier {3eeb0658-4888-11e1-9184-fc1b00e093b8}
device partition=D:
path \Windows\system32\winload.exe
description Windows 7 Pro - 32 Bit
locale en-US
inherit {6efb52bf-1766-41db-a6b3-0ee5eff72bd7}
recoverysequence {3eeb0659-4888-11e1-9184-fc1b00e093b8}
recoveryenabled Yes
osdevice partition=D:
systemroot \Windows
resumeobject {3eeb0657-4888-11e1-9184-fc1b00e093b8}
nx OptIn

Real-mode Boot Sector
---------------------
identifier {bf8eb893-4c8e-11e1-8c4f-001a4d59da78}
device partition=C:
path \NST\AutoNeoGrub0.mbr
description Ubuntu 11.10 - 64 Bit

Real-mode Boot Sector
---------------------
identifier {bf8eb894-4c8e-11e1-8c4f-001a4d59da78}
device partition=C:
path \NST\AutoNeoGrub2.mbr
description Ubuntu 11.10 - 32 Bit




[/FONT]
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#5
Please try in beta build 169.
 
#6
Please try in beta build 169.
Today (March 15 2012) I downloaded and installed Beta 173 of EasyBCD 2.2. I am trying to multi-boot 4 operating systems:

Windows 7
Linux Mint 12 (GRUB2)
Linux Trisquel 5.0 (GRUB2)
Linux PCLinuxOS 2011.09 'Full Monty' (GRUB legacy)

I have encountered the same problem as mkatz noted above:

The AutoNeoGrub0.mbr and AutoNeoGrub2.mbr are identical except for the "ang" reference (one references ANG0 and the other references ANG2. The two ANG files are identical.
In my case, the two files AutoNeoGrub0.mbr and AutoNeoGrub1.mbr are identical, byte for byte, except for 3 instances of ANG0 (or ang0) in the former file, and ANG1 (or ang1) in the latter. Therefore, I can access Windows, Mint, and PCLinuxOS, but choosing Trisquel 5.0 (the second GRUB2) OS results in displaying the Mint 12 (GRUB2) menu, just as if I had selected Mint 12 from the EasyBCD menu. This was the exact problem supposedly solved by the version 2.2 Beta builds, so naturally, I was disappointed, as I had carefully selected the exact partitions from the EasyBCD GRUB2 drop-down box when adding each GRUB2 menu entry.

Just to add a little 'mystery' to this explanation, what I described above occurred on my second installation of Build 173. After my first install, the two files AutoNeoGrub0.mbr and AutoNeoGrub1.mbr were actually very different sizes, so I had great hopes that everything would work. When it didn't, I decided to 'start over' with a fresh install of EasyBCD and try it again.

So, after completely deleting all EasyBCD menu entries, uninstalling EasyBCD, recreating the Windows boot record with another utility, rebooting a couple of times, reinstalling EasyBCD 2.2 Build 173, and rebuilding the menu from scratch, I noted that the two files only differed slightly, as described above, so I was not able to select the second GRUB2 installation (Trisquel 5.0) when I rebooted to test.

I appreciate the great strides you are making to smooth out the 'wrinkles' introduced by the GRUB vs. GRUB2 mess, and hope that at some point this menu building process with EasyBCD will work as expected. Meanwhile, I will have to rely on Mint's GRUB2 menu to boot into Trisquel, certainly not an 'elegant' solution. If there is anything more I can do in the way of testing my setup to help in this matter, please let me know.

aboutblank
March 15, 2012
 
#7
Today (March 15 2012) I downloaded and installed Beta 173 of EasyBCD 2.2. I am trying to multi-boot 4 operating systems:

Windows 7
Linux Mint 12 (GRUB2)
Linux Trisquel 5.0 (GRUB2)
Linux PCLinuxOS 2011.09 'Full Monty' (GRUB legacy)

I have encountered the same problem as mkatz noted above:



In my case, the two files AutoNeoGrub0.mbr and AutoNeoGrub1.mbr are identical, byte for byte, except for 3 instances of ANG0 (or ang0) in the former file, and ANG1 (or ang1) in the latter. Therefore, I can access Windows, Mint, and PCLinuxOS, but choosing Trisquel 5.0 (the second GRUB2) OS results in displaying the Mint 12 (GRUB2) menu, just as if I had selected Mint 12 from the EasyBCD menu. This was the exact problem supposedly solved by the version 2.2 Beta builds, so naturally, I was disappointed, as I had carefully selected the exact partitions from the EasyBCD GRUB2 drop-down box when adding each GRUB2 menu entry.

Just to add a little 'mystery' to this explanation, what I described above occurred on my second installation of Build 173. After my first install, the two files AutoNeoGrub0.mbr and AutoNeoGrub1.mbr were actually very different sizes, so I had great hopes that everything would work. When it didn't, I decided to 'start over' with a fresh install of EasyBCD and try it again.

So, after completely deleting all EasyBCD menu entries, uninstalling EasyBCD, recreating the Windows boot record with another utility, rebooting a couple of times, reinstalling EasyBCD 2.2 Build 173, and rebuilding the menu from scratch, I noted that the two files only differed slightly, as described above, so I was not able to select the second GRUB2 installation (Trisquel 5.0) when I rebooted to test.

I appreciate the great strides you are making to smooth out the 'wrinkles' introduced by the GRUB vs. GRUB2 mess, and hope that at some point this menu building process with EasyBCD will work as expected. Meanwhile, I will have to rely on Mint's GRUB2 menu to boot into Trisquel, certainly not an 'elegant' solution. If there is anything more I can do in the way of testing my setup to help in this matter, please let me know.

aboutblank
March 15, 2012
My interim solution is to boot from easyBCD to a GRUB2 menu and boot my different Linux installs from the GRUB 2 menu.
 
#8
Hi,

I get the same problem with 2.2 r173 and this configuration
Windows7 2 primary partitions, loader in MBR
Debian 6.0.3 in extended partition with GRUB2 in /boot (part5), / and /home in LVM
Ubuntu 11.10 in same extended partition with GRUB2 in /boot (part6), / and /home in LVM
BT5R2 in same extended partition with GRUB2 in /boot (part7), / in part10

Always chains to Debian GRUB.

AutoNeoGrub 0, 1 and 2 identicals.

My solution to work around is the same as mkatz.


Addendum:


Additional informations (to help ?)

After I choose one of the distros, I can read on the screen
>>
starting cmain() ... (hd0,4)
[Multiboot-kludge, loadaddr=0x100000, text-and-data=0x5d74, bss=0x0, entry=0x10027c]
<<

Concerning my linux configuration /boot partitions are (hd0,5), 6 or 7 respectively for Debian, Ubuntu and Backtrack.
View from windows disk manager gives 2, 3 and 4

Hope this helps...
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#9
The problem is that when I chainload GRUB2, regardless of which GRUB2 is chainloaded it then turns around and uses the same configuration file.

EasyBCD is chainloading different G2s each time, but to no effect.
 
#11
I've tested Build 173 of v. 2.2 EasyBCD on a second computer, and have run into the following problem:

The architecture of this 2nd PC is as follows:

First Partition is ~13 GB hidden OEM recovery partition
Second Partition is another hidden OEM partition, about 400 MB in size, presumably also connected to the 'factory recovery' function
Third Partition has Windows 7, the primary operating system that came with the PC
(The Fourth, Fifth, and Sixth partitions I carved out of the end of the Third partition, when installing a Linux distribution.)
Fourth Partition is a Linux Swap partition
Fifth Partition is / (root) partition of Zorin OS (Linux)
Sixth Partition is /home partition of Zorin OS (Linux)

I left the boot loader on the master boot record alone, installing Zorin's GRUB2 bootloader only in the boot record of the Fifth partition. I then used EasyBCD to set up a dual boot for Windows 7 on the third partition, and Zorin on the fifth. I tried this several times, selecting GRUB2 and allowing EasyBCD to automatically search for the GRUB2 boot loader, and also tried pointing it specifically to the fifth partition in the drop-down line. All attempts failed with a message something like the following:
'Trying hd(0,0) : NTFS5 : no ANG0'
(I'm recreating the message from memory, so the wording might not be exact).

Windows 7 continues to boot successfully. What I suspect is happening with the failures to boot the Linux partition, is that EasyBCD is expecting to find the file ANG0 in the 'root' level of the first partition, and is not looking for it in the 'root' of the Windows 7 (third) partition, where it actually exists. It appears to be making the assumption that Windows, being the primary operating system, is in the very first partition of the drive, but it is not, as the manufacturer of the system chose to put it elsewhere. That's my theory, at least, it might actually be some other problem that is preventing Linux from booting.

The original problem from my original post, above, is still present. No matter which GRUB2 partition I select, the first one is always being selected. Fortunately, the first GRUB2 has menu entries for the second GRUB2, so I select the second distribution from there, and can boot successfully into that second distribution. (Selecting the first GRUB2 distribution from the GRUB2 menu also works, as expected.)

I'm looking forward to the next beta release to download and test for these two problems; if I can be notified of its release via private email, I'd appreciate it! Thank you.

aboutblank
March 25, 2012
 
#12
When setting up a second (Acer Netbook) computer, I found that I could not successfully boot into a GRUB2 Linux partition, despite the fact that there is only one GRUB2 boot partition on the disk. The disk geometry (with approximate sizes) is as follows:

Partition 1: ~ 13 Gb NTFS OEM partition for recovery (hidden when in Windows)
Partition 2: ~200 Mb NTFS OEM partition for recovery (hidden when in Windows)
Partition 3: ~200 Gb NTFS Windows 7 partition
Partition 4: ~ 2 Gb Linux Swap
Partition 5: ~ 10 Gb ext4 Linux / (root) (with GRUB2 partition boot record installed on it)
Partition 6: ~ 8 Gb ext4 Linux /home

Of my two choices at bootup, Windows 7 boots properly, but choosing my Linux distribution, I receive an error message, and the system 'hangs', necessitating a reboot with Alt-Ctrl-Del. The error I am receiving when trying the GRUB2 Linux menu selection is as follows:

Try (hd0,0) : NTFS5 : No ang0

I'm wondering whether the system (or EasyBCD?) is expecting to find the file 'ang0' in Partition 1, whereas the file actually exists on Partition 3, the boot partition as originally set up by the manufacturer (and where I've installed EasyBCD 2.2 build 173). If the file is being sought on Partition 1, then of course, not being there, I would expect such an error. If jumping to 'NTFS5', it won't be there, either, that being the Linux partition where I'd hoped it would find the GRUB2 boot information.

If there is anything I can try to correct this situation, I'd appreciate the suggestion.

(I posted earlier, but did not see my post, perhaps it is being screened before being posted? I noticed no message to that effect, so I'm not sure what happened. If this is indeed a duplicate post, kindly delete my earlier one today, as the information is duplicative, and this post has more accurate details. Thank you.)

aboutblank
March 25, 2012
 
#13
Here is some further information to help clarify my March 25th posts, above:

The disk on my second PC has a first partition of 13 Gb, set up by the OEM. According to Windows Disk Management, it is flagged as 'Recovery Partition'. The second partition, however, is a 100 Mb "SYSTEM RESERVED" partition, which apparently is set up under certain scenarios when installing Windows 7. (I no longer think it has anything to do with the OEM Recovery partition or software.) It is flagged as 'System, Active, Primary Partition'. The third partition, above, is 200 Gb, and is my Windows Drive C:. It is flagged as 'Boot, Page File, Crash Dump, Primary Partition'. Partitions 4, 5, and 6 are as described above. Each is flagged as 'Primary Partition'. A corrected list:

Partition 1: ~ 13 Gb NTFS OEM 'Recovery Partition' (hidden when in Windows)
Partition 2: ~100 Mb NTFS "SYSTEM RESERVED" 'System, Active, Primary Partition' (hidden when in Windows)
Partition 3: ~200 Gb NTFS Windows 7 'Boot, Page File, Crash Dump, Primary Partition' (Windows Drive C)
Partition 4: ~ 2 Gb Linux Swap ('Primary Partition')
Partition 5: ~ 10 Gb ext4 Linux / (root) (with GRUB2 partition boot record installed on it) ('Primary Partition')
Partition 6: ~ 8 Gb ext4 Linux /home ('Primary Partition')

From looking inside some of the boot files with a text viewer, it appears that 'NTFS5' does not refer to the 5th partition, but instead to the file system used to format one or more partitions. So it now appears to me that the error message I received:
Try (hd0,0) : NTFS5 : No ang0
Says that the bootloader is trying the first partition on the drive, formatted as NTFS, and cannot find the file ang0, and so stops. As ang0 is on the third partition, that is not surprising. Why it doesn't look for the ang0 file on the Boot partition I don't know.

aboutblank
March 28, 2012
 

Terry60

Knows where his towel is.
Staff member
#14
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 in your case the partition labelled "System Reserved" is "the Boot partition" you referred to. (don't blame me - MS turns the use of the words system and boot upside down)
MS "active" = Linux "boot"
 
Last edited:

mqudsi

Mostly Harmless
Staff member
#15
Build 173 is broken. Use 172 for testing.
 
#16
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 in your case the partition labelled "System Reserved" is "the Boot partition" you referred to. (don't blame me - MS turns the use of the words system and boot upside down)
MS "active" = Linux "boot"
Terry, thank you for the clarification.

For what it is worth, I managed a 'kludge' using 'grub24dos'. That put an entry in my boot menu that I could see when running EasyBCD. When I boot and select that entry, I get another menu, this time from Grub2, that allows me to select my Linux partition, and I can boot into my Linux distribution successfully from the Grub2 menu. It's not perfect, and there are more folders and work files than I'd like in my C: drive 'root', but at least it works!

I saw the note from 'Mostly Harmless':
Build 173 is broken. Use 172 for testing.
That explains part of the problem. I'm inclined to leave well enough alone for now, but if a new beta isn't out soon, I'll eventually download 172 and test that; hopefully, that will allow me to get rid of 'grub24dos'. :wink:

Thanks again,

aboutblank
March 30, 2012