-
PC boot process
A few basic facts on how the (IBM compatible) PC boots itself.
1. The first thing your processor does when powered on, is to seek
a standard address in memory, and execute whatever code it finds.
This address is F000:FFF0h.
All x86 Intel or clone chips are hard-wired to seek this address.
2. At memory address F000:FFF0h, there will be a jmp (jump)
instruction to another address where a program is located.
This program (in the BIOS), hard wired in ROM somewhere
between 640k and 1 meg in memory will perform rudimentary
hardware testing called Power On Self Test (POST).
3.BIOS will seek boot drive. (the one given priority in your setup (CMOS).
BIOS will get the first sector of this drive (cylinder 0, head 0, sector 1),
load this sector into RAM and execute the code found therein.
It is important to remember that this code will be executed,
no matter what it says to do. If it is virus code, it will execute,
because there is no antivirus software running yet. The OS hasn't
loaded yet.
4. The first sector contains two items, first; the boot loader.
The boot loader is a short program that seeks the bootable
partition, and loads the first sector of the partition into
memory, and jumps there to execute its code. Second; the first sector
also has four data fields for partition info. This is the Partition Table.
So, this first sector is sometimes called the Master Boot Record,
and sometimes it is called the Partition Table, because it contains
both of these items.
5.In the standard MSDOS MBR/boot loader, the code will consult the
partition table, looking for the "bootable", or "active" flag on one of
the partition entries. The first sector of the bootable partition will
be loaded into memory and executed. This sector is called the
Boot Sector, and is often confused with the Master Boot Record,
discussed above. It is also, especially in the past, a common
place for virus code.
6. The code in the boot sector looks for the OS kernel and loads
it into memory and executes it. Originally, the dos kernel had to
ocuppy the first contiguous data sectors of the partition,
because the boot sector code wasn't very sophisticated.
If you install a different OS than the dos/win type, or if you
dual boot, the standard boot loader in the master boot record
can be replaced by a boot loader that can give you a choice.
The standard Dos boot loader, can only boot the partition
marked bootable, but LILO, the linux loader, ignores the
bootable flag, and loads whatever OS you select.
:cool:
-
-
Bravo
After the FreeAgent fiasco. People have reverted back to posting intelligent threads such as this one. It's a relief to find good solid info in a post. Interesting at that. This is what "greenie" material is made of. Keep up the good posts rcgreen, as well as all the other recent informative posts.
:bigsmile:
-
-
Good, clear post. Thanks rcgreen - keep them coming.
-
-
Excellent post we need MORE like this one here! keep them rollin
-
Without wanting to :kissass: nice post rcgreen
-
good post. A pity some were taken in by that individual claiming a system was his. Oh well, a good lesson to them to be careful to check out things first.
rcgreen - good idea and here is some more:
post/boot process on -
cisco routers
sparc servers
I'd post them but I'm not where I can get the details today....
;)
-
good post! Thanks for the info rcgreen! :)