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.