MKBT, Make Bootable
Create any boot- floppy/image from any win32 platform with any media size...
Version 2.0
Last updated on Jan 7, 2003
What is MKBT?
MKBT is used for installing bootsectors. It supports FAT,
NTFS and RAW
bootsectors.
Download
To download MKBT use this link:
MKBT v2.0 (30KB)
On what platforms can MKBT be run?
MKBT is compiled as a win32 executable and runs on:
- Windows 95/98/ME (FAT)
- Windows NT4/2000/XP (FAT and NTFS)
What is the command line syntax?
| 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
|
What is so unique about MKBT?
Unique things about MKBT are:
- It supports transferring a bootsector to floppy images. This allows you
to create a bootable 2.88MB floppy image without needing a 2.88MB floppy
drive. See How to build a bootable floppy image file
- It is a win32 executable (not Dos)
Are there any other bootsector installers?
Yes, I've found one other bootsector installer,
"bootable.exe"written by
Alexei A. Frounze. It is a Dos executable and only supports transferring a bootsector from
file to floppy drive (A: or B:).
Where can I find the latest version?
The latest version can be found on
http://www.nu2.nu/mkbt/
How to build a bootable floppy
You can use any Dos version, any Dos supported floppy disk size to build your
bootable floppy. For each Dos version you must have the following 4 boot
files:
- The bootsector in a file called "bootsect.bin"
You can capture the bootsector to a file using: mkbt -c a: bootsect.bin
- IO.SYS (or IBMBIO.COM for Novell Dos)
- MSDOS.SYS (or IBMDOS.COM for Novell Dos)
- COMMAND.COM
For this example we will use MS-Windows 98 (version 4.10.1998), therefor
we put the files in a folder called "4101998". They must have
"normal" attributes (not hidden/system/readonly!).
You can now use makeboot.bat (which is include with the MKBT download zipfile).
makeboot.bat takes one parameter, that is the directory where the Dos bootfiles can be found.
Example:
makeboot c:\os\4101998
or when your in the "c:\os" folder, just
makeboot 4101998
How to build a bootable 2.88MB floppy image file (without the drive)
Use
bfi - Build Floppy Image.
How does MKBT work? (technical)
MKBT copies parts of the bootsector. The bootsector, the very first sector
of a floppy disk, is 512 bytes long and looks like this:
| 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 |
The BIOS parameter block and extended BIOS parameter block contains the
information:
| 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 |
Bootsector installation
Below are the steps MKBT takes to install a bootsector:
| 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 |
Bootsector copy (-c)
MKBT v1.3 (and higher) copy bootsector option copies the
complete bootsector!
(previous versions only copied those sections that where needed to install it)
Change log
Change log for MKBT