2011-08-08

USB_DOS: The (once) easiest way to create a DOS bootable USB stick on Windows

(Updated 2011.12.14: this guide is now obsolete and has been superseded. If you want to create an MS-DOS or FreeDOS bootable USB Flash Drive, please visit the Rufus page).

If you ever need to run a DOS utility (eg. to flash a BIOS or a firmware), and want to painlessly create a bootable DOS USB key from Windows, this is for you.

Courtesy of FreeDOS and the HP Bootable USB utility (HPUSBFW), the following archive contains everything you need to create a fully functional DOS bootable USB stick. Just extract the file below (using 7-zip if needed) and follow the instructions:

USB_DOS v1.0

Now, for some additional information, in case this may be of interest to you:
  • The HPUSBFW executable has been modified from the original to request elevation on Vista and later. If you remove the manifest you should find that it matches the official HP one.
  • The FreeDOS command.com and kernel.sys files come from the current version of FreeDOS (1.0). command.com has been patched to prevent it from requesting date and time input from the user at boottime. If you unpack command.com with upx, you should find that the only difference with official is a set of 4 NOPs (0x90).
    Oh, and yes I tried to recompile the latest FreeCOM from SVN, in a FreeDOS VMWare image, but it's been quite a struggle (hint: don't waste your time with OpenWatcom, use Borland Turbo C++ v2.01 instead) and the resulting command.com freezes after a few commands when used bare with kernel.sys, as is the case with HPUSBFW.

2 comments:

  1. I tried them all (the ones you mentioned, too such as WinToFlash, WinUsb, etc) and they do not work with many Windows XP Restore OEM disks (e.g. Gateway's XP SP2 OEM Restore disk), but yours works! Wow!
    Aside: minor bug in your program requires that the USB stick is removed after formatting, then re-inserted to perform ISO image burning on the stick. (In other words, it freezes if both Format and Create A Bootsbe Disk are checked)

    ReplyDelete
    Replies
    1. I wouldn't consider it a minor bug, as a freezout of an application is pretty major, and nobody else seems to have reported that issue so far.

      If you tried Rufus 1.2.0, can you please click the log button and let me know exactly where it freezes. If possible, you may also want to log an issue on github as it makes it easier for me to address it.

      Also, since I don't think I can access a Gateway XP2 image, are you able to reproduce the issue with other ISOs? If so, can you also provide more details about your machine (OS, etc.). Thanks.

      Delete