2011-12-14

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).

https://rufus.ie


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".

Enjoy!

IMPORTANT NOTE: If you want support, please use the Github issue tracker. Any requests for support in the comments will be left unanswered.

32 comments:

  1. Hi, thanks Pete
    What a great tool.
    By the way, I think you should see this:
    http://www.bootdisk.com/art/penboot.jpg

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

    All the best!

    ReplyDelete
  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

    ReplyDelete
  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.

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

    ReplyDelete
  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.

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

    ReplyDelete
  7. 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.

    ReplyDelete
    Replies
    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.

      Delete
  8. 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?

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

      Delete
  9. 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?

    ReplyDelete
    Replies
    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

      Delete
  10. 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

    ReplyDelete
  11. I'm trying to use Rufus 1.4.7.445 for the first time to create a bootable Windows 7 SP1 repair drive. I can't get it to work as always returns the following: "Error: Could not open media. It may be in use by another process. Please re-plug the media and try again."

    I'm following the instructions at: http://www.eightforums.com/tutorials/15458-uefi-bootable-usb-flash-drive-create-windows.html

    I am using a brand new Lexar 32GB USB drive. Re-plugging does nothing. I have no problems copying other files to or from that drive. I have tried running Rufus as administrator. Just keep getting the same result.

    Here is the log:

    WIM extraction method(s) supported: 7z, wimgapi.dll

    Format operation started
    Requesting disk access...
    Caution: Opened drive \\.\PHYSICALDRIVE2 for write access
    Will use 'E:' as volume mountpoint
    I/O boundary checks disabled
    Could not get exclusive access to device \\?\Volume{55019ef1-dca9-11e3-aee4-f73a866f725d}: [0x00000005] Access is denied.
    Could not lock volume
    Re-mounted volume as 'E:' after error

    Found USB device 'Lexar USB Flash Drive USB Device' (05DC:C75C)
    1 device found
    Disk type: Removable, Sector Size: 512 bytes
    Cylinders: 3892, TracksPerCylinder: 255, SectorsPerTrack: 63
    Partition type: MBR, NB Partitions: 1
    Disk ID: 0x593F205D
    Drive has an unknown Master Boot Record
    Partition 1:
    Type: FAT32 (0x0b)
    Size: 29.8 GB (32018219008 bytes)
    Start Sector: 2144, Boot: No, Recognized: Yes
    Found USB device 'Lexar USB Flash Drive USB Device' (05DC:C75C)
    1 device found
    Disk type: Removable, Sector Size: 512 bytes
    Cylinders: 3892, TracksPerCylinder: 255, SectorsPerTrack: 63
    Partition type: MBR, NB Partitions: 1
    Disk ID: 0x593F205D
    Drive has an unknown Master Boot Record
    Partition 1:
    Type: FAT32 (0x0b)
    Size: 29.8 GB (32018219008 bytes)
    Start Sector: 2144, Boot: No, Recognized: Yes


    Any idea what the problem is?

    ReplyDelete
    Replies
    1. Something must be messed up on the PC I'm using. I tried a co-worker's PC (identical hardware & software configuration) and it's working on the second PC. Probably why I needed to make a repair drive. Something must be messed up on my main PC, but it's operating pretty much normally other than a problem with Windows Update (windows store is corrupted).

      Delete
  12. Hi Pete !
    I write to you here to give thanks about that great app. Rufus is simply perfect and works great.
    I hope you will have enough time and I hope you will also want to stay making open software like this.
    Best regards
    @Josemicoronil

    ReplyDelete
  13. I click start and I get: "Undetermined error while formatting"
    What now? :(

    ReplyDelete
    Replies
    1. The *proper* place to report issues with Rufus is the github tracker (the URL of which features very prominently in the "About" dialog). I only check comments on this blog very infrequently.

      Also, don't forget to please provide the complete log when you do so. I can't guess what your issue is, so without a complete log, I have ABSOLUTELY NO IDEA how to help you!

      Thanks.

      Delete
  14. Hello, Pete! I am not a developer but and "end-user"...a script kiddie so to speak. I don't know how to email you directly, but I would - to thank you for the time and brains you have put into this slick little utility. It has saved me no end of grief, as I've been asked to restore a notebook with no optical drive.

    I (and a whole shitload or unspoken users) REALLY APPRECIATE you putting this prog in the public domain. A thousand thanks.

    ReplyDelete
    Replies
    1. Thanks for the kind words. For what is worth, my e-mail features fairly prominently both in the about dialog of the application and on the homepage...

      Delete
  15. hi pete

    i have a

    vaio pro 13 ---> usb 3.0, no disc unit, gpt partition

    and i don't want loose the win 8.1 and the recovery partitions, but i have to install win 7

    so i'd be trying to install with rufus but i have the usb 3.0 win 7 compatibility problem, so i think if i install the gpt win 7 with rufus in a microsd with usb adapter and after that i put the microsd in the sdxc adapter maybe can works?

    what can i do??

    thanks, sorry my english xD

    ReplyDelete
  16. Pete: Quiero felicitarte por tu programa Rufus, es excelente! Al respecto, te pregunto: ¿Para cuándo habrá una versión para Linux? Creo que una versión para Debian/Ubuntu y derivados es absolutamente necesaria. Espero nos tengas noticias sobre una versión de Rufus para Linux MUY PRONTO!
    Una vez más, gracias por el desarrollo de este programa y su distribución como Open Source!

    ReplyDelete
    Replies
    1. https://github.com/pbatard/rufus/wiki/FAQ#Do_you_plan_to_port_Rufus_to_LinuxOS_XSome_other_OS

      I wish I could, but I don't see that happening unless I can quit my day job and start working on Rufus full time.

      Delete
  17. IMPORTANT NOTIFICATION: Editing partitions are hazardous and can delete all your data without the possibility to recover the data. Please make sure you a, completely know what you are doing b, realize it is your responsibility and no one else. Back up of critical data is always essential, in any case, in my opinion.

    Hello Pete, thanks for a great software! It is really great!
    I got the "Device is in use" - error, described and discussed in other forums.

    Well, I tried terminate every process in Windows (7) that could be terminated and other possible fixes. Nothing worked.

    FYI: The only thing that fixed my problem was to delete the partition one the USB-stick and then format the USB-stick while using a ISO-file to make a bootable USB-stick in Rufus.
    Clearly I made sure as h**l that it was the USB stick´s partition I deleted and no other unit´s what so ever :)
    (MiniTool Partition Wizard Free Edition used).

    Anyway, it worked after this and just wanted to share my solution to anyone who would be interested. I have no idea what initiated the problem.


    With best regards!
    M

    ReplyDelete
  18. Great tool indeed. And thanks for making it Open source. Simple utilities should only be Open Source, period. I agree with you and Great job!!

    ReplyDelete
  19. I have a problem with Rufus.

    It refuses to "burn" a Windows XP x64 ISO on my USB stick, it says that it's not a valid Windows ISO file.
    WinSetupFromUSB works just fine, I don't know why Rufus fails.

    ReplyDelete
  20. Great work Man! I read your FAQ page... Inspirational.

    Great customization.
    I am using this utility frequently and I am sure that there are millions other.

    Keep it up and all the best!!!

    ReplyDelete
  21. Hello, Pete.

    Thank you for great tool. It did impossible. I have old PC and optical drives are dead there. I tried thousand ways to boot it from USB stick with no luck. Recently I've figured out about Rufus and it helped. I'm happy but there is one thing. I'm Linux user and have rare access to Windows machine. I guess "Add fixes for old BIOS" did the trick. Can you please tell what magic does that option, so I can repeat it on Linux? Or maybe you know Linux tool that has same feature.

    Thank you,
    Artur

    ReplyDelete
  22. Rufus is quite spiffy, and I use it when I need what it does. Thanks for building it.

    I did want, though, to try to explain why people (where, by people, I mean me) sometimes prefer the multiboot approach to the "burn it when you need it" approach.

    It has largely to do with *when I have free time and computers*.

    If I'm on a jobsite, working on a machine, and I need a tool, that's not when I have the time to haul out a laptop and flash a drive to get to the tool. I'm perfectly happy, though, to spend those hours banging on something on a free weekend, as an investment to make it possible for me to just whip this out, and pick the right tool off a menu.

    That doesn't mean that I think Rufus needs to be able to do that work, just that that work isn't, IMHO, inherently unuseful.

    As to whether one builds such a drive with a packaged tool, my experience is that getting things to play well together is pretty heavy wizardry, and even though I'm a 30-year SA, I have little trouble ceding that labor to a specialist, and using something like YUMI, that is his output.

    Will it always work? Of course not. But your discussion of it in Rufus' FAQ seemed unnecessarily disparaging, and I wanted to provide a more detailed alternative view. And, for the record, your FAQ is *everything* a FAQ should be -- most importantly including "all on one page without stupid widgets". :-)

    These are all tools for relocating labor from one time and place to another, and each has different tradeoffs. :-)

    ReplyDelete
  23. Thanks a lot for ;rufus; its the first and only software i have used and will always use for bootable pendrive.

    ReplyDelete