Boot Process
Boot Process
Logical Extended Boot Sector (LEBR):- This is the logical first sector residing at the start of each
Logical Partition. This is similar to PBR for Primary Partitions.
way and Non-Microsoft way (or Third Party Boot Loader way!).
Microsoft way:- Microsoft Master Boot loaders doesn’t recognize other types of OSes like Linux
(in default, that is!), hence using Microsoft MBR in the presence of Linux is ruled out.
Consider the case that (this is the general case), there is one Primary partition and some Logical
Partitions inside Extended Partition. Now if Win98 is installed in the Primary Partition, and
afterwards WinXP is installed in a Logical Partition, then theoretically both OS should have their
own Boot Records, i.e PBR for Win98 and LEBR for WinXP, which contain program to boot the
respective OS, so that each individual OS can be booted up by the MBR by passing control to
respective PBR of the OS as described in previous section.
But this does not happen in Microsoft Boot loader! It does a peculiar thing, that it always considers
the current Active Partition as the default System/Boot Partition.
That is Primary Partition in which Win98 was installed is the Active Partition, then when WinXP is
installed another partition, instead of writing the code for booting in it's partition, WinXP writes the
code in current Active Partition (that is, where Win98 is installed)!
Program responsible for loading the WinXP is ntldr standing for NTLoader. Theoretically, this
should be in it’s partition, but this copied to that of Win98.
Then files responsible for Win98 booting is combined into a single file called bootsect.dos and this
is also placed in the Win98 partition.
Then, WinXP creates another file called boot.ini which contains the names of Microsoft OSes
installed and path for System files of each OS.
After all this prelims, Windows multiboot can be represented as below:-
1. When BIOS hands over control to Microsoft MBR , this program looks into Partition Table
for Active Partition.
2. Then it hands over the control to the PBR of Active Partition. In this case, the Active
Partition is where Win98 was installed.
3. But Win98 PBR has been altered by WinXP, and it no longer contains Win98 boot program
(like io.sys or msdos.sys). But it contains ntldr! Peculiarity is that one OS’s Boot program is
in another OS’s Partition!
4. ntldr looks into boot.ini file and finds out the Microsoft OSes installed in the System and
displays the option menu.
5. When user slects Win98, the file bootsect.dos (which is in same partition) is executed, and
if WinXP is selected, ntoskrnl is executed (which is in another partition!).
The good thing about Microsoft way is that, it’s very easy to configure (you don’t have to configure
at all!).
But the bad thing about Microsoft MBR is that, the two OSes are not independent of each other.It
is because, that Microsoft MBR always boots into the Active Partion (that is it always boots into
Win98 Partition, but executes WinXP program!) and from here other OSes are loaded.
This does not provide flexibility of installing multiple Microsoft OSes in a random order, because
here older version of OS should be installed first and then newer versions of OSes should be
installed.
This boot process also has two limitations:-
1. There can be only one Real Mode DOS based OSes like Win95/Win98 along with NT based
OSes. If you want both Win95, Win98 with any NT based OS, then it’s simply not possible.
2. Microsoft MBR looks for Active Status in Primary Partitions only and not in Logical
Partitions. This means, Microsoft OSes should be installed in Primary Partitions only if it
should be bootable (For this reason itself, WinXP boot file ntldr is placed in Primary
Partition of Win98 instead of it’s own Logical Partition).
But this has led to misconception that only OSes in Primary Partitions can be booted. But by
replacing Microsoft MBR by any other sophisticated MBR program which also looks for Active
Status in Logical Drives, we can boot into OSes which are in Logical Drives directly. This is where
third party Boot Loaders come into picture!
Non-Microsoft way:- Third-party Boot Loader load before the OS, so they are independent of the
OS. Therefore, they work fine with all versions of Windows and DOS.
In this system, installing multiple OSes is conceptually simple. First make as many Primary
Partitions and Logical Partition as you want. Then set the status of one of the Partition as “Active”,
and install on OS. After this set the status of that partition as “Hidden” (or “Inactive” ) and set
another Partition as “Active” and install another OS and this can be done for all Partitions. By this
older versions of Windows can be installed after the installation of new ones.
Then Third Party Boot Loader reads all Partitions (including Logical Partitions)from the Partition
Table and provides with an option of OSes to boot.
The functions of a Third Party Boot Loader can be stated as below:-
1. Displays a list of all OSes present in both Primary and Logical Partitions.
2. When an user selects one OS, Boot Loader makes the Partition of that OS as Active, and
passes the control to it.
This step is the most important deviation from Microsoft way, because in Microsoft
MBR, the “Active” Partition always remains same and after booting into it, OSes in
other (Logical) Partitions are booted.
But here, a Partition is flagged as Active at the time of the selection by the user,by this
way, any OS can be booted directly, by toggling it’s Inactive/Active Status when an
user selects it.
3. Then, the Boot Sector of the corresponding OS takes control and loads the OS. This Boot
Sector may be PBR of a Primary Partition or LEBR of a Logical Extended Partition.
By this way, each OS remains independent of each other. That is, boot programs (ntldr) of WinXP
can remain in WinXP’s partition and Win98 boot programs (io.sys, msdos.sys) can remain in it’s
partition..
Since Third Party Boot Loaders are independent of OS, they support all type of OSes like
Windows, Linux, Unix, BeOS etc.
A good Boot Loader is XOSL, which has a graphical interface and supports upto 24 OSes and it can
also boot OSes installed in Logical Partitions.