Rufus - The bootable USB Formatting Utility

It is my very great pleasure to introduce Rufus (direct downloads here), my own GPL'd version of a bootable USB formatting utility (DOS + ISO).

If you have been using the old HP Utility to create DOS bootable USB, you can throw that old thing away! In a small executable, and with no requirement for an installer, Rufus offers you a much better and up to date interface, with better features, and a DOS creation that doesn't rely on external files. It can also create bootable USB from ISO images. Plus you will find welcome additional features, such as the ability to check your USB stick for bad blocks. Best of all, and as you have come to expect from this site, it is 100% Free Software.

Please make sure you check the official Rufus page, and stop looking further when you need a DOS bootable USB stick. Of course, Rufus is compatible with all versions of Windows starting with Windows XP and lets you use the always awesome FreeDOS alongside the rather old and not up to date Windows Millenium DOS.

Why are you doing this?

Well, the truth of the matter is that, after having used the HPUSBFW utility for some time, it turns out that I really can't stand proprietary software utilities (as well as Windows' glaring shortcomings), so I decided to create my own Open Source version of an equivalent tool. Also, the fact that the many people, who have taken a stab at creating their own DOS bootable USB formatting utility, decided to go closed source doesn't really help. Simple utilities should only be Open Source, period.

Some interesting technical details (or yet another annoying technical rant)

You'd think there wouldn't be much to formatting an USB flash drive for DOS on Windows, but you would be wrong. As I already explained, there's some reason why Windows doesn't do it natively. Also, you may be surprised to hear that Windows doesn't actually provide a public API to format a drive, and instead you have to hijack an undocumented one called FormatEx, and which can be found in fmifs.dll. Then you will find that FormatEx kind of destroys your partition table when you want to use LBA, so you need to fix it manually. There's also this whole business of allowed cluster sizes. And then there's all the usual traps, such as having the partition boot records needing to be patched on XP, because unlike Vista or later, it equates an USB Flash drive to a floppy, as well as Windows' somewhat mysterious handling of Physical Drives vs. Logical Volumes. One will let you access the MBR and the other one the Partition Boot Record, yet, you still need to hold a lock to the latter to be able to access its underlying sectors with the former. Straightforward, it is not.

If you are so inclined, you'll find Rufus' FormatThread() in format.c as a good starting point. Oh, and would be quite ungrateful if I didn't acknowledge other OSS projects, such as ms-sys (boot records handling) or e2fsprogs (bad blocks check) for providing some of the building blocks used by the utility, as well as the talented designers from PC-Unleashed for the Rufus icon.

Finally, for those interested, the acronym stands for "The Reliable USB Formatting Utility, with Source".



  1. Hi, thanks Pete
    What a great tool.
    By the way, I think you should see this:

    It is not fair cropping on purpose your work and selling it!!!

    All the best!

  2. Hello Pete ,
    Thanks for this superb tool.
    Usually, I'm building 2 DVDs for Win7: Unattended_Win7_DVD and Softwares_DVD.
    Once the bootable USB is done with my Unattended_Win7.iso and since I do not touch the \sources\install.wim and \sources\boot.wim files, it is possible to add, delete and replace files like Autounattend.xml; personal files inside \sources\$OEM$\*.* as well as adding a folder with my softwares?
    Best Regards

  3. Hi coukou,

    You should be able to do the above without problem. What applies to the setup process using an ISO should also apply for USB.

  4. It's not working. http://pictir.com/i/Pancakehiatt/fdsdfd.png

  5. If you have an issue, could you please log a report on github?
    Also, please be mindful that, for security reasons, Rufus will not list fixed USB drives by default, such as USB HDDs. Is that the type of device you've been trying to use?
    Finally, if you click the "log" button after plugging your device, you should see additional information, some of which might be able to tell you why your device was not recognized.

  6. I'm impresed by your product. thanks a lot.


  7. Wow... so easy to use and it worked first time! Thank you :)

  8. Hi,
    Can you give specific instructions on how to use this utility to make a usb flash drive to emulate a floppy drive. I am trying to load Windows Server 2003 on my server and I need to use F6 to load drivers for my scsi drives, but you can only use a floppy drive. My server don't even have a floppy drive. Thanks.

    1. @shelly - I think you would be better off using a Windows Server 2003 ISO image with Rufus, to create a Windows Server 2003 USB installation disk, and once you have that, you should add your drivers onto the USB and edit the setup files so that they are used during boot.
      There should be plenty of information around on how to add drivers once you have a bootable USB with a Windows image (try reboot.pro or at the very least a search in google), and it should make your installation process easier.

  9. The utility keeps failing. Says: Error: Could not open media. It may be in use by another process. Please re-plug the media and try again. The iso was downloaded directly from Digital River so it's an untouched version. The ISO is named X17-24395.iso. The DVD name is GRMCULXFRER_EN_DVD.

    Here is the log:
    WIM extraction method(s) supported: 7z, wimgapi.dll
    Caution: Opened PHYSICALDRIVE7 drive for write access
    Could not get exclusive access to \\.\#: [0x00000005] Access is denied.
    Found drive 'Generic- Compact Flash USB Device'
    Ignoring autorun.inf label for drive F: No media
    Found drive 'Generic- MS/MS-Pro USB Device'
    Ignoring autorun.inf label for drive I: No media
    Found drive 'Generic- SD/MMC USB Device'
    Ignoring autorun.inf label for drive H: No media
    Found drive 'Generic- SM/xD-Picture USB Device'
    Ignoring autorun.inf label for drive G: No media
    Found drive 'Kingston DT 101 G2 USB Device'
    5 devices found.
    Sector Size: 512 bytes
    Cylinders: 1897, TracksPerCylinder: 255, SectorsPerTrack: 63
    Partition type: MBR, NB Partitions: 1
    Disk ID: 0xC3072E18
    Partition 1:
    Type: FAT32 LBA (0x0c)
    Size: 14.5 GB (15602221056 bytes)
    Start Sector: 8064, Boot: Yes, Recognized: Yes

    Any suggestions on fixing?

    1. I'm working on it. See https://github.com/pbatard/rufus/issues/122
      Hopefully the next version of Rufus will avoid that issue.

  10. Well this is unusual. I used my 16gb thumb drive and rufus warned that all would be erased so, just to make yure, I opened the usb again and no files, then rufus could not see the usb drive and now windows 7 cannot either. I plugged the usb in to my CentOs box and up it came. I plugged the usb in to my friends Win7 box and up it came. I plugged it back in to mine and Win7 cannot see it. I did the exact same thing with my memorex usb (warning, opened to check, rufus couldn't see, Win7 couldn't see) so now I have to USB drives that cannot be used on my box. Any solution?

    1. I did start, run, diskpart
      DISKPART> list volume

      Volume ### Ltr Label Fs Type Size Status Info
      ---------- --- ----------- ----- ---------- ------- --------- --------
      Volume 0 E DVD-ROM 0 B No Media
      Volume 1 C System NTFS Partition 148 GB Healthy Boot
      Volume 2 NTFS Partition 300 MB Healthy System
      Volume 3 TRAVELDRIVE FAT32 Removable 3692 MB Healthy
      Volume 4 FREEDOS FAT32 Removable 7717 MB Healthy
      DISKPART> select volume 3

      Volume 3 is the selected volume.

      DISKPART> assign letter=f

      DiskPart successfully assigned the drive letter or mount point.

      DISKPART> select volume 4

      Volume 4 is the selected volume.

      DISKPART> assign letter=g

  11. http://www.smart-arab.com/2012/11/make-usb-storage-device-flash-removable-readonly/
    Please update Rufus with more abilities like making USB Bootable and Read Only for keeping data safe from viruses