Skip to content
daniel@cosenza:~/blog
FreeDOSHow-To September 12, 2025 3 min read

How to Create a Bootable FreeDOS USB for BIOS/Firmware Flashing

The single most common real-world reason to boot FreeDOS today: a complete walkthrough building a bootable USB stick to run a vendor's DOS-based firmware update tool.

Flashing a motherboard BIOS, a RAID controller’s firmware, or similar low-level hardware update is still, for a meaningful share of hardware vendors, done through a DOS executable — because DOS provides a minimal, driver-free environment that won’t interfere with a delicate flashing operation. This walks through building the bootable USB stick that makes this possible.

Step 1: get a small USB drive

Firmware flashing needs almost no space at all — a USB drive as small as 512MB is more than sufficient, since you’re only adding a minimal FreeDOS boot image plus one small flashing utility.

Step 2: get a FreeDOS bootable USB image

Download the FreeDOS “Lite USB” image from the official FreeDOS distribution page — a minimal image specifically intended for exactly this use case, rather than the full installer CD image.

Step 3: write the image to the USB drive

Using Rufus (Windows) or dd (Linux/macOS), write the FreeDOS image directly to the USB drive — this is a raw image write, not a simple file copy, since it needs to include the boot sector:

# macOS/Linux, replace /dev/diskN with your actual USB device
sudo dd if=FD13LITE.img of=/dev/diskN bs=1m

Double- and triple-check the target device identifier before running this — dd will silently overwrite whatever device you point it at, with no confirmation prompt.

On Windows, Rufus provides a guided interface for the same operation, selecting “FreeDOS” as a bootable option directly within its own UI.

Step 4: verify the USB boots correctly, before you need it

Boot a test machine (or a VM) from the freshly-written USB drive and confirm you reach a FreeDOS C:\> (or A:\>) prompt successfully — you want to discover any problem with the USB itself now, not in the middle of an actual firmware flash where an interruption could be far more consequential.

Step 5: download your specific firmware update file

Get the actual firmware/BIOS update file and its DOS-based flashing utility from your hardware vendor’s support site — these are typically distributed as a .zip or self-extracting archive containing the flasher executable and the firmware image itself.

Step 6: copy the flashing tool onto the same USB drive

With the FreeDOS USB drive connected to a regular computer (Windows/macOS/Linux can all read its FAT filesystem directly), copy the vendor’s flashing utility and firmware file onto it:

cp AFUDOS.EXE BIOS_v2.14.ROM /Volumes/FREEDOS/

Step 7: boot the target machine from the USB

Restart the machine you’re actually updating, and boot from the USB drive via its boot menu (commonly F12, F11, Esc, or Del at startup, depending on the manufacturer).

Step 8: run the flashing utility from the FreeDOS prompt

C:\>AFUDOS.EXE BIOS_V214.ROM /P /B /N

The exact command-line flags vary significantly by vendor and tool — consult your specific hardware vendor’s instructions for the exact flags required, since flags controlling verification, backup, and boot-block handling differ meaningfully between tools and genuinely matter for a safe flash.

Step 9: do not interrupt the flash under any circumstances

Once a firmware flash begins, do not power off, reset, or disconnect anything until the tool explicitly reports completion — an interrupted firmware flash can leave the affected hardware unbootable, sometimes unrecoverably without specialized hardware recovery tools.

Step 10: confirm success and reboot normally

Once the tool reports successful completion, remove the USB drive and reboot the machine normally, confirming the new firmware version is reported correctly (via BIOS setup, or the vendor’s own version-check utility).

Why FreeDOS specifically, for this use case

This is the single most common practical reason people boot FreeDOS on real hardware today — not nostalgia, but because vendor flashing tools written decades ago for MS-DOS still work unmodified on FreeDOS’s compatible API, and DOS’s minimal, driver-free environment avoids any risk of a modern OS’s background processes or drivers interfering with a low-level flash operation mid-write.