Arno said:
I think it is the other way round: Windows will not boot if its
boot partition is not set active. Therefore the ususl Grub configuration
will set it active before booting with the chainloader. Example
from my Grub menue file:
title Trash-OS /dev/hda1
root (hd0,1) <== The Partition that is c:\ under Windows
makeactive <== Set active flag
chainloader +1 <== boot from partition
I'm reaching a bit - and my brain is starting to hurt

- but I have
those exact same entries in GRUB for win98 (except mine's --> root
(hd0,0)) -- I guess it's because of my GRUB 'chainloader +1' entry for
windoze that causes that small bit of grub code in the MBR to seek out
it's 1.5 and 2.0 stages - which then passes control to the DOS IO.sys
file in 98 (located at hda1, offset by 63 heads(?), which also contains
an 'active' flag -- I guess in essence, an Extended boot record or
EBR)....BTW - this can get very complicated once you start looking at
the Assembly language, offsets, and jump code -- note; FAT32 uses a
larger BPB than FAT16, and NTFS uses some 'reserved' bytes (4-6 bytes)
between the 440bytes of the MBR code and the 64bytes of the MPTs.
Has anyone been looking into the way the newer EFI (Extensible Firmware
Interface) interacts, since it will shortly replace our typical BIOSes
The kernel does not care. It gets told on the kernel command line
which partition contains the root filesystem ("/", "aquivalent to
"c:\" an Windows). Alternatively the root partition specification
can be hard-coded into the kernel binary.
and also even a mini kernel image;
title Debian GNU/Linux, kernel 2.6.8-2-386 (recovery mode)
root (hd0,6)
kernel /boot/vmlinuz-2.6.8-2-386 root=/dev/hda7 ro single
initrd /boot/initrd.img-2.6.8-2-386
savedefault
boot
I don't yet fully understand all the possibilities yet, but here's some
man initrd info
-------------------------------------------------------------------------------------
The special file /dev/initrd is a read-only block device. Device
/dev/initrd is a RAM disk that is initialized (e.g. loaded) by the boot
loader before the kernel is started. The kernel then can use the the
block device /dev/initrd's contents for a two phased system boot-up.
In the first boot-up phase, the kernel starts up and mounts an initial
root file-system from the contents of /dev/initrd (e.g. RAM disk
initialized by the boot loader). In the second phase, additional
drivers or other modules are loaded from the initial root device's
contents. After loading the additional modules, a new root file system
(i.e. the normal root file system) is mounted from a different device.
-----------------------------------------------------------------------------------------
Example from my Grub menue file:
title Linux 2.6.15.4 /dev/md1
kernel (hd0,0)/2_6_15_4 root=/dev/md1
This loads the file named "2_6_16_4" from the first disk,
first partition, as kernel and tells it to use /dev/md1 as its
root partition.
The thing is that Grub is filesystem aware and
can load regular files.
Arno
I haven't yet looked into the standard Legacy GRUB vs GRUB 2.0
differences yet.....I only mention to avoid confusion - and to clarify
just what we are discussing (note; That's why I'm sure to mention the
98 vs NT diffs too).