| - What is MKBT? [#what] - Download [#download] - On what platforms can MKBT be run? [#platforms] - What is the command line syntax? [#syntax] - What is so unique about MKBT? [#aboutmkbt] - Are there any other bootsector installers? [#others] - Where can I find the latest version? [#latestversion] - How to build a bootable floppy [#build] - How to build a bootable 2.88MB floppy image file (without the drive) [#build288] - How does MKBT work? (technical) [#howitworks] - Bootsector installation [#install] - Bootsector copy (-c) [#copy] - Change log [#changes] |
| MKBT usage |
|---|
Usage:
mkbt [switches] <source> <target>
<source> The source file/drive which contains the bootsector to install
<target> The target file/drive to install the bootsector on
Switches: -v Verbose mode
-c Copy mode (no install) used for copying the
bootsector(s)
-x Expert mode (do not check drive A or B only)
USE WITH CAUTION!
-l=<xxx> Set Volume Label to <xxx>
Returns errorlevel 0 when OK, 1 when some error occurred.
Examples:
To install bootsector from file "bootsect.bin" onto drive A:
-> mkbt c:\os\dos622\bootsect.bin a:
To install bootsector from file "bootsect.bin" onto floppy image "288.img"
-> mkbt c:\os\dos622\bootsect.bin c:\tmp\288.img
To copy bootsector from a bootable floppy in drive A: to a file called
"bootsect.bin"
-> mkbt -c a: c:\os\dos622\bootsect.bin
|
| FAT Boot sector | ||
|---|---|---|
| Offset | Length | Meaning |
| 0x0 | 3 bytes | Jump instruction |
| 0x3 | 8 bytes | OEM Name |
| 0xB | 25 bytes | BIOS parameter block |
| 0x24 | 26 bytes | Extended BIOS parameter block |
| 0x3E | 448 bytes | Bootstrap code |
| 0x1FE | 2 bytes | End of sector marker |
| BIOS parameter block for FAT volumes | ||
|---|---|---|
| Offset | Length | Meaning |
| 0xB | 2 bytes | Bytes per sector |
| 0xD | 1 byte | Sectors per cluster |
| 0x0E | 2 bytes | Reserved sectors |
| 0x10 | 1 byte | Number of FATs |
| 0x11 | 2 bytes | Root entries |
| 0x13 | 2 bytes | Small sectors |
| 0x15 | 1 byte | Media type |
| 0x16 | 2 bytes | Sectors per FAT |
| 0x18 | 2 bytes | Sectors per track |
| 0x1A | 2 bytes | Number of heads |
| 0x1C | 4 bytes | Hidden sectors |
| 0x20 | 4 bytes | Large sectors |
| Extended BIOS parameter block for FAT volumes | ||
|---|---|---|
| Offset | Length | Meaning |
| 0x24 | 1 byte | Physical disk number |
| 0x25 | 1 byte | Dos: Current head NT: Dirty flag |
| 0x26 | 1 byte | Signature |
| 0x27 | 4 bytes | Volume serial number |
| 0x2B | 11 bytes | Volume label |
| 0x36 | 8 bytes | Filesystem ID |
| Steps for bootsector installation | ||||
|---|---|---|---|---|
| Step | Source sector | Buffer 1 | Buffer 2 | Target sector |
| 1. | Read source sector in buffer 1 | |||
| 2. | Read target sector in buffer 2 | |||
| 3. | Transfer bootsector parts from buffer 1 to buffer 2 | |||
| 4. | Write buffer 2 to target sector | |||