[<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
Int 19  - System - Bootstrap Loader                                        [B]

Desc:  This interrupt reboots the system without clearing memory or restoring
     interrupt vectors.  Because interrupt vectors are preserved, this
     interrupt usually causes a system hang if any TSRs have hooked
     vectors from 00h through 1Ch, particularly INT 08.

Notes: Usually, the BIOS will try to read sector 1, head 0, track 0 from drive
     A: to 0000h:7C00h.  If this fails, and a hard disk is installed, the
     BIOS will read sector 1, head 0, track 0 of the first hard disk.
     This sector should contain a master bootstrap loader and a partition
     table.  After loading the master boot sector at 0000h:7C00h, the
     master bootstrap loader is given control.  It will scan the partition
     table for an active partition, and will then load the operating
     system's bootstrap loader (contained in the first sector of the
     active partition) and give it control.
   true IBM PCs and most clones issue an INT 18 if neither floppy nor hard
     disk have a valid boot sector
   to accomplish a warm boot equivalent to Ctrl-Alt-Del, store 1234h in
     0040h:0072h and jump to FFFFh:0000h.  For a cold boot equivalent to
     a reset, store 0000h at 0040h:0072h before jumping.
   VDISK.SYS hooks this interrupt to allow applications to find out how
     much extended memory has been used by VDISKs (see below).  DOS 3.3+
     PRINT hooks INT 19 but does not set up a correct VDISK header block
     at the beginning of its INT 19 handler segment, thus causing some
     programs to overwrite extended memory which is already in use.
   the default handler is at F000h:E6F2h for 100% compatible BIOSes
   MS-DOS 3.2+ hangs on booting (even from floppy) if the hard disk
     contains extended partitions which point at each other in a loop,
     since it will never find the end of the linked list of extended
     partitions

See Also: INT 14/AH=17h,INT 18

Format of VDISK header block (at beginning of INT 19 handler's segment):
Offset Size    Description
 00h 18 BYTEs  n/a (for VDISK.SYS, the device driver header)
 12h 11 BYTEs  signature string "VDISK  Vn.m" for VDISK.SYS version n.m
 1Dh 15 BYTEs  n/a
 2Ch  3 BYTEs  linear address of first byte of available extended memory

Format of hard disk master boot sector:
Offset Size    Description
 00h 446 BYTEs Master bootstrap loader code
1BEh 16 BYTEs  partition record for partition 1 (see below)
1CEh 16 BYTEs  partition record for partition 2
1DEh 16 BYTEs  partition record for partition 3
1EEh 16 BYTEs  partition record for partition 4
1FEh   WORD    signature, AA55h indicates valid boot block

Format of partition record:
Offset Size    Description
 00h   BYTE    boot indicator (80h = active partition)
 01h   BYTE    partition start head
 02h   BYTE    partition start sector (bits 0-5)
 03h   BYTE    partition start track (bits 8,9 in bits 6,7 of sector)
 04h   BYTE    operating system indicator (see below)
 05h   BYTE    partition end head
 06h   BYTE    partition end sector (bits 0-5)
 07h   BYTE    partition end track (bits 8,9 in bits 6,7 of sector)
 08h   DWORD   sectors preceding partition
 0Ch   DWORD   length of partition in sectors

Values for operating system indicator:
 00h   empty
 01h   DOS 12-bit FAT
 02h   XENIX root file system
 03h   XENIX /usr file system (obsolete)
 04h   DOS 16-bit FAT
 05h   DOS 3.3+ extended partition
 06h   DOS 3.31+ Large File System
 07h   QNX
 07h   OS/2 HPFS
 07h   Advanced Unix
 08h   AIX bootable partition, SplitDrive
 09h   AIX data partition
 09h   Coherent filesystem
 0Ah   OS/2 Boot Manager
 0Ah   OPUS
 0Ah   Coherent swap partition
 10h   OPUS
 18h   AST special Windows swap file
 24h   NEC MS-DOS 3.x
 40h   VENIX 80286
 50h   Disk Manager, read-only partition
 51h   Disk Manager, read/write partition
 51h   Novell???
 52h   CP/M
 52h   Microport System V/386
 56h   GoldenBow VFeature
 61h   SpeedStor
 63h   Unix SysV/386, 386/ix
 63h   Mach, MtXinu BSD 4.3 on Mach
 63h   GNU HURD
 64h   Novell NetWare
 65h   Novell NetWare (3.11)
 70h   DiskSecure Multi-Boot
 75h   PC/IX
 80h   Minix v1.1 - 1.4a
 81h   Minix v1.4b+
 81h   Linux
 81h   Mitac Advanced Disk Manager
 82h   Linux Swap partition (planned)
 84h   OS/2-renumbered type 04h partition (related to hiding DOS C: drive)
 93h   Amoeba file system
 94h   Amoeba bad block table
 B7h   BSDI file system (secondarily swap)
 B8h   BSDI swap partition (secondarily file system)
 C1h   DR-DOS 6.0 LOGIN.EXE-secured 12-bit FAT partition
 C4h   DR-DOS 6.0 LOGIN.EXE-secured 16-bit FAT partition
 C6h   DR-DOS 6.0 LOGIN.EXE-secured Huge partition
 DBh   CP/M, Concurrent CP/M, Concurrent DOS
 DBh   CTOS (Convergent Technologies OS)
 E1h   SpeedStor 12-bit FAT extended partition
 E4h   SpeedStor 16-bit FAT extended partition
 F2h   DOS 3.3+ secondary
 FEh   LANstep
 FFh   Xenix bad block table

This page created by ng2html v1.05, the Norton guide to HTML conversion utility. Written by Dave Pearson