Pete Batard edited this page Sep 14, 2018 · 566 revisions

Table of Contents

General

Who are you? Who or what is Akeo?

I'm an unaffiliated Software Developer who is also a Free Software enthusiast and a contributor to various Open Source projects.
Akeo is the name of my company, but it's really just a one-man operation that I conduct in my spare time, so please don't expect it to have the same level of resources as Microsoft, Google or Apple when it comes to development and support...
Oh, and incidentally, Akeo is the name of a small lough that's only visible from the top of Muckish, but you don't really care about that, do you?...

Why isn't Rufus development faster?

A few reasons:

  1. I have a regular 9 to 5 job, in a company other than Akeo, so all of my public software development activities have to occur in my limited spare time.
  2. Rufus is only one of the many Open Source projects in which I try to participate.
  3. Because of its popularity, I do spend quite a lot of time having to answer e-mail queries or looking after the issue tracker. This takes time away from development.

Why did you create Rufus?

Mostly because I found that I really can't stand proprietary software and grew tired of seeing everybody use the trusted, yet old and limited HPUSBFW formatting utility. Reverse Engineering that tool to create a Free Software clone seemed like an interesting challenge, so I just went for it. For additional background info, see here.

Why don't you sell Rufus?

Let me ask you this then: Would you pay $0.99/€0.99 for a utility that simply creates bootable USBs?
Or would you just pick one of the many free alternatives?

Heck, even I would not pay $0.99/€0.99 for this, despite being accurately aware of the cost associated with its development.

So, even if I could try to cash in on the success of Rufus, I see it better to try to benefit millions of users, by providing a free application, instead of just a few thousands with a paid one.

Besides, with the code being Free Software (which is a very deliberate choice as Rufus would not be as good as it is if it was closed source, due to its ability to leverage the great work of others!), anybody could recompile and distribute the same version free of charge.

Why can't you just add the feature I want?

Also known as: "I mean, you're a developer — it shouldn't be that hard!"

Well, there's no good way to answer that question without sounding like a condescending #"£$%, so I'll be brutally honest:

  1. As I already pointed out, I don't get paid for developing Rufus.
    So any time I invest in developing Rufus is time that costs me and that I have to compensate from another source. Therefore, since I can't spend my days on it, I have to prioritize the features and fixes that are likely to benefit the larger number of people.
    As such if the issue is that you can't boot on your specific machine (whereas everybody else's machine seems to be fine) or you are using an obscure ISO image, or want to solve a problem that is specific to your usage, or are experiencing a specific issue under conditions that very few other people are expected to meet, or want a feature that, when everything is weighted in (rather than your own partial view that "Of course, everybody will want that!"), is not going to benefit that many users after all, I am likely push your request to the bottom of the list of what I am planning to work on next, if at all.
    Also, and this is important, please realize that it's not because you want to perform an operation that is vaguely related to what Rufus does, that you should ask for Rufus to do it. The scope of Rufus is to create bootable USB drives, and that's about it. Anything else, such as duplicating what diskpart, or benchmarking, or supporting specific non widely used software, or what other utilities do, is out of scope.
  2. This is just rephrasing of one of the point already made above, but I'm afraid this needs to be be stressed out: A LOT of the requests I receive for Rufus could actually be qualified as fairly selfish. In other words they are only being requested because someone "happened to get into this specific situation once, where it would have been great if Rufus could do X" or "thought it would be nice if Rufus could do X" whereas the same is not to be expected for a large enough number of Rufus users (which is the only thing that matters when deciding if a feature should be added to Rufus or not). One of the crucial steps, that people seem to miss when requesting a feature, is ask themselves the following crucial questions:
    1. How many people will actually be in a situation where the feature I request would be useful, especially moving forward (i.e. considering that users are constantly moving to up to date hardware, newer versions of OSes, larger USB flash drives and so on)?
    2. How useful would actually that feature be then? Would it be a must have (i.e. users will actually be impaired if they try to carry their operation without it) or just a nice to have or cosmetic enhancement?
  3. Rufus is NOT designed as a Sysadmin/Power User friendly application. Instead, it is designed for people to perform a one time installation of an OS on a single target system using a single drive. Therefore, I have very little interest in adding features that deviate from that goal because it would introduce major issues, such as code maintainability, testing, support, etc. And while it is true that you may still find some advanced features here and there, those are usually hidden as cheat modes, and barely any of these stemmed from wanting to solve a specific user request...
  4. I can't stress that one enough: Developing isn't just about adding code!
    To give you an idea, I estimate that, right now, I spend more than 33% of my allocated "development" time on non code related activities, such as answering e-mails about existing code features, regression testing, to make sure that a feature hasn't been broken between revisions, and so on.
    I will actually give you Pete's rule on that subject: In the lifetime of an Open Source project, only 10 percent of the time spent adding a feature will be spent coding it. The other 90 percent will be spent in support of that feature. Therefore, if you don't plan spending a lot more time supporting a feature than what what you plan adding the code for it, you shouldn't add the feature in the first place!
    What this all means is, whenever you ask me to add a feature or fix an issue that only you seem to be experiencing, I will try to estimate how much time it would cost to support it outside of the immediate code change, and depending on the outcome of that estimation, the odds of the change being "quick and easy" may not actually be as much in your favour as you think they are...
  5. Developing is hard, and even outside of supporting a feature, adding the code takes much longer than you think!
    What this means is that even your "How hard can it be to add <insert seemingly elementary feature here> to the app?" might actually require days of hard work, just to code the feature... and a lifetime supporting its users. This is especially true if it's anything that requires the UI to be altered.

Of course, with all this being said, remember that Rufus is 100% Open Source. So if you really want a feature, you can try to find a sympathetic programmer (or even better, develop your own programming skills) to modify the code and then submit a patch for review.

How many people use Rufus?

As of 2018.01.01, Rufus gets downloaded more than 3 million times each month (!).

All in all, I estimate that, ever since Rufus was first released in 2012 it has been used by more than 100 million people, and counting...

Existing Features

What is the difference between the portable and the regular version?

First of all, I think I need to define what portability is, because a lot of people (including Wikipedia) use a wrong definition, and completely miss the point of what a portable application is really about.

A portable application is an application which gives you the ability to carry and preserve your settings when moving from one computer to the next.

That's it. That's all a portable application does.

Thus, if you are expecting that portability implies anything about NOT writing into the registry on Windows, or not coming with an installer, you are very mistaken. Most of the time, being portable means that the application will write its settings to a text file (such as a .ini file on Windows) that you can carry around with the software, as you move from one computer to another, instead of the registry, and this may be the reason why many people confuse "portable" with "not writing to the registry, ever" on Windows, but there really is no promise being made from a bona fide portable application that it will leave the registry untouched.

And so, with this having been clarified, I can explain that the regular version of Rufus already qualifies as a portable application because, if you happen to have a rufus.ini in the same directory as your Rufus executable (even if it's an empty file), then Rufus will read and write its settings, such as the language you want to run the application into, or the other options that get preserved between sessions, into that file, and should you copy both your rufus.ini and the Rufus executable to another computer, you will see that your settings have been preserved from the previous computer, hence "portable". And at this stage, I also have to stress out that, even when Rufus runs in portable mode, your registry will be modified, since this is NOT what portability is about.

Then, why provide a portable version at all, you say? Well, this brings us to the ONLY difference the "portable" version of Rufus has with the "regular" one, which is that the "portable" version will create a rufus.ini by default (so that you don't have to do it yourself, if you want to use Rufus in portable mode), whereas the regular version doesn't. That's really all there is to it!

This is also the reason why when Rufus downloads an update, it always picks the "regular" version, even if the version you were running was the "portable" one, as you would already have a rufus.ini, therefore, the new "regular" version that is downloaded will continue to run in portable mode.

Now, if you're still confused about what the above means, then you should probably just use the standard version of Rufus. Portability is really ONLY for people who need to work with an application on multiple computers, and want to have their settings preserved as they do so. If that doesn't apply to you, then you should download the regular version.

You may also want to read the following entry: How comes the portable and regular versions are binary identical?

What languages are natively supported by Rufus?

The table below lists the languages that are natively supported by Rufus.

The decision to include a specific language followed what I (and others) consider to be the 35 or so most prevalent languages, and at this stage, there are no plans to provide any other translations (for more on this, see below).

I can only express my sincerest thanks to all the people who contributed to these translations!

Arabic Azerbaijani (Latin) Bulgarian Chinese (Simplified) Chinese (Traditional)
Croatian Czech Danish Dutch English
Finnish French German Greek Hebrew
Hungarian Indonesian Italian Japanese Korean
Latvian Lithuanian Malay Norwegian Persian
Polish Portuguese (Brazil) Portuguese (Portugal) Romanian Russian
Serbian (Latin) Slovak Slovenian Spanish Swedish
Thai Turkish Ukrainian Vietnamese

What about the languages that aren't listed above?

While I originally planned to support languages that aren't listed above through downloadable additional 'loc' files, due to the need of keeping translations up to date, as well as the time and effort this maintenance effectively requires, I have decided that multiplying language support beyond the ones above wasn't in the best interest of anybody (as it would take precious time away from fixing issues or adding new features).

Now, this doesn't mean that you can not create and provide your own 'rufus.loc', for additional languages, as Rufus will happily use any 'rufus.loc' file that resides in the same directory as the application, to provide additional translations. Just that, if you do, you will have to handle the distribution and support of these unofficial files yourself.

Why aren't log messages translated?

The log's prime purpose is to help me, the developer, troubleshoot the application when users encounter an issue. And to be able to do that, I need to be able to understand what appears in it.

Therefore, I very much want all of the log messages to be in English always. Otherwise, I won't be able to help users who don't use Rufus in English!

If you are an advanced user, you can of course use the log to find additional information with regards to what Rufus is doing, but, because this is not targeted at regular users, this data is not meant to be localized and you will be expected to understand English if you want to use the log.

How comes the portable and regular versions are binary identical?

That's because the way Rufus detects whether it should run in portable or regular mode is by checking the file name of the executable. The way it works is like this: if the file name contains the letter p, then the code will run in portable mode. And if there is no p, then regular mode is used. As a matter of fact, on the web server, the download for the portable version is just a symbolic link to the regular version, with a p added to the name, so of course the binaries will always be identical.

But there's nothing fancy or mysterious about this method - software like Busybox has been doing this for years and you shouldn't freak out, or tell me that there an issue with the downloads, on account that the size and content of the portable and regular version of Rufus are exactly the same. There exists many ways to make the exact same executable behave in a completely different manners, through external factors, such as its file name...

How do I create a VHD drive to use with Rufus?

Since version 1.4.7, Rufus can be used with Microsoft Virtual Hard Drives (VHD or VHDX). What you do with a VHD is really up to you (I am not going to provide any advice on that), but, since I sometime ask people encountering an issue to also test with a VHD, here is how you can create one to use with Rufus, provided that you are using Windows 7 or later:

  • Open Computer Management, by going to Control PanelAdministrative Tools. Note that if you don't see Administrative Tools in Control Panel, you may first have to click on the System and Security category.
  • In Computer Management, click on Disk Management in the left column (under Storage), and wait for Windows to populate information about the disks.
  • Click on a disk (1) and then right click on Disk Management (2). You should now be able to select Create VHD in the menu. Note that until you select a disk on the right hand side, you will not see the Create VHD option.
  • Create the VHD by:
  1. Typing the path for the location where you want Windows to create the VHD file. Or you can use the Browse button. The file does not need to exist - it will be created by Windows.
  2. Selecting the size of the virtual disk you want Windows to create
  3. (Optional) Telling Windows to expand the size dynamically. Or you can use a fixed size, but in this case, Windows will need to allocate the size you specified on step 2 right away, meaning that if you chose to create a 8 GB VHD, Windows will allocate 8 GB of disk space for it, even if there isn't any data in the VHD.
  • Once you have completed the above, Windows will display the VHD as if it was a real disk, in Disk Manager.
  • The VHD will also now be available in Rufus.

Note that a VHD will not be unmounted on reboot. If you want to remount it after a reboot, you can follow the same steps as above, making sure to point to your existing .vhd file. Also, if you want unmount a VHD without having to reboot, you should right click on the VHD disk in Disk Manager, and select Detach VHD.

Blah UEFI Blah FAT32, therefore Rufus should Blah!

Okay, let's just start by getting this out of the way:

WHAT YOU HAVE READ ON THE INTERNET IS WRONG.

NO, UEFI does NOT force the use of FAT32 for boot. As a matter of fact, you can just go out there and buy an intel NUC PC, and you'll find that it'll boot an NTFS drive, in pure UEFI mode, just fine, with no need whatsoever for a FAT32 partition to exist anywhere. And this is not in any way because the intel NUC UEFI firmware deviates from UEFI the specs. On the contrary, since it comes from intel, you bet that it is as compliant with the UEFI specs as can be.

So please let this be 100% clear: Despite what you might have heard, it is perfectly possible for an UEFI computer to boot from an NTFS drive, or from any other file system for that matter, because there is literally nothing in the specs that actually mandates the use of FAT32 for boot.

Now, the confusion/misinterpretation seems to come from the fact that, what the UEFI spec does mandate, is that, at the very least, an UEFI system should be able to boot from FAT32. But by no means does it state that FAT32 is the only file system that UEFI can, or even "should", boot from.

So, to make this abundantly clear, please do not misinterpret something that says “a wheeled vehicle SHOULD AT LEAST have one wheel” to mean “a wheeled vehicle CAN ONLY have one wheel”, as you'd then restrict the category of wheeled vehicles to only unicycles, which is just as wrong as saying that UEFI can/should only boot from FAT32.

Especially, it is exceedingly easy to make any UEFI firmware boot from a non-FAT32 file system: all you have to do is provide an UEFI driver for that file system, and you're good to go.

Therefore, with this being said, and if you had actually bothered to try, instead of relying on erroneous statements from the internet, you would have found out that:

  1. Rufus does support booting from NTFS, in pure UEFI mode, through its UEFI:NTFS feature.
  2. There's nothing in the way Rufus enables UEFI boot from NTFS that is even remotely non-compliant of "hackish" with regards to the UEFI specs (For instance Microsoft does something quite similar when they switch boot from the FAT32 EFI System Partition to the Windows NTFS partition).
  3. The above does allow to boot images that contain files larger than 4 GB
  4. You should trust Rufus when it allows you to select a specific file system, even in GPT for UEFI mode

Now, the only thing you may find is that you may have to temporarily disable Secure Boot to be able to boot from NTFS. And since I also expect a lot of people to irrationally scream at the idea of temporarily disabling Secure Boot, let me also give you a refresher on what Secure Boot is really about, and why your impression that temporarily disabling Secure Boot is not an option, is about as wrong as your earlier thinking that UEFI could not boot anything but FAT32:

All Secure Boot does is establish trust, by verifying that the boot files have not been altered from the version that was created by the makers of the OS, and it does so through the process of using digital signatures to validate hash of the files.

Well, guess what; even if you have Secure Boot disabled, the exact same process can still apply because:

  1. Rufus is digitally signed, and therefore validated with about the same level of trust as a Secure Boot executable would be (and if you want to dispute that statement, may I invite you to read the Security page?)
  2. If you produced the OS installation image yourself, through official sources, or, if it's a retail ISO, validated its checksum against the one provided on the OS manufacturer's page, then you have also confirmed that the UEFI boot files you are going to launch are not malicious (which actually makes Secure Boot superfluous).

Therefore, even with Secure Boot disabled, you can actually have some good level of trust that the boot files you are going to run are not going to do anything malicious, which is all Secure Boot is about. Secure Boot's only purpose is to provide some level of "safety" if you have reasons not to trust the media you are about to boot. But if you are able to establish a sufficient level of trust from elsewhere, then Secure Boot is entirely superfluous.

And again, since it's only a temporary measure, once you have started installing your OS, you can re-enable Secure Boot.

Planned Features

Do you plan to add multiboot support?

No.

If you need the ability to run multiple ISOs or bootable entities from the same flash drive, then what you really want is to perform custom sysadmin operations, and this rapidly becomes a pain to properly automate, because there are tons of incompatible boot methods, and because no two people ever want the same thing from such automation. Thus, if you want to use your flash drive in a sysadmin manner, I would advise you to first acquire the sysadmin skills you need, so that you don't need an automated tool to be able to setup a multiboot drive exactly as you want it.

If, on the other hand, you think you need a utility to setup multiboot for you, then I would have to say that you're probably better off keeping away from trying your hand at sysadmin stuff, and simply stick to a single boot USB drive instead, switching/recreating that drive as needed.

Then again, if you really insist on using Rufus as base for multiboot, you might be interested in this tutorial from our friends at RMPrepUSB... or you might as well use RMPrepUSB, or Easy2Boot or YUMI) altogether, as it's probably what you're really looking for.

Alternatively, you can do what the multiboot pros (actual sysadmins) do, and invest in a hardware device that is dedicated for multiboot support such as an IODD drive. This is because a hardware solution is the ONLY GUARANTEED way to ensure that multiple ISOs from a single drive can boot as intended. The reason why a hardware solution is needed is that, due to the contradictions of incompatible boot loaders and ISO → USB conversion, the only solution that works reliably is to present the USB device as a virtual CD or DVD ROM, and then present the selected ISO image as a CD or DVD disc mounted in the virtual device. But of course, any software solution that tries to do that after the USB has already booted as an HDD drive (which cannot be avoided) does have to make major compromises to try to pretend that your multiboot image was actually booted as a CD or DVD. However, since the BIOS or UEFI firmware knows full well that that wasn't the case, a software solution can NEVER reliably guarantee that the ISO will boot and work properly... As such, if you really are serious about multiboot, you will invest in a hardware solution.

Also, and please mark my words, I can guarantee that you will spend a lot more time trying to maintain a multiboot USB, by adding/removing new/obsolete images onto it, as well as tweaking boot settings so that everything works, than you would spend simply recreating that USB for the image you actually need right now. With a decent USB Flash Drive connected to an USB 3.0 port, creating a bootable drive takes about 2-3 minutes, during which you can do something else. Therefore, whether you like it or not, by not trying to provide multiboot, and make you waste HOURS figuring why your ultimate UEFI + Windows + Linux + ISOHybrid collection doesn't boot properly, Rufus actually tries to save you time!.

But hey, since I am really getting a lot of flak about this, feel free to tell me just how arrogant I am for declining to provide you with a feature that, first, seems to be mostly requested by people wanting to install multiple copies of Windows, for which they are very unlikely to have a license (either this or there is an amazingly large number of people who managed to find a loophole to obtain very cheap MSDN subscriptions), and second, in an application that I'm not being paid to develop, and that you got absolutely for free!

Finally, after having spent the best part of 5 years dealing with making USBs bootable, as well as repeatedly coming up with innovative and advanced ways to ease some of the major USB boot process pain points, I hope I can be trusted to have acquired some insight on how things can and will go wrong, if you try to cram everything and anything into a single place, and why I feel entitled to tell you that you are genuinely better off NOT using multiboot...

Do you plan to port Rufus to Linux/OS X/Some other OS?

No.

I certainly wish I could, because it sounds like a nice challenge, but I just don't have the time for that. Also, Rufus was designed to work very closely with the Windows APIs, and while the application may appear deceptively simple, what really happens behind the scenes is anything but.

So porting Rufus to another OS is actually a lot more effort than people seem to imagine. For instance, I currently estimate that getting a Linux version of Rufus, that would offer at least 75% of the capabilities of the Windows version (which, as far as I'm concerned, isn't even close to something I would be satisfied releasing to the public, as it would still be missing too many features), is at least a 4-months full time work endeavour. Realistically then, I can't see myself dropping everything else, and spending 8-10 hours a day for 4 or more months, just to get a basic Linux version of Rufus that would still be missing too many features that I consider essential (such as the ability to create Windows To Go images for instance)...

Besides, most of these platforms already have the tools needed to help you achieve part of what Rufus does (though perhaps not in as convenient a package). As a matter of fact, Rufus relies on tools that were originally designed and run on other platform than Windows such as Syslinux, ms-sys or the bad blocks check feature from e2fsprogs, so at least these capabilities can be obtained on other platforms.

Then again, Rufus is Free Software, so if anybody wants to try to port it to another platform, they are very welcome to do so!

Do you plan to add Linux persistent data support (e.g. for Ubuntu)?

Yes.

I'm currently moving towards the ability to introduce that enhancement, but a lot of other things need to happen before I'm in a position to work on it, such as an UI redesign, so don't expect anything quick.

Do you plan to add commandline support?

Yes.

It's in progress, but very low priority on my list, so there again, don't expect anything fast.

Do you plan to add multiple partition support?

No.

I briefly toyed with the idea, but I don't think it's worth it, especially as it's a lot more than just creating a bunch of partitions. As with multiboot, you're probably much better off acquiring the knowledge of doing it yourself, than relying on an automated tool to do that for you, and have no clue what's going on when you run into trouble.

What's more, unless your USB Flash Drive is set by the manufacturer to behave as a fixed drive (99% aren't), Windows will not let you see more than a single partition on it (that is unless you are using Windows 10 Creators Update or later). So that makes the idea of using multiple partition a bit moot, when only one of them can be seen at any one time by Windows.

Do you plan to provide an English-only version of Rufus?

I.e. do you plan to offer 2 versions, one that includes all languages, and another with only English?

No

First of all, you should understand that the native translations occupy less than 250 KB of the total size of Rufus. That means that, unless you are downloading from a V56 modem, at worst this will only add a couple extra seconds to your download, which isn't that much.

With all the other USB formatting & boot utilities I know of being larger than 1 MB in size (and there I have to take a friendly stab at Etcher: 50 MB for a bootable drive creation utility whereas Rufus does it in less than 1 MB? Really???), I don't really see adding 250 KB, so that you can simply provide a copy of Rufus to your Korean, Finnish or Brazilian neighbour, should they ever need it, and have them run it in their preferred language, as that big a price to pay.

As you should know, only about 25% of the world population actually speaks English as a first or secondary language. That is why, even if the extra 250 KB might be seen as an inconvenience to some people, I consider it a much more important goal to ensure that a large part of the remaining 75% of the world can use the same copy of Rufus in a language they are familiar with!

I'm hoping that this goal is worth a couple extra seconds of your time...

Do you plan to support internal HDDs/SSDs?

No

Rufus is very much designed to work removable drives (as well as VHDs), to avoid the possibility of non tech-savvy people seeing a drive and formatting it, without realizing that it was an internal drive containing valuable data, rather than the external drive or card they just plugged in.

If I were to list internal drives, I'm pretty sure I would immediately start to get complaints from people who formatted the wrong drive by mistake. And even if I could rightfully shift the blame on user error, I'd still much rather inconvenience a few people, by not letting them erase the data they want, than inconvenience others by allowing them to erase data they don't want to erase.

My priority with Rufus is and remains to avoid any possibility of data loss, even if minimal. As such, if you want to format internal drives, I will respectfully ask that you use another method.

General Application Behaviour

Help, how do I restore my USB to how it was before I created a bootable drive?

So, you created a bootable drive, possibly with a DD image, and now Windows no longer seems to see it, or it reports that its capacity is much smaller than it actually is. And now you want to "restore" it to a state where you could just use it to copy files, with Windows recognizing the drive and letting you use its full capacity.

Well, what you really want to do is "restore" your drive to non-bootable state. And, of course Rufus has a very prominent way to allow you to do that.

See the Boot selection dropdown in Rufus? The one that has a Non bootable entry? Well, if you select that option, and then pick whatever you want for the file system, then Rufus will happily "restore" your media to something Windows will recognize, with full capacity, and that you can use again to transfer files. That's all there is to it.

Help, my USB drive is not detected!

Try to check the List fixed (non flash) or unpartitioned USB disks (v1.3.4 or earlier)/List USB Hard Drives (v1.4.0 or later) option in the advanced options panel. To display the advanced options panel, just click on the white triangle next to Format Options.

Alternatively, you can simply hit Alt-F.
Note however that formatting non flash USB drives, such as USB HDDs, is not officially supported for now. Use at your own risks!

Help, I formatted the wrong drive by mistake! How do I recover it?

First of all, even if it may sound harsh, I can only hope that this mishap will help teach you a good lesson about maybe paying a bit more attention to the prompts applications such as Rufus do display, to make sure you don't format the wrong drive by mistake. Especially, Rufus explicitly lists the name of the device/partition it is going to format, with a big WARNING message, to help you confirm that this is really the one you want to erase. Therefore, if you didn't pay enough attention to the dialog that was telling you precisely which device was about to be erased, or weren't able to recognize that device from one you didn't want to erase, the fault is entirely with you, and you shouldn't be asking others to help you clean your mess. Rufus does what it can to ensure that you don't format an important drive by mistake (by never listing internal drives, or not listing USB HDDs by default), but there's only so much it can do to prevent you from erasing the wrong drive.

The second bad news is that, unless you are very lucky, there is no easy way to recover your data if you let Rufus start its drive creation process. This is because the first thing Rufus does is erase all existing partition tables, to recreate a brand new one, and right after that, Rufus also creates a new file system on the new partition(s). What this means then is that you are always going to lose all partition and file system records, which are crucial to being able to perform data recovery. And there is a huge difference between trying to recovering a drive, where a few sectors have been damaged at random, and a drive where important sectors, such as the file system/partition ones, have been overwritten with new data. Once that data has been overwritten, it is gone forever, with no possibility of restoring it.

Your only hope of recovering some data then, provided you didn't write an image, or ran a bad blocks check, or used the slow format method (which will ALL overwrite sectors sequentially, and therefore leave you with no hope of recovering any of the data that was on the sectors that were written over), is if you are very lucky and if the data you want was outside the areas Rufus wrote over. In that case, you may be able to use some file system recovery tools to see if you can reconstruct some of the existing files and restore them.

Now, since these recovery tools change all the time, and forensic recovery is way beyond the scope of what this FAQ is meant to help you with, if you require further advice or help, then you will have to ask data recovery experts, bearing in mind that, because this is a very specialized domain (which is also the reason why we can't really help you on that topic), their kind of expertise won't come cheap...

Help, Rufus damaged my flash drive!

No, it didn't.

While you may not be familiar with USB formatting operations, you should understand the following: even intentionally, it is extremely difficult for software to damage hardware, and it is even more difficult unintentionally. If you ask anyone with knowledge of what really goes on behind the scenes, they'll tell you that an application such as Rufus, that uses low level access to partition, format, or test bad blocks, simply does not have the ability to damage USB hardware. This is because, unlike what Hollywood likes to pretend, there really doesn't exist a set of magic commands that makes hardware self-destruct, and even when governments try to do it (in the form of the Stuxnet virus for instance) they have to invest years and millions of dollars in planning just to target a very specific type of hardware controller (For reference, USB flash drives from different manufacturers tend to use completely different hardware controllers internally, with a completely different proprietary command set).

Now, because Rufus does erase some data, you might still think that a formatting operation is hazardous. But this too is a very inaccurate assumption: As far as the hardware is concerned, formatting or partitioning a drive is no more different than writing to a regular file. Furthermore, if you use quick format, very little data is actually read or written on the device during formatting and partitioning. Finally, as far as standard USB drives are concerned, there is absolutely no difference between the data that gets written during formatting or partitioning and the regular data used for files and directories - It's just completely interchangeable data blocks being read and/or written. So, it has to be stressed out that there doesn't exist any "special" data block on USB drives, that regular applications such as Rufus can access, and that must be present for the drive to be recognized and perform its operations.

What this means is, even if a formatting application were to have a bug, the worst it can do, really, is write some erroneous data to a flash block. But since the USB controller on a flash drive doesn't care about what data is present in which blocks, it still wouldn't matter if all of the flash blocks were to be corrupted, including the ones that contain partition or file system critical information, as these blocks are nothing special and get accessed in exactly the same manner as other blocks.

The only possible way Rufus could actually damage a drive, then, is if you were to repeatedly run the check for bad blocks, as flash memory is not everlasting and will wear out after a lot of read and write cycles. However, for standard USB flash hardware, the number of write cycles before it wears out should be in the tens of thousands and what's more, a proper flash drive also contains circuitry that "moves" blocks around, to minimize the wear and tear (which is another reason why you can be confident that there doesn't exist any special data block on an USB drive). But since Rufus only checks for bad blocks when a user explicitly requests it (bad blocks check is disabled by default because this is a very slow process), the only actual possibility for the application to damage your drive is if you chose to repeatedly run the bad blocks check, for days or weeks on end.

So, unless you have been running bad blocks checks for days, I have to be very categoric that your drive was not damaged by Rufus. Whatever damage you maybe believe has been incurred while you were using Rufus is either a detection issue, or a standard hardware failure due to normal wear and tear, that just happened to coincide with when Rufus was accessing your drive. Obviously, when you use something, there's always a risk it will independently choose that moment to fail. But you can rest assured that your drive would have failed the exact same way, had you been copying a large file using Windows Explorer, instead of using Rufus.

Besides standard hardware failure, Windows detection issues can also be fairly common: if Rufus isn't able to complete a formatting operation, it is possible that the drive may be left improperly partitioned, or dismounted, and therefore it will not show it in Windows explorer (though recent versions of Rufus will try to list the drive even then). This can usually be solved by going to Computer ManagementDisk Management in the Windows administrative tools. Also, because Rufus tends to be faster than other tools, it may render issues with sub-par cabling more prominent (due to using poor USB 3.0 extension cables for instance), which may in turn cause Windows to report a hardware failure or disconnected device. Or it may also be that Rufus uses an OS operation, that other applications don't use, to access your device, and which your specific OS configuration has trouble with.

If the above still isn't enough to convince you, then maybe the following will: Currently, Rufus is downloaded more than 3 million times every month, to format a very wide range of USB flash drives. Yet I receive extremely few reports from people believing that Rufus damaged their drive (less than 1 or 2 per month at worst), and reports of such issues are very public, so it's not like I could really hide them, even if I wanted to! This 1 or 2 in a million is pretty much what one expects from coincidental failures, that would have happened regardless of whether someone was using Rufus or not. This should therefore be a good indication that Rufus is safe to use. If you still need more (especially, if you need to be convinced that, even if there is a major bug, Rufus does not actually have the possibility to send a "self-destruct" command on the USB bus), I might also suggest you read this.

Rufus can't detect/format my drive and reports that it is read-only or contains no media

I'm afraid your device is most likely dead.

The way an USB drive dies is usually that the flash memory gives out (because it has a limited number of rewrites before it's going to fail), and when that happens, the USB controller from the device, which is usually a generic microchip that is either the same or similar to the microchips that you would find on USB card readers, will detect that it is no longer able to access the memory, and, just like a card reader, report either that it is no longer able to detect a memory media or that it has become read-only.

In the Rufus log, for the first case, this will usually produce the message: Device eliminated because it appears to contain no media.

If you see these issues, it's probably time to purchase a new USB flash drive, because it is very unlikely that you will be able to use this one again. And, no, Rufus did not have anything to do with destroying your drive. Flash memory does have a very limited life, and things with a limited life tend to fail as you use them. See also the previous entry.

Antivirus X reports that Rufus contains malware!

Unless a human employee from the company that makes Antivirus X actually confirms the report, I'm just going to ignore yet another false-positive report and point you to this entry without further explanation.

The reason for that is, every single release of Rufus, one of the various Antivirus vendors (it's never the same) seems to find nothing better than to produce a false-positive for the latest executable, mostly because they don't seem to understand that size-conscious C programmers like yours truly would ever want to produce anything but malware on Windows... This is getting exasperating and I have better things to do than to submit a release for proper analysis every other day especially as you don't even get an apology from "security" people once they have confirmed that the application is perfectly safe, and that the problem was indeed with their trigger-happy analysis engine.

This means that, if you want me to pay heed to your report that Rufus contains malware, I'm gonna ask you to forward an actual e-mail from a human person working for your security solution, that confirms that this not another false positive and that provides actual technical details about the malware. If not, I will just point you to this and ignore your report.

You may also want to read this.

Why does Rufus need to delete all partitions/volumes when creating a drive?

The goal of Rufus is to ensure that your USB is gonna boot, period. As a result, it is not going to take any shortcuts that might jeopardize that goal.

Unfortunately, what most people don't seem to realize, who aren't familiar with the myriad of boot methods and the many ways in which they can fail, is that, the best way to ensure that a device will boot is to always start from a clean slate. In essence, that means completely repartitioning and reformatting the drive.

So, while trying to preserve existing data and partitions might theoretically work, in a limited set of cases, most of the time, trying to do so will be a major hindrance to ensuring proper boot, and I can guarantee that, regardless of how smart the application that creates your boot device is, the only thing you are going to gain is that you will run in some weird errors, that are gonna take a lot of time and effort to troubleshoot, which you wouldn't have gotten with a utility that always repartitions and reformat your drive, in accordance with the specifics of the image you are trying to boot.

Therefore, if you don't want your drive to be repartitioned and reformatted, then I will kindly ask that you use another application.

Also, please be mindful that all versions of Rufus above 1.4.4 produce a very clear extra warning that lets you know that all partitions will be destroyed. Therefore, if you happened to lose data because you assumed that a drive meant only a single volume or partition, it's because you didn't pay enough attention what Rufus was telling you, and the responsibility lies entirely on you.

Why doesn't Rufus create a Windows installation USB that can be booted in dual BIOS/UEFI mode?

If you are using a Windows ISO that can be dual booted in UEFI or BIOS mode, you may find that the USB created by Rufus does not preserve the dual UEFI+BIOS boot feature.

Especially, the Windows 8 or later installation ISOs, that support both UEFI and BIOS boot, will be converted to either one or the other mode, depending on the option you selected under Partition scheme and Target type: If you select MBR and BIOS or UEFI-CSM, the USB will be bootable in BIOS-mode only (even on UEFI systems), and if you select GPT then the USB will be bootable in UEFI mode only (and not bootable on a BIOS system at all).

This is done to avoid confusion, as it can be difficult for non expert users to know whether they actually booted in UEFI or BIOS mode, when an USB Flash Drive can be booted in both modes, and installation is meant to be a one-off operation, targeting a very specific machine and boot mode. You probably don't want to go through a full Windows installation, only to realize that it was installed in BIOS mode, when all you really wanted was UEFI mode.

By ensuring that only one or the other can be used for Windows installation, there is no room for error with regards to which mode was used.

Note that this does not apply for Windows To Go, and that you can also enable dual UEFI+BIOS boot by using the Alt-E cheat mode (see below) with Rufus 2.0 or higher. Also, if your UEFI firmware integrates an NTFS driver natively, then you may also find that you can dual boot an USB created in Rufus, even as only BIOS-CSM was specified.

Why does Rufus create an autorun.inf file? Isn't that dangerous?

OK, first of all, you can tell Rufus not to create an autorun.inf by unchecking the Create extended label and icon file in the Format Options. So Rufus does not force the creation of an autorun.inf file if you don't want one.

Now, as the option above indicates, the reason Rufus tries to create an autorun.inf file by default is primarily due to file system limitations. Especially, a file system such as FAT can only accommodate volume names that are UPPERCASE, less than 11 characters long and with English characters only. Oh, and it will also prevent you from using characters such as dot (.), comma (,), plus (+) and others...

Say you created a bootable USB from an ISO image labelled Linux Mint 13 Xfce 32-bit. If you don't do anything, then the best label you will be able to set for your USB drive will be LINUX MINT. If you leave that USB alone and then want to figure out what version it was, or whether it's 32 or 64 bit next time you reuse it, good luck!

Even worse, if English is not your mother tongue, as is the case for an estimated 93% of the world you can also forget about labelling your drive in your own language!

All in all, I hope you agree that these limitations with regards to the drive label aren't exactly nice, and that an application like Rufus should try to do something about it if it can...

This is where the autorun.inf file comes into play. Windows actually makes it possible to set a display label that can be as long and contain as many extended characters as you want (Chinese, Russian, Greek and so on), through the use of an autorun.inf file.

When autorun support is enabled, Windows checks any drive for the presence of an autorun.inf file, and, if such a file is found and it contains a label = line, then rather than use the default label, Windows will display whatever comes after the equal sign as the drive label in explorer.

This very useful feature then, lets you list drives with a label that contain lowercase, extended characters and is more than 11 letters long. And this is why Rufus will make use of it by default.

Also, the autorun.inf can also be used to set the icon that should be displayed for the drive in Windows Explorer, and Rufus also uses that feature to make it easy to recognize a flash drive that was created by Rufus.

As to the presence of an autorun.inf being dangerous, there does exist antivirus software (as well as some people) that are paranoid about seeing an autorun.inf created anywhere, due to these files also providing the capability to automatically execute an application (hence the name).

While it is true that, in the past, this capability was used by some viruses to replicate themselves, Rufus does not use the autorun.inf in this fashion, and as such, only a poorly designed security application, that isn't smart enough to actually scan the content of the file and find out whether it attempt to automatically execute a program, should erroneously take objection to the autorun.inf that Rufus creates.

I hope that this explanation is enough to make you understand that, unlike dumb security applications, you need not overreact when you see an autorun.inf on your USB drive and, what's more, understand that this is really done to help the vast majority of the world have the ability to label their drive as they see fit. After all, provided you don't speak Chinese, how would you like it if you could only label all your USB drives in Chinese?

Finally, remember that Rufus does provide some tooltips when you mouse over the options, and in this case, the Create extended label and icon file option indicates that it will create an autorun.inf. And of course, if an ISO already contains an autorun.inf file, Rufus will not overwrite it.

Why does Rufus need elevated privileges to run?

Formatting a drive, and even more so altering its boot record, is a privileged operation by nature.
If unprivileged users had the ability to perform it, then the first malicious application ran as a non-elevated user could do all sorts of nasty things. It doesn't matter whether the drive is an USB flash drive or a system disk, the same restrictions apply.
As such, you must have the right to run applications with elevated privileges (i.e. Administrator rights) if you run Rufus, and no, it is not possible to create a version of Rufus that doesn't require elevation / can run as a non-administrative user.

Why doesn't Rufus list external HDDs by default?

If you used Rufus and have an external USB HDD enclosure plugged in, you may have noticed that Rufus does not list it by default. Instead it only seems to list flash drives.

The reason for that is by design, because we expect that a large number of people will have backup media plugged in to their computer, with valuable backup data on it, and, especially if they aren't tech-savvy, it would be very easy for them to make a mistake and select that backup drive for erasing instead of the USB Flash Drive they just plugged, resulting in a loss of data that they didn't want to lose.

As a result, Rufus has an extended detection mechanism that is designed to prevent the listing of USB HDDs, as those drives are unlikely to be used by the vast majority of people to create bootable drives. Of course, you can still list those external HDDs if you know what you are doing, by checking the relevant option under Advanced drive properties. But this feature is not something that is enabled by default.

And while I do understand that, if you are an advanced user, it may sound like an inconvenience not to have all external drives listed by default, especially since that is what other similar applications may choose to do, please remember that, as a developer I'd still much rather inconvenience a few people, by not letting them erase the data they want, than inconvenience others by allowing them to erase data they don't want to erase.

Why can Rufus not see my network shares?

This is because, since it is a formatting utility, Rufus needs to run with administrative credentials, and, by default, Windows considers the Administrator and your regular user as two completely different entities. Therefore, for security reasons, it will not carry over the network shares you have. You will actually see the exact same behaviour, for instance, if you try to run notepad as Administrator. If you do that, and try to access a text file that resides on one of your usual network shares, you will find that they are missing too.

However, Rufus user Jim Woodring indicates that, if you really need to, you should be able to work around this restriction by following the steps documented by Microsoft here, by creating a DWORD registry key labelled EnableLinkedConnections with value 1 under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System and rebooting your system.

Rufus connects to the internet, but I never allowed it to - why?

That is a result of the check for update feature and the name of the executable you use. Depending on the name of the Rufus executable you downloaded, the check for update will or will not be enabled by default. In the second case, you will be prompted to decide whether you want to let Rufus access the internet to check for updates, to which you can say no if you want.

To explain this behaviour, I have to provide some history:
As a software user, I too prefer to use software that is opt-in, i.e. that lets users know that it may try to connect to the internet, and asks users for their permission before it attempts to do so.

As such, initially, I was planning to make Rufus opt-in always. However, I got requests from people redistributing Rufus NOT to prompt the user with regards to connecting to the internet, on account that some people would be confused by the question.

How could I solve this dilemma then? Simple: If you look at http://rufus.akeo.ie/downloads/ you'll see there are actually 2 versions of the latest Rufus version, one called rufus-#.#.exe (as well as the corresponding the portable version) and the other called rufus.exe. They are essentially the same binary file (rufus.exe is actually just a symbolic link to the first one on the web server). However, when Rufus starts, it checks for the name of its executable, and if it finds that it is called "rufus.exe", it does not display the question on whether a user wants to check for update, and enables that check automatically.

On the other hand, if you launch rufus-#.#.exe (or any version of Rufus that isn't named rufus.exe), you will be prompted on whether you want to enable the check for updates, in which case you have the option to disable it altogether, as well as find more information about the information we collect.

If by any chance you downloaded rufus.exe (or accepted the prompt without realizing it), and want to disable the update check you can one of the following:

  1. Go to AboutUpdates and set the Check for updates: dropdown to disabled
  2. Press Alt-R in Rufus: You should get a message that states Application registry keys successfully deleted (since we need to write some information in the registry for the update check as well). Then if you exit Rufus and launch it again (as long as you are not launching rufus.exe but rufus#something.exe), you will see the initial opt-in prompt and have an opportunity to refuse.

Does Rufus create/modify registry keys?

Yes
1. Whether you enable or disable the check for updates, Rufus needs to store some registry keys under HKEY_CURRENT_USER\Software\Akeo Consulting\Rufus\ so that it can identify whether the check for update was enabled by the end-user, and how this check should behave (how frequent, when the last check was ran, etc.). These keys can be deleted by pressing Alt-R while Rufus is running.

2. Also, while Rufus is running, and even if you use the portable version, it temporarily modifies the Local Group Policy so that you don't get a Windows notification about a newly inserted USB device. If we weren't doing that, Windows would prompt you to choose what you want to do with the device, which is annoying when all you probably want to do is use Rufus to format it. This Local Group Policy is restored to its original value when Rufus exits.
If there are any residuals from this operation, they are not due to Rufus, but rather are the result of how Windows handles Group Policy changes, as it may have to create keys when a Policy is first applied, but that doesn't mean the presence of these extra keys will change the behaviour of your system. On exit, Rufus always requests Windows to restore the policy settings as it found them.
For more on this, please have a look at SetLGP() calls in rufus.c, and the implementation of SetLGP() in stdfn.c.

Oh, and since I'm getting some very vocal complaints about this, if you freak out about an application modifying registry keys and/or using the methodology (Group Policies) that Microsoft advocates system administrators to use when changing Windows settings, then you're probably better off not using Windows at all. Seriously.

Flash drive creation and boot behaviour

Error while partitioning drive

This is a generic top level error which can happen for many reasons. You will need to look at the log to determine the actual error, which may be some of the ones listed below:

Error [0x00000005] Access is denied

If you are seeing [0x00000005] Access is denied during USB drive creation, it means that something external to Rufus is preventing it from accessing the drive, and YOU will need to figure out what it is. For a start, you can take a look at the list of software Rufus is not compatible with, bearing in mind that this list in far from being exhaustive.

It also needs to be pointed out that, as per the incompatible list above, if you are using a recent version of Windows 10, and have enabled the Controlled Folder Access feature, you will need to disable it to be able to use Rufus, as the whole point of that feature is to prevent applications from writing to drives outside of the location of the software being executed, which of course, Rufus must be able to do if you want it to create your drive. Of course you may wonder why Rufus is unable to repartition and reformat a drive when Windows can, but it is only because, since Microsoft controls the whole thing, they added an exception to Controlled Folder Access for the Windows native utilities...

Outside of Controlled Folder Access, which is mostly a feature of Windows 10, it could be something like a security application, or your OS settings or it could even be a hardware issue, that prevents access to your USB drive. For instance, there exist poorly designed security solutions that scan removable drives, but "forget" to relinquish access to the drive when they are done scanning. This creates conflicts with Rufus, as the first thing Rufus does is request exclusive access to the drive before repartitioning and reformatting it, in order to ensure that it never erases a drive that is still being accessed for reading or writing. In our opinion, requesting exclusive access to a drive is something that any formatting applications should do, as it can avoid a lot of bad surprises...

With version 2.15 and later, Rufus might actually help you identify the name of the application or service that is preventing access. For instance, if you happen to have a command prompt open to a partition on your USB, Rufus might report the following in the log:

Requesting lock...
Could not lock access to \\?\Volume{d25bbe87-287c-11e5-82ba-acfdce2112d0}: [0x00000005] Access is denied.
WARNING: The following process(es) or service(s) are accessing \Device\HarddiskVolume9:
o 'C:\Windows\System32\cmd.exe' (pid: 13124, access: x)
You should try to close these applications before attempting to reformat the drive.
Could not lock volume
This tells you that C:\Windows\System32\cmd.exe (the Windows executable behind every instance of a command prompt) is the problematic application, and that it is probably a good idea to close it before trying to format your drive again.

Now, if you can't seem to identify the problematic application, yet are absolutely sure that whatever application might still be accessing the drive is not doing anything with it, you can try the Alt-, cheat mode (see below), which tells Rufus not to request exclusive access, but we strongly recommend that instead, you try to identify the culprit application, and report the issue to its developers so that they can fix it (because an application should only keep access to a drive open when it actually needs to read/write to it).

At any rate, Access is denied is NOT a problem that is internal to Rufus, so there really is nothing more that I can do with the application to work around this error.

Error [0x00000015] The device is not ready

This error can happen early on in the formatting process if you happen to have disabled automounting (which is a different feature from autorun) and if you are using a Fixed USB drive. If that is the case, you should do the following:

  1. Open an elevated command prompt (type cmd in the Windows menu search box, then right click on cmd.exe and select Run as Administrator).
  2. Type: mountvol /e
  3. Close the command prompt
For more on this, have a look at issue #386.

It may also happen later on during the ISO file extraction process, in which case this isn't the result of the automount settings, but more likely a problem due to a flaky USB connection. For instance it may happen if you try to connect an USB 3.0 flash drive through an extension cable.

The reason is that USB 3.0 is fast and therefore very prone to cross-talk and interferences if the connection to the device is of poor quality, due to a bad cable/connector. When that happens, a temporary disconnection of the flash drive may occur, and because Rufus is usually faster to transfer data than the other tools, it will detect a problem.

Since version 1.4.2, code has been added that attempts to retry the writing of the file if that happens to try to mitigate the problem, but if your USB 3.0 flash drive is not using a solid connection, you should try to take measures to avoid that.

Format error: Undetermined error while formatting

If you are seeing the following in your log:

Creating file system...
Error while formatting
Format error: Undetermined error while formatting.

It usually means there exists an incompatibility, that has nothing to do with Rufus, between Windows and your device. You should usually be able to confirm this by attempting to format your drive, using the same file system as the one you selected in Rufus (e.g. NTFS or FAT32), using the native Windows format utility, such as the one you can access by right clicking in the device.

This means that there is very little Rufus can do, as Rufus does rely on Windows' native services to format a device, and therefore, if Windows itself cannot format your device, neither will Rufus.

If you are reporting an issue with this error then, unless you have actually tested that Windows was able to format your drive using the same file system as the one you selected in Rufus, whereas Rufus failed, I will simply point you to this FAQ entry, as there is not much I can do about Windows' native incompatibilities.

I'm trying to work with an ISO, but Rufus says it's unsupported

Unfortunately, there exist many types of bootable ISOs, and Rufus cannot support them all, especially as some of the bootable ISO types Rufus doesn't support are very custom and not used very much.

However, if the bootable content is DOS based, which would be the case for most unsupported El Torito bootable ISOs, you can usually work around the limitation, by doing the following. For this example, I am going to use the SeaTools for DOS bootable ISO image provided by Seagate. The other tool that you should also have installed for the following is the invaluable 7-zip.

The steps then are as follows:

  1. Create a bootable USB from Rufus using FAT32 for the file system and FreeDOS as the target
  2. Open the seatools.iso with 7-zip. In this case, you will see something like this:
  3. In this case, the content of the root drive doesn't seem to contain the DOS files. However the SeaTools.ima file looks interesting, as it appears to be a virtual disk image. Let's open it with 7-zip (just double click on the file):
  4. That's more like it! These are DOS files, so you can try extracting them to the root of the bootable USB you created with Rufus (overwriting existing files if needed) and see how it goes...

I'm using ISO X, but after it boots, I'm encountering problem Y

Preamble

Most of the time, if Rufus managed to create a bootable USB, and that USB booted, you are pretty much on your own, and you will have to see with the makers of the ISO if something doesn't work as expected. This is because, unlike what you may believe, it's NOT because an ISO can boot from optical disc that it will also boot from USB, and, outside of very rare cases, the people who created the ISO must actually take steps with the media, to ensure that it can boot once converted to USB (such as ensuring that FAT32 or NTFS are supported as boot file system, or having an installation procedure that can actually locate an USB media rather than just the optical disk, or properly following the UEFI specs for disk boot, and so on). Outside of fairly straightforward cases however, Rufus cannot compensate for these steps if they haven't been carried by the people who created the ISO, as almost every ISO would require its own very specific exception to be properly converted to USB, which is unrealistic to expect a generic conversion application to do.

Now, rather fortunately (or unfortunately depending on your point of view), most major OS distributors out there have properly solved the dual optical/USB compatibility, which is why many people tend to believe that any ISO that can be booted when burned to a disc should also have no problem being booted from USB. This couldn't be further from the truth. It only appears this way because the Microsoft developers, and the Arch developers, and the Debian developers, and the Ubuntu developers, and so on, have actually done a good job at hiding the subtleties that are required for supporting USB boot, and made it look easy. Every so often however, you'll get a distro that isn't aware of the work that isn't aware of those and, even if they are based on a distro that has long solved these issues, will manage to screw up the process.

It could be that they will seek the installation media by label, without realizing that FAT32 limits these labels to 11 uppercase characters (therefore lookup will fail when converted to FAT32 USB), or they will create a custom UEFI optical boot loader, without realizing that they also need to create disk equivalent, that support FAT32, and make sure that these are located in /efi/boot/bootia32.efi or /efi/boot/bootx64.efi.

All this to say that, in most circumstances, you will need to see with the makers of the ISO when it comes to issues encountered after the USB has booted.

This being said, here are a few items that may be helpful to you with that respect:

Windows XP, Windows Vista (NO LONGER SUPPORTED)

Please don't ask for support regarding Windows XP or Windows Vista installations, or even regarding running Rufus on Windows XP or Windows Vista, these platforms are no longer supported.

If you want support, then I will kindly ask that you use a version of Windows that is actively supported by Microsoft. Thank you.

Windows 7, 8, 10

Setup was unable to create a new system partition or locate an existing system partition

This seems to happen only with some USB Flash Drives on some platforms, for reasons that only Microsoft knows.

Here is what you should do to work around this issue:

  1. Remove all partitions on the drive (no need to launch diskpart as some suggest, you can just use the partition selection screen)
  2. Unplug the USB drive.
  3. Click Next. You will get the error:
    Windows is unable to install to the selected location. Error: 0x80300001.
  4. Replug the USB drive.
  5. Click Refresh.
  6. Click Next.

The installation should now proceed as expected.

Windows To Go

  • As of Rufus 2.0, Windows To Go is only available if you are running Rufus on Windows 8 or later. If you are running Rufus on Windows 7 or earlier, the option will not be proposed (though you can create Windows To Go drives from Windows 7 ISOs if you run Rufus on Windows 8 or later).
  • To create your Windows To Go drive, you should try to use a version of Windows that it at least the same version as the one of the ISO you are trying to create a To Go drive from. This means that, if you want to create a Windows 8.1 To Go drive, you should run Rufus on Windows 8.1, Windows 10, or a later version of Windows. Trying to create a Windows 8.1 To Go drive on Windows 8.0, for instance, is unsupported and will likely result in errors during creation.
  • The Windows To Go option is not available with all Windows images, especially the ones created with the Windows 10 Media Creation Tool. This is because, Microsoft tools can create ISOs containing an install.wim that is incompatible with Microsoft's own WIM extraction APIs (which is what Rufus uses). You will however see a line in the log that states:
    Note: This WIM version is NOT compatible with Windows To Go.
  • For more technical details on how Windows To Go is currently implemented in Rufus, see here.

Note that you can download retail official Windows 10 ISOs, that are compatible with Windows To Go & Rufus, by either following these steps or, if that looks too complicated for you, by downloading and running this utility.

The reason why you have to use these methods, when all they really do is retrieve a direct download link to the official retail ISOs from Microsoft's servers, is that Microsoft has taken the incredibly damaging decision to prevent visitors that are already running Windows 10 from downloading Windows 10 ISOs, even though using a retail official Windows 10 ISO is the only safe way to guarantee that your ISO hasn't been corrupted (or worse, infected with malware), through SHA-1 validation. On the other hand, because the Media Creation Tool always reconstructs a custom ISO, it leaves you with absolutely no way of knowing whether that ISO may contain corrupted content, which is incredibly UNSAFE when it is meant to install an Operating System...

GRUB

Using an UEFI bootable ISO based on grub, all I get is the grub prompt

This can happen if the people who created the ISO chose not to add FAT32 module support in their GRUB EFI bootloader (for instance, the Manjaro distro maintainers are currently doing just that, which is VERY BAD PRACTICE), because they are relying a bit too much on the kludge that is ISOHybrid. Of course, since Rufus tries to use as much of the original ISO as it can, if the distro maintainers decide to use a crippled bootloader and completely ignore the de-facto way of booting an UEFI ISO, which is to copy all its content, as-is, onto a FAT32 drive, then you will encounter issues...

In this case, as Rufus explicitly advises you to do if you find that copying files in ISO-mode doesn't work properly, you can try recreating the USB and select DD-mode when prompted. Or you can voice your concerns directly to to the distro maintainers, so that they include FAT32 support in their GRUB EFI bootloader, as this is what they should have done from the start.

Alternatively, you may also run into issues when booting a drive that was partitioned as GPT if the distro maintainers also chose not to include the part_gpt module when running grub-mkimage (See here). In this case, you need to select MBR partition scheme for UEFI computer, and the grub.efi boot should work as expected.

Manjaro

See the note above.

openSUSE and derivatives (Mandriva, etc)

Installation media issues

When starting the installation of openSUSE, you may get the error:

Unable to create repository from URL 'hd:/?device=/dev/disk/by-id/usb-Your_USB_Brand_AABBCCDDEEFF1234567890-0:0-part1'.

Details:
[|] Valid metadata not found at the specified URL
History:
 - [|] Repository type can't be determined.

Try again?

If that is the case, you should answer Yes and on the YaST2 prompt that appears and enter /media.1 in the Directory field (you can leave the Repository Name field empty). Then you should be able to proceed with the installation.

Live media issues

Note: This also affects openSuse Live derivatives such as Mandriva or Gnome.

Because the openSuse Live media detection process is incompatible with a FAT filesystem, it is not possible for Rufus to convert openSuse based live media to bootable USB using its regular method.

If the ISO was created as hybrid, you may however be able to create a bootable USB image by disabling ISO suppport (Alt-I) and using DD-Image mode, or selecting "Write in DD-Image mode" when prompted.

I'm using an ISO with a checksum validation test and the test fails despite using DD mode in Rufus!

This is a problem that is described in greater details in this QubeOS issue.

The checksum error has to do with the fact that almost any recent ISOHybrid image, that contains a checksum validation test, supports UEFI boot and therefore will have a small FAT32 partition. And the root of the issue is that:

  1. Windows automatically mounts any partition it recognizes from a removable media (that is anything that is FAT/FAT32, NTFS, exFAT or ReFS).
  2. After mounting such a partition, Windows automatically alter its file system, be it by creating unwanted files (which Microsoft does not provide any details about) in the System Volume Information directory, and, if that wasn't enough, by altering the last access timestamps in the global file system records.

Because of this, and through no fault of the utility who created the drive, the image does get altered after it is copied on disk. It doesn't matter if you used something like Win32 Disk Imager, or created the image on Linux using dd and then plugged it on a Windows machine, it's just the default behaviour of Windows to alter the content of flash drives...

As such, the only way to get a checksum that works is to have the distro maintainers acknowledge the issue, and update their checksum validation to ensure that the content that may get altered by Windows is excluded.

Rufus says that the download files for Syslinux/GRUB are missing on the server!

First of all, you should understand that there is a big difference between major errors, which will be reported to the end user through a prompt and prevent the creation of the drive, and benign errors, that are perfectly normal as part of the boot creation process and are simply reported in the log.

Because distros tend to recompile their own version or Syslinux or GRUB, most of the times with very minimal changes, Rufus uses a complex fallback mechanism when it looks for Syslinux/GRUB, which ensures that, should a distro create a version of Syslinux/GRUB that is incompatible with the official release, a custom set of Syslinux/GRUB binaries can be uploaded to the server, to help users of said distro create compatible bootable drives.

So, what happens is that Rufus will first look to see if there is any need for such custom binaries, by looking for a subdirectory, tagged with the custom string that the distro used to compile their version.

This means that if Rufus finds that you are using a distro that uses a custom version of Syslinux 6.03, tagged 20151222, it will see if it can find the required files in a Syslinux-6.03/20151222/ subdirectory on the server.

If this directory does not exist (which will produced a benign error in the log), then it means that the default Syslinux 6.03 files should work, and thus Rufus will simply pick those from the Syslinux-6.03/ directory on the server.

Therefore, unless you actually experience an issue with Syslinux during boot, you shouldn't assume that the messages you see in the log means that there exist an issue with the Syslinux/GRUB downloads. As long as the drive boots, there really is nothing special about these "errors".

How can I remove the "Press any key to boot from USB" prompt?

First of all, a little reminder as to why this prompt is here in the first place.

By default, the Windows installation process is a two step one. The first step is to boot from USB and copy the installation files to the hard drive, and the second step (after reboot), is to boot from the hard drive and continue the installation.

Obviously, if Rufus creates an USB that always boot, regardless of the step being executed, unattended installations of Windows would be impossible, as someone would need to be in front of the computer to remove the USB or change the BIOS option after the first step is completed to ensure the computer boots from the HDD.

By installing an MBR that prompts the user and will default to boot from the HDD if no action is taken (and it is bootable - if not the USB is always booted), Rufus does let users perform unattended installation of Windows, which is a very desirable feature. As a matter of fact, the "Press any key to boot from USB" prompt mimics the "Press any key to boot from CD" prompt you get when installing Windows from optical media, so in that respect, Rufus tries to be as close as possible to the behaviour one would get when installing from the CD or DVD.

Now, there may be some cases where you still want to disable that prompt, and ensure that your USB will boot always. If so, here's what you should do:

  1. Click on the arrow to display the advanced options.
  2. Uncheck the checkbox for "Use Rufus MBR with BIOS ID:", which should have been checked by default.

List of Rufus advanced features and cheat modes

Advanced Mode

You can display advanced options by clicking on the white arrow near Format Options.

Then by, selecting the relevant option in the Create a bootable disk dropdown, this mode also gives you the ability to install:

  • a blank Syslinux bootloader
  • a blank Grub/Grub4DOS bootloader (grldr)
  • a blank ReactOS bootloader (freeldr)
  • a blank UEFI:NTFS bootloader

Of course, since all of the above does is install the boot records, you will still have to manually provide the relevant configuration files and additional binaries.

Power keys/Cheat modes

Note: If a cheat mode has a star (*), it means it gets preserved between runs.

  • Alt-B* (v1.4.7 or later) - Toggle fake drive detection during bad blocks check:
    By default, Rufus will check for fake USB flash drives that pretend there is more capacity than actually is by looping over the flash. This check which is enabled by default is performed by writing the block number sequence and reading it back during the bad block check.
  • Alt-D (v3.0 or later) - Delete the rufus_files subdirectory.
  • Alt-C (v2.18 or later) - Cycle (reset) the USB port of the currently selected device.
    Note that this will not work on Vista, Windows 7 or Server 2008.
  • Alt-E* (v2.0 or later) - Enable dual BIOS+UEFI mode for Windows installation media. For the reason why dual BIOS+UEFI is disabled by default, see here
  • Alt-F - Enable fixed disk detection (v1.3.4 or earlier)/Enable USB HDD detection (v1.4.0 or later):
    This is the same as enabling List fixed (non flash) or unpartitioned USB disks (v1.3.4 or earlier) or List USB Hard Drives (v1.4.0 or later) in the advanced options. This UNSUPPORTED mode will let Rufus detect and format USB drives such as USB HDDs, which it doesn't do by default. The reason this is disabled by default is that it can be a potentially risky operation when Rufus is used by non technical-savvy people. For instance, if someone also keeps an USB HDD as a backup drive, and plug an USB Flash Drive, they may inadvertently end up formatting their HDD and lose valuable data. If you use Rufus with this option enabled, you are on your own!
  • Alt-I (v1.4.7 or later) - Toggle ISO image support:
    By default, when an ISO image can be used as both a regular bootable ISO (Syslinux, WinPE, ...) or bootable flat disk image (DD), Rufus will choose the former method when copying the data. With this option, you can force DD image writing.
  • Alt-J (v1.4.3 or later) - Toggle Joliet support for ISO9660 images:
    Some ISOs (e.g. Ubuntu) have Joliet extensions but expect applications not to use them, due to their reliance on filenames that are greater than 64 chars (the Joliet max length for a file name). This option allows users to ignore Joliet when using such images.
  • Alt-K (v1.4.3 or later) - Toggle Rock Ridge support for ISO9660 images:
    Note that when Rock Ridge is enabled, Rufus performs the initial scan of an ISO9660 image with Joliet disabled, so that it can find if Rock Ridge extensions are being used (if there exists a Rock Ridge file with a name greater than 64 chars or if there exist symbolic links). If you would rather prefer Joliet to have precedence over Rock Ridge, you can disable Rock Ridge altogether using this option.
  • Alt-L* (v1.3.3 or later) - Force the use of Large FAT32 formatting for all target sizes:
    By default, the Large FAT32 formatting functionality, developed by RidgeCrop, is only used for drives that are larger than 32 GB. For any drive smaller than 32 GB, the default Microsoft FAT32 format is used. If you would prefer the Large FAT32 formatting to be used always, you can use this option.
  • Alt-N (v1.4.4 or later) - Enable compression when creating an NTFS drive.
    You may have to play with Alt-S to disable size checks when using this feature. Also, bear in mind that NTFS file compression is not possible on drives that have a larger cluster size than 4K (which Rufus will NOT check). Finally, if you use this unsupported option, you are 100% on your own!
  • Alt-O (v2.12 or later) - Dump ISO image:
    Dumps the first compatible optical media Rufus finds to an ISO image. If you use this and it works, great! If it doesn't, you are 100% on your own!
  • Alt-Q* (v2.11 or later) -Toggle file indexing:
    Toggle the file indexing attribute (“Allow files on this drive to have contents indexed in addition to file properties”) for the file systems that support it. Note that starting with Rufus 3.0, file indexing is disabled by default.
  • Alt-R (v1.3.0 or later) - Erase registry keys:
    Remove all registry keys that were created by Rufus.
  • Alt-S - Disable size limits:
    By default, Rufus will not copy ISOs that are larger in size than the target USB drive. If this is enabled, the size checks are disabled.
  • Alt-T* (v2.3 or later) - Preserve timestamps when extracting ISO content.
  • Alt-U* (v1.4.7 or later) - Use PROPER units when displaying sizes, instead of the whole Kibi/Gibi nonsense.
  • Alt-V (v2.3 to v2.18, removed from v3.0) - Save selected device to UNCOMPRESSED VHD.
  • Alt-W* (v2.0 or later) - Enable VMWare disk detection.
  • Alt-Y (v2.18 or later) - Force the check for update to be successful:
    This is only useful if you are working on a translation and want to check the content of the check for update dialog.
  • Alt-X - (v3.0 or later) Delete the NoDriveTypeAutorun key on exit:
    This key is used to disable Windows popup messages when an USB drive is plugged in. Rufus does modify it through the use of Local Group Policies. This is only really useful if the app crashed.
  • Alt-Z (v2.6 or later) - Zap (zero) the whole target device.
  • CtrlAlt-Z (v3.2 or later) - "Fast" Zap (zero) the whole target device. The difference with the above is that this "Fast" version tries not to re-write blocks that have already been zeroed. This is only useful if you have a drive that has already been zeroed, with a read speed that is much higher than its write speed, as this incurs an additional block read, which, depending of the circumstances, might make the zeroing much slower...
  • Alt-.* (v2.3 or later) - Enable verbose USB enumeration debugging.
  • Alt-, (v2.5 or later) - Disable exclusive locking of the USB drive.

Registry settings

If you want some more insight about what Rufus does when it checks for updates, you can create the following registry key: HKEY_CURRENT_USER\Software\Akeo Consulting\Rufus\VerboseUpdateCheck as a DWORD, and assign it a value or 1 (verbose) or 2 (even more verbose). You will then extended information about the update check in the log.

List of images Rufus isn't compatible with

The following images (ISO, DD) are either incompatible or have been known to cause problems when used with the current version of Rufus:

Incompatible Images

Problematic Images

  • Chromium/ChromeOS images
    While the image can be written successfully in DD Image mode, once written you will NOT be able to repartition/reformat your USB from Windows if you used any application that tried to clean the drive, such as diskpart or Rufus 2.9 or earlier.
    This is linked to the fact that the Windows "clean disk" command (IOCTL_DISK_CREATE_DISK) does not properly erase all of the MBR/GPT structures and leaves artefacts behind that Windows cannot handle properly. Unfortunately, this means that the only option to recover your drive is to erase it in Linux...
    Rufus 2.10 and later include a workaround, so that, at the very least, it does not leave your drive inoperable from Windows, after trying to reformat a drive where Chromium was installed. But, because this is essentially a Windows bug, you will need to be cautious about which application you use to repartition or reformat a drive after installing Chromium on it.

List of hardware and software Rufus isn't compatible with

If you're using any of the following, Rufus may not work as expected. In all cases, this is due to the listed software or hardware preventing the level of access required by Rufus to properly set up an USB device, for instance, by preventing operations that are 100% legitimate, such as writing an autorun.inf file or by latching onto an USB drive and preventing the exclusive access that Rufus requires for partitioning and formatting.
Thus, if you want to use Rufus, I would advise using an alternative from the items listed below:

Incompatible Hardware

  • Lexar JumpDrive Secure USB device
  • PNY 16GB Retract USB (and some other PNY drives). This is due to a buggy firmware from PNY, and it is not a Rufus issue. You may be able to recover your drive using this tool.

Incompatible Software

Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.