Copyright (c) 2000-2010 by Bart Lagerweij. All rights reserved.

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? [#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]

> What is MKBT?


[#what]

MKBT is used for installing bootsectors. It supports FAT, NTFS [/fixnt4/] and RAW bootsectors.

> Download


[#download]

To download MKBT use this link: MKBT v2.0 [/download.php?sFile=mkbt20.zip] (30KB)

> On what platforms can MKBT be run?


[#platforms]

MKBT is compiled as a win32 executable and runs on:

> What is the command line syntax?


[#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?


[#aboutmkbt]

Unique things about MKBT are:

> Are there any other bootsector installers?


[#others]

Yes, I've found one other bootsector installer, "bootable.exe" [http://alexfru.chat.ru/programming/bootprog.zip]written by Alexei A. Frounze [http://alexfru.chat.ru/eindex.html]. 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?


[#latestversion]

The latest version can be found on http://www.nu2.nu/mkbt/

> How to build a bootable floppy


[#build]

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:

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)


[#build288]

Use bfi - Build Floppy Image [/bfi/].

> How does MKBT work? (technical)


[#howitworks]

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
OffsetLength Meaning
0x03 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
OffsetLengthMeaning
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
OffsetLengthMeaning
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


[#install]

Below are the steps MKBT takes to install a bootsector:

Steps for bootsector installation
StepSource sectorBuffer 1Buffer 2Target 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)


[#copy]

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


[#changes]

Change log for MKBT [changes.txt]



Use information from this site elsewhere? Check our legal information page: http://www.nu2.nu/legal/
To contact the author look here: http://www.nu2.nu/contact/bart/

Copyright (c) 2000-2010 by Bart Lagerweij. All rights reserved.