You are on page 1of 44

SHRI SANT GAJANAN MAHARAJ COLLEGE

OF ENGINEERING, SHEGAON
(DEPT. OF CSE)

REPORT ON

BOOTING SEQUENCE

1
Presented By

Abhijit Nimbhorkar (36)


Rajesh Kumar Parmanik (56)
Ravindra Prasad Mahto (58)
Rushikesh V. Sangamkar(60)
Tushar S. Panpaliya(67)
Objectives…
 Definition
 Bootstrapping
 The Master Boot Record
 Structure: Master Boot Record
 Boot Loader
 Types of Boot Loader
 NTLDR
 LILO
 GNU GRUB
 Steps in Booting
 Power On Self-Test
 Boot Sequence
 Initial Boot Loader Phase.
 Operating System Selection Phase.
 Hardware detection Phase.
 Configuration Selection Phase.
Objectives(contd.)
Definition
 Each time a computer boots up, it goes
through an initial series of processes. This
sequence of events is named as a "boot
sequence“.
 During the boot sequence, the computer
activates the necessary hardware components
and loads the appropriate software so that a
user can interact with the machine.
 The boot sequence starts by accessing the
computer's BIOS on Windows PCs or the
system ROM on a Macintosh. The BIOS and
ROM contain basic instructions that tell the
computer how to boot up.
Bootstrapping
o Bootstrapping refers to a process where a simple system
activates another more complicated system that serves the
same purpose.
o The term is most often applied to the process of starting
up a computer, in which a mechanism is needed to execute
the software program that is responsible for executing
software programs.
o Booting: - Bootstrapping was shortened to booting, or the
process of starting up any computer.
o Software Bootstrapping: - Bootstrapping can also
refer to the development of successively more complex,
faster programming environments.
o Compiler Bootstrapping: - In compiler design, a
bootstrap or bootstrapping compiler is a compiler that is
written in the target language, or a subset of the language,
that it compiles.
The Master Boot Record
o 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.
o 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.
o There also must be someplace where the BIOS can
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),
Structure: Master Boot Record

o 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.

o 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.
Boot loader
o The computer's hardware alone cannot perform
complex actions such as loading a program from disk,
so an apparent paradox exists: to load the operating
system into memory,

o Boot Loader’s only job is to load other software for the


operating system to start.

o The boot loader would then read the operating system


in from an outside storage medium such as paper tape,
punched card, or a disk drive.

o A boot loader loads the operating system. When your machine


loads its operating system, the BIOS reads the first 512 bytes
of your bootable media which is known as the master boot
record, or MBR.
Type of Boot Loader
Following are the types of boot loader’s:
 NTLDR
 LILO( Linux Loader)
 GNU GRUB( GRand Unified Boot Loader)
BOOT LOADERS: NTLDR
BOOT LOADERS: NTLDR Conti…

o Abbreviation of NT Loader
o Used for Windows NT,including some of its later
versions (2000/XP/Server 2003).
o NTLDR can be run from either portable storage (such
as a CD-ROM, USB flash drive), floppy disk, or even
the primary hard disk.
o NTLDR can also load a non NT-based operating
system given the appropriate boot sector in a file.
 NTLDR requires, at the minimum, the following two
files to be on the system volume:
1)NTLDR:which contains the main boot loader
itself.
2)boot.ini:which contains configuration options
for a boot menu.
LILO (LInux Loader):
1. A versatile boot manager that supports:
 Choice of operating systems / kernels
 Boot time kernel parameters
 Booting non-Linux kernels
 A variety of configurations
2. Characteristics:
 Lives in MBR or partition boot sector
 Has no knowledge of file system structure so…
 Builds a sector “map file” (block map) to find kernel
3. /sbin/lilo – “map installer”
 Builds map file, boot sector
 Run after change to kernel or /etc/lilo.conf
GNU GRUB(GRand Unified Boot Loader)
o More recently, the GRand Unified Boot
loader (commonly known as GRUB)
seems to have somewhat taken the
boot loaders crown from LILO.

o GNU GRUB is actively developed by


the Free Software Foundation and
based on the original GRUB program.
Steps in Booting
 The boot process occurs in five stages:
Pre-boot sequence
Boot sequence
Kernel load
Kernel initialization
Logon
Pre-Boot Sequence
 The computer runs power-on self test (POST) routines.
 The POST routines determine the amount of physical memory, the
presence of hardware components, and so on.
 If the computer has a Plug and Play BIOS, enumeration and
configuration of hardware devices occur at this stage.
 The computer BIOS locates the boot device and loads and
runs the master boot record (MBR).
 The MBR
 Scans the partition table to locate the active partition
 Loads the boot sector on the active partition into memory
 Executes the boot sector
 The computer loads and initializes the NTLDR file, which is the
operating system loader.
Boot Sequence
 The second stage of the boot process is
the boot sequence.
 After the computer loads NTLDR into
memory, the boot sequence gathers
information about hardware and drivers
to prepare for the load phases.
 The boot sequence has four phases:
Initial boot loader phase
Operating system selection
Hardware detection
Configuration selection
Initial Boot Loader Phase
 NTLDR switches the microprocessor
from real mode to 32-bit flat memory
mode, which NTLDR requires to carry
out any additional functions.
 NTLDR starts the appropriate minifile
system drivers, which
Are built into NTLDR
Enable NTLDR to find and load operating
system from partitions formatted with file
allocation table (FAT), FAT32, or NTFS file
systems.
Operating System Selection
 During the boot sequence, NTLDR reads the
BOOT.INI file.
 If more than one operating system selection is
available in BOOT.INI, the Please Select The
Operating System To Start screen appears.
 If no operating system is selected before the
timer reaches zero, NTLDR loads the operating
system specified by the default parameter in
BOOT.INI.
 If there is only one entry in BOOT.INI, the
default operating system is automatically
loaded.
 If BOOT.INI is not present, NTLDR attempts to
load the operating system from the first
partition of the first disk, typically C:\.
Hardware Detection Phase
 NTDETECT.COM and NTOSKRNL.EXE
perform hardware detection.
 NTDETECT.COM executes after you
select the operating sysytem on the
Please Select The Operating System To
Start screen (or after the timer times
out).
 NTDETECT.COM collects a list of
currently installed hardware components
and returns this list to NTLDR.
Hardware Detection Phase(contd.)
 NTDETECT.COM detects the following
components:
Bus/adapter type
Communication ports
Floating-point coprocessor
Floppy disks
Keyboard
Mouse/pointing device
Parallel ports
SCSI adapters
Video adapters
Configuration Selection Phase

 NTLDR does the following:


 Starts loading the operating system.
 Collects hardware information.
 Presents the Hardware Profile/Configuration Recovery
menu .
 The first hardware profile on the Hardware
Profile/Configuration Recovery menu is
highlighted.
 Press Enter to select the highlighted hardware profile.
 Press the down-pointing arrow key to select another
profile.
 Press L to invoke the LastKnownGood configuration.
Configuration Selection Phase(contd.)

 If there is only a single hardware profile on the


menu, NTLDR
Does not display the Hardware profile/
Configuration Recovery menu.
Loads the operating system using
the default hardware profile configuration.
Kernel Load Stage
 During the kernel load stage, NTLDR does
the following:
Loads NTOSKRNL.EXE but does not initialize it
Loads the hardware abstraction layer file
(HAL.DLL)
Loads the HKEY_LOCAL_MACHINE\SYSTEM
registry key from %systemroot
%\System32\Config\System
Selects the control set it will use to initialize the
computer
Loads device drivers with a value of 0x0 for the
Start entry
Kernel Initialization Stage
 When the kernel load stage is complete,
the kernel initializes, and NTLDR passes
control to the kernel.
 The system displays a graphical screen
with a status bar indicating load status.
 Four tasks are accomplished during the
kernel initialization stage:
The Hardware key is created.
The Clone control set is created.
Device drivers are loaded and initialized.
Services are started.
The Hardware Key Is Created
 On successful initialization, the kernel
uses the data collected during hardware
detection to create the registry key
HKEY_LOCAL_MACHINE\HARDWARE
 The key contains information about
Hardware components on the system board
The interrupts used by specific hardware
devices
Clone Control Set Is Created

 The kernel creates the Clone control set by


copying the control set referenced by the
value of the Current entry in the
HKEY_LOCAL_MACHINE\SYSTEM\Select
subkey of the registry.
 The Clone control set is never modified
because it is intended to be an identical
copy of the data used to configure the
computer and should not reflect changes
made during the startup process.
Device Drivers Are Loaded &
Initialized
 After creating the Clone control set, the kernel
initializes the low-level device drivers that were
loaded during the kernel load stage.
 The kernel then scans the
HKEY_LOCAL_MACHINE\SYSTEM\CurrentContr
olSet\Services subkey of the registry for device
drivers with a value of 0x1 for the Start entry.
 A device driver’s value for the Group entry
specifies the order in which it loads.
 Device drivers initialize as soon as they load.
 If an error occurs, the boot process proceeds
based on the value specified in the ErrorControl
entry for the driver.
ErrorControl Value & Action

 0x0 (Ignore): the boot sequence ignores the error


and proceeds without displaying an error
message.
 0x1 (Normal): the boot sequence displays an error
message but ignores the error and proceeds.
 0x2 (Severe): the boot sequence fails and then
restarts using the LastKnownGood control set.
If the boot sequence is currently using the
LastKnownGood control set, it ignores the error
and proceeds.
ErrorControl Value & Action(contd.)

 0x3 (Critical): the boot sequence fails and then


restarts using the LastKnownGood control set.
However, if the LastKnownGood control set is
causing the critical error, the boot sequence
stops and displays an error message.

 ErrorControl values appear in the registry under


the subkey HKEY_LOCAL_MACHINE\
SYSTEM\CurrentControlSet\Services\
name_of_service_or_driver\ErrorControl.
Services Are Started
 Session Manager (SMSS.EXE) does the
following:
 Reads and executes the commands specified in the
BootExecute data item before it loads any services
 Reads the Memory Management key and creates
the paging file information required by the Virtual
Memory Manager
 Reads the DOS Devices key and creates symbolic
links that direct certain classes of commands to the
correct component in the file system
 Reads the SubSystems key and starts the Win32
subsystem, which controls all input/output (I/O) and
access to the video screen and starts the WinLogon
process
Logon Stage
 The logon process begins when kernel initialization
ends.
 The Win32 subsystem automatically starts
WINLOGON.EXE.
 WINLOGON.EXE starts the Local Security Authority
(LSASS.EXE) and displays the Logon dialog box.
 The Service Controller executes and makes a final
scan of the HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services subkey and starts the
following services:
 All services with a start entry of 0x2
 Workstation service
 Server service
Logon Stage (Cont.)
 A Windows XP Professional startup is
not considered good until a user
successfully logs on to the system.
 After a successful logon, the system
copies the Clone control set to the
LastKnownGood control set.
Flow Chart
Reboot
o Hard reboot: - A hard reboot is when power to
a computer is cycled or a special reset signal to
the processor is triggered. This restarts the
computer without first performing any shut-
down procedure.
o Soft reboot: - A soft reboot is restarting a
computer under software control, without removing
power or triggering a reset line. It usually, though
not always, refers to an orderly shutdown and
restarting of the machine.
o Random reboot: - Random reboot is a non-
technical term referring to an unintended reboot for
which the cause is not immediately evident to the
user. Such reboots may occur due to a multitude of
software and hardware problems, such as triple
faults.
Shutdown / Booting Down
o Any user issued command to the
kernel to shutdown should result in
a “graceful” termination of services.
o Prevent any further creation of user
processes.
o Flush any pending I/O the kernel may be
buffering. Especially key for maintaining
file integrity.
o The kernel process (idle) sends a
terminate signal to all processes in the
system.
o Remember: It is the overall parent!
Shutdown(contd.)
o Hardware oriented shutdowns may
not be as graceful
o CTRL-ALT-DEL or power switch
o This is dependent on how the kernel
handles the hardware interrupt.
o CTRL_ALT_DEL is often serviced as a
regular shutdown user command.
o Power switch is often a “hard” shutdown!
o Important to offer both hard and
soft shutdown mechanisms to
support user needs!
Network Booting
o The central idea is that the computer has some bootstrap
code in non-volatile memory, e.g. a ROM chip, that will
allow it to contact a server and obtain system files over a
network link.
o One goal is to avoid the use of a hard disk for booting.
o With network booting the files are held at a central server
and can be updated at one location.
o Another goal is to use computers in locations where hard
disks are not robust enough.
o Network booting often co-exists with disk booting. For
example, a system could run Windows from disk but
sometimes boot Linux from the network.
o In order to boot over the network, the computer must get
o An identity,
o An operating system image and
o Usually, a working file system.
Dual Booting
o Step1: Defrag : -Before you can begin to reallocate the
hard drive to multiply partitions, you have to run Microsoft
Defrag to move all of your files to the front of the drive.
This is the most important step to not losing files during a
dual-boot creation.
o Step2 : Restarting in Ranish :- Next, you need a program
to edit the partition table, and that tool is ranish. Ranish
does not work when running in Windows, so you need to
make a DOS boot disk to run ranish in DOS. Copy the
following to a disk.
 command.com*
 IO.sys*
 scandisk.exe* *find these
 part240.exe in C:\windows\command\

o Step3 : Starting ranish: - Once the computer comes up to


the prompt, A:\ , type in “part240.exe ”.The GUI will load,
and you can now edit the partition tables. If you areusing a
single partition computer running windows, your only
partition will be a FAT32 partition.
Dual Booting(contd.)
o Step4 : Resizing: - using your arrow keys, select the partition
you wish to resize, most likely it’s “Windows FAT32 LBA”. Now
move over to the Ending columns, specifically “Cyl”.
o Step5 : MBR resizing: - If you got an error message at the top
of the screen, then you are doing it right. The error message
means that you have successfully changed one of two partition
tables. Now you can always discard the changes at this point if
you messed up by hitting esc a few times.
o Step6 : Done: - Almost. All you have to do is exit out of ranish
and make sure it is saved. What about the linux partition? Well,
from my own experience, it is better to leave unused space so
linux can partition it how it likes instead of how you want it.
o Closing : -Once you have finished the process to dual-boot your
computer. you have to do is place the linux install disk in your
CD drive and boot to it. If your computer can not boot from the
CD drive, then you will have to make a boot disk.
Changing Boot Sequence
o Direct after the power-up sequence, your Com/PC is booting
the Windows XP operating system from the internal hard
disk drive (HDD). It is also possible to boot a second
operating system (e.g. the SSV Embedded Gateway Linux)
from a Compact Flash card in the Com/PC front panel.

 Step 1: Restart your Com/PC and enter the BIOS Setup


Utility. Then select the Boot item from main menu.
Change the Boot Device Priority to the following
values:
 1st Boot Device the Compact Flash card
 2nd Boot Device the internal HDD

 Step 2: Select the Exit item from the main menu and save

the current BIOS setup.


Changing Boot Sequence(contd.)
o Step 3: Turn the Com/PC off and insert a bootable
Compact Flash card into the Compact Flash
socket. After the next power-up sequence,
the Com/PC tries to boot an operating system
directly from the Compact Flash card.
Reference:
 http://dotnetjunkies.com/WebLog/unkno
wnreference/articles/12284.aspx
 http://www.pctoday.com/Editorial/article.
asp?
article=articles/2004/t0206/06t06/06t06.
asp&guid
• For the Macintosh OS-X
 http://www.kernelthread.com/mac/osx/ar
ch_boot.html
.

You might also like