Windows Deploy Kit

BootBuilder

Hand-writes a FAT32 image, then reads it back with code that shares nothing with the writer.

Free right now — no account, no card

Get BootBuilder free Windows & Mac · one file, nothing to install

Preview

1 interface design, then a screenshot of it running. Drag, scroll or use the arrows.

Interface design BootBuilder, 1 of 1
Screenshot BootBuilder running on Windows today

Free while we’re in preview

Get BootBuilder

Hand-writes a FAT32 image, then reads it back with code that shares nothing with the writer.

The Mac button is for Apple Silicon. On an older Intel Mac, get this one instead.

One file, both ways. Double-click it for the window. Run the same file from a command prompt with arguments and it behaves as the command-line tool, because the engine is inside it. Nothing else to download and nothing to keep beside it.

Early preview. The window has been built and run, but not yet on a real Windows PC or Mac, so expect rough edges. The engine underneath it is fully tested.

  • One file — no installer
  • Runs on your machine, offline
  • Source code published below

Free while in preview. It isn’t signed yet, so Windows or macOS will ask you to confirm the first time you open it. At launch, BootBuilder is included in every plan along with the rest of the range.

What actually gets written

Boot sector and BPB, FSInfo, two byte-identical FAT copies, real cluster chains, directory records with . and .., proper 8.3 short names generated by the real algorithm rather than a hash, VFAT long-name slots in descending ordinal order with OSTA checksums, and either an MBR or a full GPT with correct CRC32s. Sectors per cluster comes from Microsoft’s own DSKSZTOSECPERCLUS table.

plan computes the exact layout and the capacity check without writing a byte. build writes the image. inspect parses it back. verify walks image and source in parallel and compares every file by SHA-256.

The reader in fatread.go was written separately from the writer and shares no struct or offset table with it. Round-trip verification is only evidence when the two halves are independent.

Where it stops

It writes one regular file. There is no raw-device code path anywhere in the program, so pointing --out at /dev/sdb is an error rather than a disaster. Getting the image onto a stick is dd’s job, or Rufus’s.

No bootloader is installed. No BIOS boot. No file over 4 GiB, which rules out most install.wim. And no machine has ever been booted from one of these images.

Reading on the job itself

Advanced & technical details Command-line builds, source code, checksums and a recorded session — for developers and IT teams

A working command-line build of the image writer: it lays out and writes a real FAT32 filesystem from scratch — boot sector and BPB, FSInfo, two synchronised FATs, cluster chains, 8.3 short names with ~N collision tails and VFAT long-name slots with the right checksum in every slot — inside an MBR or a GPT with correct CRC32s. A separately written reader, sharing no code with the writer, reads the image back and hashes every file to prove the round trip. Verified here by fsck.fat, mtools and sgdisk. It writes an image file and has no code path that opens a raw device; it installs no bootloader, so a machine boots it only if your source tree already carries EFI/BOOT/BOOTX64.EFI.

Recorded session

Recorded terminal session showing BootBuilder running
A real recorded session — BootBuilder’s actual output, captured by running the shipped binary.

Naming status

Working name only — brand verdict **CAUTION** (Medium). Collision: BootBuilder. Prefer more distinctive naming for a commercial utility.

What it draws on

Existing paid software whose best ideas shaped this program: NTLite, WinToUSB Professional, EasyUEFI Professional, Macrium Reflect X.

Command line

There is nothing extra to install. The program you download is the command-line tool as well: give it arguments instead of double-clicking it and it runs as one, with its output on your terminal. The standalone builds below are the same engine on its own, for machines where you would rather not ship a window at all.

bootbuilder - writes a FAT32 image file from a directory tree (Techlosoft Deployment Media Center)

USAGE
  bootbuilder plan    --src <dir> --size 8GB [--scheme mbr|gpt] [--cluster-size 4096] [--json]
  bootbuilder build   --src <dir> --out usb.img --size 8GB [--scheme mbr|gpt] [--label NAME]
                 [--cluster-size 4096] [--force] [--json]
  bootbuilder inspect <image> [--json]
  bootbuilder verify  <image> --against <dir> [--json]
  bootbuilder help | -h | --help

COMMANDS
  plan      Report the exact layout that build would produce - cluster size,
            cluster count, FAT sectors, data start, slack and the capacity
            check - WITHOUT writing anything.
  build     Write the image FILE named by --out. A FAT32 filesystem is
            constructed from scratch and the contents of --src are placed in
            it, long names intact. Nothing outside --out is written.
  inspect   Parse an existing image back from bytes with the independent
            reader and dump geometry, partition table and directory listing.
  verify    Re-read an image and compare every file against a source tree,
            byte for byte, by SHA-256.

FLAGS
  --src <dir>          Source tree whose contents become the volume root.
  --out <file>         Image file to write. Refused if it exists without --force.
  --size <size>        Total image size: 8GB, 512MiB, 2TiB or raw bytes.
                       Suffixes are binary (1KB = 1024 B).
  --scheme mbr|gpt     Partition table. mbr = one 0x0C (FAT32 LBA) entry.
                       gpt = protective MBR + GPT with an EFI System Partition
                       entry, primary and backup headers. Default mbr.
  --label <name>       FAT volume label, up to 11 characters. Default BOOTBUILDER.
  --cluster-size <n>   Override the cluster size in bytes (512..65536, power of
                       two). By default it is chosen from the volume size using
                       Microsoft's own FAT32 table.
  --against <dir>      Source tree to verify an image against.
  --force              Allow overwriting an existing --out.
  --json               Machine-readable JSON output (plan, build, inspect, verify).

EXAMPLES
  bootbuilder plan  --src ./winpe --size 8GB
...

Recorded from the shipped binary, not written by hand.

Source

Every file the program is built from:

cmds.go · console.go · console_test.go · fat32.go · fatread.go · guided.go · layout.go · main.go · main_test.go · names.go · ptable.go

SHA-256 checksums · build instructions & scope notes · full build plan