In this
article:
Disk Structure
Boot Record - Layout
Boot Record (bootable) - Hex view
BIOS Parameter Block (BPB)
Navigation:
ParentHome
Hardware
Software
Techniques
Controllers
Reviews
Index
Abstract
This is a continuation of Windows 95b MBR which discusses the PC boot sequence and the MBR from a PC running Windows 95 OSR2. This page concentrates on the boot sector from the same PC, including new parameters in the BPB for FAT32, and the use of interrupt 13 extensions by disassembly of the program code. For previous versions of the boot code, up to DOS 6.22, see Hale’s HIW series listed in the On Line References section, especially the page How It Works: DOS Floppy Disk Boot Sector. Hale’s HIW series contain additional information not presented here.
Introduction
With the new System ID’s mentioned in Windows 95b MBR and the introduction of FAT32 volumes, the boot sector has changed. The BIOS Parameter Block (BPB) in the boot sector has been altered and lengthened to accommodate new parameters. The reserved area, which formerly consisted of a single sector boot record, has been lengthened to allow for two copies of the boot record and a longer boot program. The boot program now uses Interrupt 13 extensions when available. OEM ID’s found at the beginning of the BPB are also briefly discussed. For information on previous boot sectors or additional information see the references at the bottom of the page, especially Hale’s HIW documents which contain information not repeated here as well as other related information. For more information on these additional boot sectors see the follow-up page Windows 98SE Boot Sector.
Disk Structure
This is a quick look at the FAT32 disk structure to help visualize some of the nomenclature. For additional information see the section FAT32 in Windows 98SE Boot Sector and Windows 98SE, FAT32 Example.
The first sector on the hard disk contains the MBR. The remaining sectors on this track are unused. Then follows the primary and extended partitions defined in the MBR partition table. The first sector of a primary partition is the boot sector while the first sector of an extended partition is a Partition Boot Record.
For DOS partitions, starting with the boot sector, there are the following areas:
Boot Sectors, FAT1, FAT2, Data files and subdirectories
where the Root Directory is now part of the data area and not a separate fixed area on the disk as shown in the Windows 95a Disk Structure for 16 bit FAT. The starting cluster number of the Root Directory is now contained in the BPB for FAT32.
Boot Record - Layout
- The first 3 bytes consist of a 2-byte Jump instruction to the rest of the code and a NOP instruction.
- The next 8 bytes contain the OEM ID or File System ID which identifies the version of DOS that was used to format the partition (some sources include this as part of the BPB).
- Beginning at offset 0x0B (11 decimal) is the BIOS Parameter Block (BPB). After the BPB is the Extended BIOS Parameter Block (EBPB). The parameters in these two areas are used by DOS to control any disk-type device.
- Following the BPB and the EBPB is the remainder of the boot code.
- As in the MBR, the signature (0xAA55) must occupy the last two bytes.
Boot Record (bootable) - Hex view
OFFSET 0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF -------------------------------------------------------------------------- 000000 EB 58 90 4D 53 57 49 4E - 34 2E 31 00 02 08 21 00 .X.MSWIN4.1...!. 000010 02 00 00 00 00 F8 00 00 - 3F 00 80 00 3F 00 00 00 ........?...?... 000020 41 99 40 00 1F 10 00 00 - 00 00 00 00 02 00 00 00 A.@............. 000030 01 00 06 00 00 00 00 00 - 00 00 00 00 00 00 00 00 ................ 000040 80 00 29 D5 0F 04 1F 4E - 4F 20 4E 41 4D 45 00 00 ..)....NO NAME.. 000050 00 00 46 41 54 33 32 20 - 20 20 FA 33 C9 8E D1 BC ..FAT32 .3.... 000060 F8 7B 8E C1 BD 78 00 C5 - 76 00 1E 56 16 55 BF 22 .{...x..v..V.U." 000070 05 89 7E 00 89 4E 02 B1 - 0B FC F3 A4 8E D9 BD 00 ..~..N.......... 000080 7C C6 45 FE 0F 8B 46 18 - 88 45 F9 38 4E 40 7D 25 |.E...F..E.8N@}% 000090 8B C1 99 BB 00 07 E8 97 - 00 72 1A 83 EB 3A 66 A1 .........r...:f. 0000A0 1C 7C 66 3B 07 8A 57 FC - 75 06 80 CA 02 88 56 02 .|f;..W.u.....V. 0000B0 80 C3 10 73 ED BF 02 00 - 83 7E 16 00 75 45 8B 46 ...s.....~..uE.F 0000C0 1C 8B 56 1E B9 03 00 49 - 40 75 01 42 BB 00 7E E8 ..V....I@u.B..~. 0000D0 5F 00 73 26 B0 F8 4F 74 - 1D 8B 46 32 33 D2 B9 03 _.s...Ot..F23... 0000E0 00 3B C8 77 1E 8B 76 0E - 3B CE 73 17 2B F1 03 46 .;.w..v.;.s.+..F 0000F0 1C 13 56 1E EB D1 73 0B - EB 27 83 7E 2A 00 77 03 ..V...s..'.~*.w. 000100 E9 FD 02 BE 7E 7D AC 98 - 03 F0 AC 84 C0 74 17 3C ....~}.......t.. 000110 FF 74 09 B4 0E BB 07 00 - CD 10 EB EE BE 81 7D EB .t............}. 000120 E5 BE 7F 7D EB E0 98 CD - 16 5E 1F 66 8F 04 CD 19 ...}.....^.f.... 000130 41 56 66 6A 00 52 50 06 - 53 6A 01 6A 10 8B F4 60 AVfj.RP.Sj.j...` 000140 80 7E 02 0E 75 04 B4 42 - EB 1D 91 92 33 D2 F7 76 .~..u..B....3..v 000150 18 91 F7 76 18 42 87 CA - F7 76 1A 8A F2 8A E8 C0 ...v.B...v...... 000160 CC 02 0A CC B8 01 02 8A - 56 40 CD 13 61 8D 64 10 ........V@..a.d. 000170 5E 72 0A 40 75 01 42 03 - 5E 0B 49 75 B4 C3 03 18 ^r.@u.B.^.Iu.... 000180 01 27 0D 0A 49 6E 76 61 - 6C 69 64 20 73 79 73 74 .'..Invalid syst 000190 65 6D 20 64 69 73 6B FF - 0D 0A 44 69 73 6B 20 49 em disk...Disk I 0001A0 2F 4F 20 65 72 72 6F 72 - FF 0D 0A 52 65 70 6C 61 /O error...Repla 0001B0 63 65 20 74 68 65 20 64 - 69 73 6B 2C 20 61 6E 64 ce the disk, and 0001C0 20 74 68 65 6E 20 70 72 - 65 73 73 20 61 6E 79 20 then press any 0001D0 6B 65 79 0D 0A 00 00 00 - 49 4F 20 20 20 20 20 20 key.....IO 0001E0 53 59 53 4D 53 44 4F 53 - 20 20 20 53 59 53 7E 01 SYSMSDOS SYS~. 0001F0 00 57 49 4E 42 4F 4F 54 - 20 53 59 53 00 00 55 AA .WINBOOT SYS..U.
BIOS Parameter Block (BPB)
The BPB contains information about the physical parameters of the current volume. Some sources include the OEM ID as part of the BPB while most others do not. This document does not include the OEM ID in the BPB. The BPB in this document is for a FAT32 volume running Windows 95b (OSR2).
Overview of the BPB differences between FAT16 and FAT32
For FAT32, the Extended BPB has been moved to make room for a longer BPB. See the Microsoft articles in On Line References at the end of this page for more details on these differences.
FAT16 | FAT32 | Field Name | ||
Byte Offset | Field Offset | Byte Offset | Field Length | |
0x00 | 3 bytes | 0x00 | 3 bytes | Jump Instruction |
0x03 | 8 bytes | 0x03 | 8 bytes | OEM ID |
0x0B | 25 bytes | 0x0B | 53 bytes | BPB |
0x24 | 26 bytes | 0x40 | 26 bytes | Extended BPB |
0x3E | 448 bytes | 0x5A | 420 bytes | Bootstrap Code |
0x01FE | 2 bytes | 0x01FE | 2 bytes | End of Sector Marker |
OEM ID and corresponding OS’s
The following is a partial list of OEM ID’s and the corresponding DOS versions that were used to format the boot sector. The Windows OEM ID’s were obtained from Chapter 1 - Disk Concepts and Troubleshooting and a brief mention is made in the Microsoft KB article Q100092 MS-DOS 6 and 6.2 Boot-Sector Identification Tag Is “MSDOS5.0”. Obviously more than one source can produce the same OEM ID.