Eric said:
The active flag is not an artifact, it is an established convention from the DOS/Xenix days.
If Linux installers do not include the active MS partition in the boot menu, they are broken.
What you described is not a boot manager, but an OS loader.
The OS loader don't belong in the MBR. The Linux freaks cannot break conventions.
_G_R_and _U_nified _B_oot loader
They only need to add the 'Chainloader +1' entry (see below)
http://www.gnu.org/software/grub/manual/grub.html#Loading-an-operating-system-directly
==================================================
*4.1.2 Load another boot loader to boot unsupported operating systems*
If you want to boot an unsupported operating system (e.g. Windows 95),
chain-load a boot loader for the operating system. Normally, the boot
loader is embedded in the boot sector of the partition on which the
operating system is installed.
Set GRUB's root device to the partition by the command rootnoverify
(see rootnoverify):
grub> rootnoverify (hd0,0)
Set the active flag in the partition using the command makeactive6 (see
makeactive):
grub> makeactive
Load the boot loader with the command chainloader (see chainloader):
grub> chainloader +1
`+1' indicates that GRUB should read one sector from the start of the
partition. The complete description about this syntax can be found in
Block list syntax.
Run the command boot (see boot).
However, DOS and Windows have some deficiencies, so you might have to
use more complicated instructions. See DOS/Windows, for more
information.
===================================================
----------------------------------------------------
Perhaps relevant to the OP's issues ??
----------------------------------------------------
*4.2.6 DOS/Windows*
GRUB cannot boot DOS or Windows directly, so you must chain-load them
(see Chain-loading). However, their boot loaders have some critical
deficiencies, so it may not work to just chain-load them. To overcome
the problems, GRUB provides you with two helper functions.
If you have installed DOS (or Windows) on a /non-first/ hard disk, you
have to use the disk swapping technique, because that OS cannot boot
from any disks but the first one. The workaround used in GRUB is the
command map (see map), like this:
grub> map (hd0) (hd1)
grub> map (hd1) (hd0)
This performs a virtual swap between your first and second hard drive.
Caution: This is effective only if DOS (or Windows) uses BIOS to access
the swapped disks. If that OS uses a special driver for the disks, this
probably won't work.