and Booting Windows from an Extended Partition
by Dan Goodell
Installing the Boot Manager
The computer normally boots by passing control
through the MBR on the first sector of the hard disk. The MBR searches
the master partition table for the active boot partition, then passes
control to that partition's boot record. Note that until we get to the
code in the partition boot record, there doesn't need to be anything
in the MBR or partition table specific to the OS being booted. We may
be booting Windows, linux, or something else, but the MBR and partition
tables still work the same way.
Boot managers work by diverting
the boot process at the point of the MBR to allow the user to choose which
becomes the active boot partition.
When the user makes a choice, the boot manager adjusts the partition tables
to hide or unhide partitions and passes control to the appropriate partition
boot sector. Remember, to hide or unhide
a partition the boot manager just needs to change a one-byte entry in the
Since boot managers more sophisticated than the simple Microsoft MBR won't
fit in the tight confines of a single sector, some boot managers hide code
or configuration data in the "unused"
sectors following the MBR. This is normally not a problem unless some
other utility is doing the same thing--since these sectors are outside of
any partition they are outside the control of any file system, so there
is no way for a program to know whether the sectors are in use or not.
Some boot managers may store their data in a regularly defined partition
(either primary or logical), where data can be saved like regular files.
However, the boot manager may impose limitations on the format of that
partition, so if you don't already have a partition of the necessary format
you may be required to create a partition dedicated solely to the boot manager.
For example, if your boot manager must be installed in a FAT partition and
you only have NTFS partitions, you will need to create a new FAT partition
just for the boot manager. If you already have a partition in the right
format, you may be able to just add the boot manager to it without having
to give the boot manager its own exclusive partition.
If a boot manager stores files in a normal partition, it's possible for
it to include a configuration program that may provide easy options to
disable or reenable itself.
Note, however, that any boot manager can always be disabled if you overwrite
the MBR to eliminate the boot manager's code and restore the normal MBR action.
This doesn't necessarily remove other parts of the boot manager, but it
definitely disables it.
(Note: the installation routines for Microsoft OS's habitually overwrite the
MBR code. If you had a boot manager previously installed, this means it would
have to be reinstalled).
The most rudimentary boot loaders--such as linux LILO and the NT loader
(ntldr) used by Windows 2000 and XP--have little or no control over the
partition tables to hide any partitions. They rely on the principle that
if differing OS's cannot understand partitions in foreign file formats,
then the partitions are as good as hidden anyway.
This doesn't help, though, if you install duplicate or multiple OS's that
can read each other's file formats.
Better boot managers can hide/unhide primary partitions depending on which
you want visible. The most versatile can also selectively hide logical
volumes in the extended primary partition.
If the only OS's you've installed can't understand each other's file
formats, or if they can and you don't care about it, then the rudimentary
boot loaders should be fine. If you only have a couple OS's and can put
them in primary partitions, then mid-level boot managers (like BootMagic,
included with PartitionMagic) will allow you to hide them from each other.
Since we've put some OS's in logical partitions that must be hidden when
certain other OS's are booted, we need a good boot manager that is also
capable of hiding logical partitions. BootIt-NG and XOSL fall into this
The XOSL (Extended Operating System Loader) boot manager is ideal for this
project because it can boot OS's in logical partitions and can hide or
unhide any primary or logical partition on an individual basis. It also
plays nice by not sticking anything in track 0's "unused" sectors--and
even better, it's free for personal use.
Run the XOSL installation routine, then reboot. When the computer restarts,
the boot manager's menu will appear. The menu is initially blank, so we need to
add each OS selection. This isn't hard--just read the instructions and study
the screen. For each OS selection click the [Hiding]
button and select exactly which primary and/or logical partitions should be
visible to each OS.
(Warning: do not hide the extended partition itself, or all the
logical partitions within it will be invisible).
That's it. The computer is set up for multibooting.