100% found this document useful (3 votes)
4K views10 pages

Steps Sequence During The System Booting

The document outlines the typical boot sequence that occurs when a computer is turned on. It begins with the BIOS initializing and performing self-tests before searching for devices to initialize like video cards, drives, and ports. The BIOS then searches boot devices according to its boot sequence for a master boot record to load the operating system's boot code and transfer control to the OS. If no boot device is found, an error occurs.

Uploaded by

basit qamar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
4K views10 pages

Steps Sequence During The System Booting

The document outlines the typical boot sequence that occurs when a computer is turned on. It begins with the BIOS initializing and performing self-tests before searching for devices to initialize like video cards, drives, and ports. The BIOS then searches boot devices according to its boot sequence for a master boot record to load the operating system's boot code and transfer control to the OS. If no boot device is found, an error occurs.

Uploaded by

basit qamar
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 10

Steps Sequence during the System Booting

The system BIOS, a small bit of code inserted in the BIOS prom chip
located on your computers motherboard, is what starts the computer running
when you turn it on. Below we have outlined the typical sequence of events
that occur during your computers startup process, although they will vary by
the manufacturer of your hardware, BIOS, and the peripherals you have in
the PC. Again, this is a typical sequence of events that occur when you turn
on your computers power switch: a

1. The internal power supply turns on, initializes and then takes a few
moments to generate reliable power for the rest of the computer. If the
power received by the motherboard's chipset, and subsequently the
processor, is not within expected parameters, the chipset will generate
a reset signal to the processor in the same fashion as if you were to
touch the reset button. This will continue until the motherboard
receives a Power Good signal from the power supply or you turn the
system off because of a failed power supply.

2. After a Power Good signal is received, or after the reset button is


released and there is confirmation of reliable power, the processor will
be ready to start executing. When the processor first starts, it really
has no idea what to do next as there is nothing at all in the memory to
execute. Of course the processor designers are aware of this, so they
pre-program the processor to always look at the same place in the
system, the BIOS ROM, for the small bit of startup code to begin the
boot process. This is typically located at memory location FFFF0h, or
right at the end of the system memory. Developers locate it there in
the event the size of the ROM has to be changed so as to prevent
compatibility problems. Since there are only 16 bytes from there to
the end of conventional memory area, this location contains just a
"jump" instruction telling the processor where to go to find the real
BIOS startup program.

3. The BIOS performs the power-on self test (POST). If there are any
fatal errors, the boot process stops. If the POST is successful, the
BIOS calls INT 19 (Interrupt 19) and then proceeds to look for
devices attached to the motherboard.
Booting Process Of Operating System

4. The BIOS code begins its search by looking for a video card, more
particularly, its looking for the video card's built in BIOS program,
(normally found at location C000h in memory) and if found, runs it.
The system BIOS executes the video card BIOS, which in turn
initializes the video card. Most modern video cards will display
information on the screen about the video card, which is why on some
modern PC's you usually see something on the screen about the video
card before you see the messages from the system BIOS itself.

5. Once video has been enabled, the BIOS begins searching for other
devices that may have their own ROM and whether that ROM has its
own BIOS code. Normally, the floppy drive is located at 0000:7C00,
and the IDE/ATA hard disk BIOS will be found at C8000h. If a floppy
and/or hard drive is found, their codes are executed. If, during this
INT 19 process, any other device BIOS's are found, they are executed
as well.

6. The BIOS displays its startup screen, which provides some key
information about the BIOS as well as other system information.

7. As the boot sequence continues, the BIOS continue to perform


additional tests on the system. Depending upon the system
manufacturer, this will usually include a memory count. The BIOS
will generally display an error message on the screen if it encounters
an error when it counts installed memory.

8. During the next phase of the BIOS startup process, it performs


somewhat of an inventory of the hardware installed in the system, and
then communicates or interrogates it to ensure that the hardware is
functioning. Most modern BIOS's have automatic settings to collect
information such as memory timing, based on what kind of memory it
finds. Today's BIOS's dynamically set hard drive parameters and
access modes, and will display a message on the screen for each drive
they detect and configure in this way. It will also search for and label
logical devices such as COM and LPT ports. Note: If the BIOS
supports the Plug and Play standard, and the feature is enabled, this is
the point at which it will detect and configure Plug and Play devices
and display a message on the screen for each one found.

9. During the final phase of the POST and BIOS boot process, the BIOS
will display a summary screen with your system's configuration.

2 of 10
Booting Process Of Operating System

While early machines, 486 through Pentium II, were fairly accurate
about the system configuration information, later machines using the
later Pentium III and AMD processors can have some inaccurate
information. This is usually related to BIOS setup issues involving
processor information. Checking this data can be helpful in
diagnosing setup problems, although it can be hard to see because
sometimes it flashes on the screen and then scrolls off the top.

10.Once the BIOS finishes what it needs to do, it begins searching for a
drive to boot an operating system. All BIOS's contain a setting that
controls this search sequence for a boot drive. Most are set to first
look for a bootable floppy disk, and if one is not found then proceed
to a hard disk, which is usually the C: drive. Some BIOS's permit you
to boot from your CD-ROM drive or other devices such as a SCSI
(Small Computer System Interface), depending on the boot sequence
selected. Once the BIOS identifies its target boot drive, the it looks for
boot information to start the operating system boot process. If it is
searching a hard disk, it looks for a master boot record at cylinder 0,
head 0, sector 1, the first sector on the disk. If it is searching a floppy
disk, it looks at the same address on the floppy disk for a volume boot
sector.

11.Once the boot sector is found and its contents or data verified, the
BIOS starts the process of booting the operating system by using the
information in the boot sector. If this is a floppy disk boot sector, the
information is read into memory at location 0000:7c00. INT 19 goes
to memory location 0000:7c00 to continue the process. If no boot
sector is found on the floppy drive, INT 19 moves to the next bootable
drive in the list provided by the motherboard BIOS, usually a hard
drive, and then attempts to read the MBR. If a Master Boot Record is
found, it is read into memory at location 0000:7c00 and INT 19 jumps
to memory location 0000:7c00 the same as was the case with the
floppy. At this point, the BIOS attempts to move control of the
computer from the BIOS to the actual operating system.

Next, the small program in the Master Boot Record will attempt to
locate an active (bootable) partition in the hard drives partition table.
If such a partition is found, the boot sector of that partition is also read
into memory at location 0000:7C00 and then MBR program itself
jumps to memory location 0000:7C00. Keep in mind that each

3 of 10
Booting Process Of Operating System

operating system has its own boot sector format. The next step
involves the small program in the boot sector locating the first part of
the operating system's kernel loader program, or in some cases the
kernel itself or perhaps a boot manager program, and read then that
into memory. For you Windows NT and Windows 2000 fans, this
kernel loader is referred to as NTLDR.

12.If no boot device of any type can be found, the system will display an
error message and stop. The specific error message is depends on the
BIOS developer and/or the computer's manufacturer, and can be
anything from a rather clear "No boot device" to the very cryptic "NO
ROM BASIC - SYSTEM HALTED". This will also happen if you
have a bootable hard disk partition but forget to set it active. Believe it
or not, you can partition a drive, format it and install the operating
system and never realize that there is problem until the first start of
that operating system occurs.

Many things can damage the Master Boot Record, therefore it might be
helpful for you to know where certain portions of the code reside in the
MBR, should you have to recover the MBR manually.

You will find that:


• The MBR program code starts at offset 0000.
• The MBR messages start at offset 008b.
• The partition table starts at offset 01be.
• The signature is at offset 01fe.

The Master Boot Record (MBR)


When you turn on your PC, the processor attempts to
begin the process of processing data. But, since the system memory is
empty, the processor doesn't really have anything to execute, or even begin
to know where to look for it. To ensure that the PC will always boot
regardless of the BIOS code, both chip and BIOS manufacturers developed
their code so that the processor once turned on, always starts executing at the
same place, FFFF0h.
Similarly, every hard disk must have a consistent "starting point" where
key information is stored about the disk, such as the number of partitions
and what type they are. There also must be someplace where the BIOS can

4 of 10
Booting Process Of Operating System

load the initial boot program that starts the process of loading the operating
system. The place where this information is stored is called the master boot
record (MBR), also referred to as the master boot sector or even just the boot
sector. Do not confuse the master boot sector with volume boot sectors,
which are indeed different.
The master boot record is always located at cylinder 0, head 0, and sector
1, the first sector on the disk. This is the consistent starting point that the
disk will always use. When a computer starts and the BIOS boots the
machine, it will always look at this first sector for instructions and
information on how to proceed with the boot process and load the operating
system. The master boot record contains the following structures:

• Master Partition Table: This small bit of code that is referred to as a


table contains a complete description of the partitions that are
contained on the hard disk. When the developers designed the size of
this master partition table, they left just enough room for the
description of four partitions, hence the four partition (four physical
partitions) limit. For this reason, and no other, a hard disk may only
have four true partitions, also called primary or physical partitions.
Any additional partitions must be logical partitions that are linked to
(or are part of) one of the primary partitions. One of these partitions is
marked as active, indicating that it is the one that the computer should
used to continue the boot process.

• Master Boot Code: The master boot record is the small bit of
computer code that the BIOS loads and executes to start the boot
process. This code, when fully executed, transfers control to the boot
program stored on the boot (active) partition to load the operating
system.

Obviously, due to the great importance of the information stored in the


master boot record, should it become damaged or corrupted in some way,
serious data loss often occurs. The master boot code is the first program
executed when you turn on your PC, and is often the target of a virus. In
order to understand the Master Boot Record and the Master Boot Code
buried within it, it might be helpful to understand the sequence of events that
occur when your computer starts.
Although often overlooked as a diagnostic tool, the Boot Sequence
performed by your computer can often tell you what may be wrong with the
hardware itself should you be experiencing problems, even moderate ones.

5 of 10
Booting Process Of Operating System

The following will take you through the System Boot sequence step by step.
If you notice any thing unusual through each sequence of events, then you
only need to look at the step where the delay appears to occur or back one
step.

Structure of a Master Boot Record

Address
Size
Description in
bytes
Hex Oct Dec

440
0000 0000 0 Code Area
(max. 446)

01B8 0670 440 Optional Disk signature 4

01BC 0674 444 Usually Nulls; 0x0000 2

Table of primary partitions


01BE 0676 446 (Four 16-byte entries, IBM Partition 64
Table scheme)

01FE 0776 510 55h


MBR signature;
2
0xAA55[1]
01FF 0777 511 AAh

MBR, total size: 446 + 64 + 2 = 512

6 of 10
Booting Process Of Operating System

BIOS Power-On Self Test (POST)


The first thing that the BIOS do when the PC boots is to perform what is
called the Power-On Self-Test or POST. When the PC goes into POST, it is
actually performing its own built-in diagnostic program that checks your
hardware to ensure that everything is present and functioning properly,
before the BIOS begins the actual boot process. As the startup process
continues, it performs additional tests, such as the memory test that some
machines show on the screen.
The POST process is performed very quickly on most new computers,
and (based upon the equipment manufacturer) you may not even notice that
it is happening, unless of course a problem occurs. You may have
encountered a PC that, when the power was turned on, made beeping sounds
and then stopped without booting up. That is the POST telling you
something is wrong with the machine. The speaker is used because this test
happens so early on, that the video bus isn't even active yet! These beep
patterns can be used to diagnose many hardware problems with your PC.
The exact patterns depend on the maker of the BIOS, with the most common
being Award and AMI BIOSes. If you need the BIOS beep codes, we have
them for you here: Award and AMI beep codes.

Big-endian and Small-endian:


The adjectives big-endian and little-endian refer to which bytes are
most significant in multi-byte data types and describe the order in which a
sequence of bytes is stored in a computer’s memory.
In a big-endian system, the most significant value in the sequence is stored
at the lowest storage address (i.e., first). In a little-endian system, the least
significant value in the sequence is stored first. For example, consider the
number 1025 (2 to the tenth power plus one) stored in a 4-byte integer:
00000000 00000000 00000100 00000001

7 of 10
Booting Process Of Operating System

Single OS Boot Process:


Whenever PC is turned ON, BIOS takes the control, and it performs a lot of
operations. It checks the Hardware, Ports etc and finally it loads the MBR
program into memory (RAM).
Now, MBR takes control of the booting process. Functions of MBR, when
there is only one OS are installed in the system are as given below:-

1. The boot process starts by executing code in the first sector of the
disk, MBR.
2. The MBR looks over the partition table to find the Active Partition.
3. Control is passed to that partition's boot record (PBR) to continue
booting.
4. The PBR locates the system-specific boot files (such as Win98's io.sys
or WinXP’s ntoskrnl).
5. Then these boot files continue the process of loading and initializing
the rest of the OS.

Multiple OS Boot Process:


Whenever there are multiple OSes, be it multiple Windows or Windows with
Linux , then Boot process will be slightly different.
Actually, there can be two different types of Boot Process in multiple OS
environment, Microsoft way and Non-Microsoft way (or Third Party Boot
Loader way!).
Microsoft way: Microsoft Master Boot loaders don’t recognize other
types of OSes like Linux (in default that is!), hence using Microsoft MBR in
the presence of Linux are 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
8 of 10
Booting Process Of Operating System

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 its partition, but this copied to that of Win98.
Then files responsible for Win98 booting are 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
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, and 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 its 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

9 of 10
Booting Process Of Operating System

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 comes 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 a user select one, 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 its
Inactive/Active Status when a 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 its 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
up to 24 OSes and it can also boot OSes installed in Logical Partitions.

10 of 10

You might also like