Linux + Windows install question

Ben Scott dragonhawk at gmail.com
Fri Oct 28 13:27:00 EDT 2005


On 10/28/05, Jim Kuzdrall <gnhlug at intrel.com> wrote:
>     Windows must go on the first partition of its drive - which
> apparently you now have with your existing Windows drive.

  That's inaccurate.

  The loader (NTLDR or MS-DOS, depending on the flavor of Windows)
must be installed to a primary partition on the first disk.  That
partition should be made active when you want to boot it.  (I've heard
there are ways to coax it into working in other cases, but they're
kludges at best.)  MS-DOS only supports FAT; NTLDR can work with FAT
or NTFS.

  Windows NT and it's derivatives (2000, XP, 2003, Vista, etc.) can be
installed on any partition of any disk, as long as there is a Windows
NT driver for the disk/interface type.  Windows "classic" (1.x-3.x,
95/98/ME) need to be on a disk with BIOS INT13 support, and run even
crappier then usual unless they have native drivers, too.

  You can have up to four primary partitions on an IBM-PC disk
(although one of those is usually used by an extended partition). 
Only one primary partition can be made active at a time.  Logical
partitions (in the extended partition) cannot be made active.  Back
when they designed the thing, the idea of having multiple partitions
dedicated to one OS, or having an OS read a non-native partition,
wasn't even considered.  So the system booted and ran off the active
partition, ignoring all the others.

  This was implemented by reserving the first sector of a fixed disk
as the MBR (Master Boot Record).  (Some systems call this the "boot
block".)  The MBR contains the primary partition table, plus a very
small boot loader.  When the BIOS boots the machine, it actually loads
the MBR.  The MBR code then reads the partition table, loads the PBR
(Partition Boot Record) from the active primary partition, and jumps
into that.  The PBR then loads the OS (or whatever).

  Some non-standard MBRs (ike LILO, GRUB, etc.) override the "active
partition gets booted" idea with a more sophisticated scheme.  That's
fine until they get blown away by something that puts the standard
behavior back.

  For this reason, I usually first install GRUB into a primary
partition.  I install the stage 1 loader into the PBR (Partition Boot
Record), not the MBR.  That way, the system behaves in the "standard"
way.  If something decides to "fix" the MBR, I can still boot GRUB by
setting that partition active.  Once I've got the system working that
way, I may also install the stage 1 loader into the MBR so I get my
nice boot menu all the time.

> (As I recall, GRUB can go on any drive as
> long as the BIOS accesses its drive first.)

  You can install GRUB stage 2 on any partition on any disk that has
BIOS INT13 support.  The stage 1 loader either has to be installed to
the MBR, or to a primary partition PBR (which the MBR then boots).

-- Ben "Who knows far too much about the IBM-PC boot process" Scott



More information about the gnhlug-discuss mailing list