lock;SPM_quot;, the command line as entered by the user (it is saved before
the final line is constructed) is written to the disk as the new default
command line.
Next, the floppy boot sector of that image is
loaded at 0x90000,
the setup part is loaded at 0x90200 and
the kernel part is loaded at 0x10000. During the load operation, the sectors
of the map file are loaded at 0x9D000.
If the loaded image is a kernel image, control is transferred to
its setup code.
If a different operating system is booted, things are a bit more difficult:
the chain loader is loaded at 0x90200 and the boot sector of the other OS
is loaded at 0x90400. The chain loader moves the partition table (loaded at
0x903BE as part of the chain loader) to 0x00600 and the boot sector to
0x07C00. After that, it passes control to the boot sector.
Chain loaders that allow booting from a second drive (either floppy or hard
disk) also install a small function to intercept BIOS calls and to swap
the drive numbers at the top of available memory.
The secondary boot loader displays an ``L'' after being started and an ``O''
after loading the descriptor table and the default command line. Before
loading the descriptor table, it checks, whether it has been loaded at the
correct location and displays a question mark if it hasn't. If the
descriptor table has an incorrect checksum, a minus sign is displayed.
#displaymath575#
The area 0x90020-0x90023 is overlaid by a command-line descriptor while
the secondary boot loader is running.