Jump to content











Photo
* * * * * 1 votes

Rufus (introduction topic)

rufus

  • Please log in to reply
374 replies to this topic

#1 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 22 February 2012 - 08:11 PM

*
POPULAR

Hello all,

If you look in the Boot Tools section, you will see a new entry called Rufus. I am the author of this program.

Rufus, is a Windows utility that helps format and create bootable USB drives. It can do so using either DOS (embedded) or an user provided bootable ISO, such as Windows or Linux installation media.

Why would you want to use Rufus?

Rufus takes the approach compensating for a feature that should be enabled in every OS by default, which is the ability to quickly and easily create a bootable USB, either for DOS or from a bootable ISO.
With USB now being ubiquitous, we see little reason why, in 2012, the default Windows formatting dialog offers the option to create an obsolete bootable floppy, but not a more useful bootable USB.

As such we believe that, any Windows user, be them sysadmins or occasional users, should have the ability to quickly and painlessly create a bootable USB, and this is exactly what Rufus aims at providing.
- Need a DOS bootable USB to flash a BIOS or some other firmware? Launch Rufus, click the Start button, copy the ROM and flasher files and you're done.
- Have a bootable ISO that you'd like to convert to USB? Launch Rufus, select the ISO, click the Start button and that's it.
A bootable USB tool really shouldn't be more complicated than that!

Rufus Features

Now, while the above can be achieved with other tools (though we believe not as easily) this is what we think makes Rufus stand above the competition:
- Rufus is fast: It is usually quite a bit faster than the competition, especially because we use an internal ISO library (libcdio) while most other tools reuse 7z, which is actually slower than libcdio on extraction. For some speed comparison results, please see here.
- Rufus is small: Why should a bootable USB creation tool be more than 1 MB? Rufus is currently around 150 KB, and still offers ISO support.
- Rufus is simple to use: Its UI is very similar to the familiar Windows formatting dialog, and it doesn't bother the user with options that are confusing or unneeded.
- Rufus doesn't require an installer: An utility that does a simple task, that most users will only perform occasionally shouldn't require an installer. Just download, run it, and get done with it.
- Rufus keeps true to the original ISO content: Unlike other tools, Rufus does not override any of the config files that were set by the original creators - instead it just reuses them.
- Rufus is generic: A bootable USB creation tool should not have to ask its users about the type of ISO provided. This also ensures that the tool will support ISOs that have yet to be created. For a non exhaustive list of bootable ISOs Rufus is known to work with, please see here.
- Rufus can check devices for bad blocks: Up to 4 passes can be selected to find out if your media is defective. We believe that a formatting utility should always come with the ability to check for defects.
- Rufus will detect and set a non US locale (DOS): If the Windows version you use is set to a specific locale, you probably want DOS to use the same. Why should you be constrained to use DOS with an US keyboard? Rufus will detect and set the locale for you (while still providing the option to fall back to US keyboard during boot, if needed).
- Rufus can set an internationalized/extended label: If you format a disk to FAT, being constrained to 11 uppercase English characters for the label is very limiting. NTFS also has its limitations. Rufus can use the autorun/autoplay feature of Windows to display a label that contains any characters you like.
- There's a version of Rufus that comes with native FreeDOS: While slightly larger than the standard version of Rufus (~410 KB) it offers a more modern and much improved version of DOS. Check it out!
- Rufus is 100% Free Source: Rufus is released under GPLv3. If you're a developer and you really would like a new feature added, you very much can!

For additional info, you are invited to have a look at its entry in the downloads section or its official homepage.

For a more technical overview of how Rufus works, please read on.

Posted Image

The utility originally started as a replacement for the venerable HPUSBFW tool and basically offers all the features HPUSBFW has, apart from the ability to provide external DOS files. The reason behind that is that we provide a version of Rufus with FreeDOS embedded, therefore use for external DOS files would be very limited. Thus, Rufus should detect and formats USB drives in pretty much the same fashion as HPUSBFW, except it uses ms-sys to create the DOS or FreeDOS boot sectors.

For ISO9660 and UDF support, Rufus relies on libcdio (which seems much faster than 7zip for extraction) and syslinux. The way isolinux config files are handled is by creating a /syslinux.cfg on the target (if needed) that references an already existing config file. So far, this method seems work very well, apart from a small issue with distros that use obsolete versions of vesamenu.c32. The application will also attempt to update the existing isolinux/syslinux config file, if a disk label is required by the kernel.
With this, the produced USB is as close as possible to the original ISO, while most recent isolinux based bootable ISOs should be supported in a generic fashion.

With regards to Windows support (Vista or later), we simply format the drive as NTFS (which, btw, is the only filesystem that can properly handle the > 4GB install.wim from the x64 version of the Windows 8 developer preview) and use ms-sys to add the NTFS record, along with the bootmgr we pick from the ISO.

Finally, if requested (and if none exists) Rufus can also add an autorun.inf and icon, to set a customized/internationalized label as well as a drive icon.

If you have comments or ideas for improvement, feel free to do so, knowing that:
- I am not planning to create a commandline version of the utility, since I'd rather see features added to it than have it reused in another application.
- I am not planning to look into multiboot. I think multiboot is way too user specific and I don't see a generic solution for it that I could find acceptable. Also, if people need a tool to create a multiboot USB for them, I don't think they should be using multiboot in the first place. This is even more true if a program like Rufus can manage to make it quick and easy to switch between ISOs instead of having to create a multiboot USB.

Right now, the next thing I'd like to support would be BartPE and XP, though this may be a bit of a challenge. I'm hoping that either the ISO's existing SETUPLDR.BIN can be used (even if it needs to be patched) or that ReactOS's freeldr can help. Basically, I'd like Rufus to support anything WinPE based.
I'm also aware about grub4dos and iPXE, though I'm not currently sure whether anything specific should be done there. It looks to me like simply installing a blank syslinux and letting users do the chainloading would be acceptable, especially as I'd like to keep the utility small.

Again, please don't hesitate to give Rufus a try and let me know what you think.
  • Nuno Brito, TheHive, dziubek and 6 others like this

#2 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,865 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 22 February 2012 - 08:39 PM

Rufus, is a Windows utility that helps format and create bootable USB drives. It can do so using either DOS (embedded) or an user provided bootable ISO, such as Windows or Linux installation media.


Good. :thumbsup:
Out of curiosity, WHY the name "Rufus"? :unsure: :)

Also, if people need a tool to create a multiboot USB for them, I don't think they should be using multiboot in the first place.

Ecellent! :thumbup:

:cheers:
Wonko

#3 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 22 February 2012 - 09:03 PM

Hi Akeo,

There are several tools already posted for that same purpose here, in fact some of them are quite popular given the number of hits reported. It would be easier for users to give you some feedback, if you try to differentiate your tool if possible in this thread. For example, try to clarify in what aspects its different or better (in your view) than other most popular tools. This way more people may opt for using it and sharing new ideas with you.

Why would you need to explain how your tool is different? :dubbio: Because that's the 1st question you ask when thinking of buying something in a supermarket, or even trying for free- right? "Why do I need that?" Its always good to demonstrate, the need exists for your product, despite the market segment appears saturated. :) That would fortunately require for you to study "prior art", thus allowing to improve the tool even without feedback.

#4 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 22 February 2012 - 09:47 PM

Out of curiosity, WHY the name "Rufus"? :unsure: :)

The Reliable USB Formatting Utility (with Source). I wanted it to mention USB and formatting, with a name that was hopefully easy to remember and not too cryptic for end users..

There are several tools already posted for that same purpose here, in fact some of them are quite popular given the number of hits reported. It would be easier for users to give you some feedback, if you try to differentiate your tool if possible in this thread.

I'd rather let users try it, and give it a rating or judge whether they want to give it a try by the popularity of the download. But I'll probably post an entry in the thread you pointed when I have a chance, thanks.
But, without external positive feedback, it feels too much like bragging, and Rufus is still quite young. I don't have a special issue with people coming to Rufus slowly and without much advertisement, as I am hopeful that, if the few people who give it a try are happy with it, there will be a snowball effect.
Plus its scope may change. It started as DOS only and originally this is how far I was planning to go, but then I thought adding ISO would be nice... It is already listed as a DOS only utility on some sites, whereas this is no longer the case.

For example, try to clarify in what aspects its different or better (in your view) than other most popular tools.

It's hard to do that in a few words, and I'd like to remind you that this post aims at providing the technical background, since this is what I hope people browsing these forums will be interested in. For a user-level description there is the homepage or the download entry. But if you think it these entries could be improved, don't hesitate to let me know how.

This way more people may opt for using it and sharing new ideas with you.

The about box of the utility provides an easy URL that one can use to report bugs and ask for enhancement, since github does provide a convenient feature for that. This forum post is intended more for technical discussions, which is why you may find it lacking from a regular user's prespective.

Why would you need to explain how your tool is different? :dubbio: Because that's the 1st question you ask when thinking of buying something in a supermarket, or even trying for free- right? "Why do I need that?" Its always good to demonstrate, the need exists for your product, despite the market segment appears saturated. :) That would fortunately require for you to study "prior art", thus allowing to improve the tool even without feedback.

You seem to be assuming that I didn't study prior art, which is not the case.
I did look at prior art, and found much room for improvement. First of all, please refer to the speed comparison tests on the homepage.
Now, the problem with discussing prior art is that it will inevitably sound like you're bashing the competition, which, being well aware of how much an investement software development is, and how little user gratification one seems to receive from it, I'd prefer avoiding. But since you ask, one thing I found is that UNetbootin fails at properly extracting the >4GB install.wim from the Windows 8 x64 preview, because it uses FAT only, but doesn't even alert users. It is also dreadfully slow when extracting an ISO such as a Slackware DVD (more than 1 hour!). WinToBootic is nice, but it's a bit limited IMO (can only handle Windows ISO) and I personally find that its UI is a bit too much in your face. And Universal USB Installer is way too big for its task since it relies on scripts and completely replaces the isolinux config from what the distro author intended. I could also comment on the MS tool, but I'd rather not (the speed results speak for themselves). Also, I want to make sure that there exists a tool that is 100% Free Source, and some of these aren't.
But even regardless of prior art, I do like a challenge, and replacing the HPUSBFW utility, which, AFAIK, no other tool seemed to compete with, looked like a good one and brought me a lot of fun. So if you want an answer why another wild bootable USB tool appeared, I hope that "because it's fun" is acceptable as an answer... :)

Also do you know any other FOSS tools that competes with the HPUSBFW utility? I looked around but didn't seem to find one, and this was really my starting point.

#5 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 22 February 2012 - 10:03 PM

There will be a snowball effect.

I like that! :thumbsup: Hopefully, it wouldn't become a snowstorm... :)

I just looked at USB Formatting Utilities section, and RMPrepUSB seems to be hot. Considering it a leader just for the sake of argument, how would you differentiate your tool? Why its better, or how distinct? :confused1:

#6 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 22 February 2012 - 10:18 PM

RMPrepUSB seems to be hot. Considering it a leader just for the sake of argument, how would you differentiate your tool? Why its better, or how distinct? :confused1:

That's easy. Just take a look at the screenshots.

I want everybody and their grandmothers being able to run Rufus without getting confused or running the risk of formatting an HDD instead of USB, which is why it is very similar to the Windows native formatting UI.
RMPrepUSB requires you to know what you're doing. Awesome for power users. But for regular Joes not so much... Also, an installer for a USB formatting and boot utility? Sorry, but no. Most people wouldn't be using such a tool every day, so requiring an installer seems a bit much, especially if the product evolves fast, which both Rufus and RMP seem to do => reinstallation is a bore.

So Rufus and RMPrepUSB are probably competing in different markets (but I hadn't noticed that RMP already had BartPE support - this should be quite helpful... :)).

#7 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 22 February 2012 - 10:28 PM

Thanks, now I want to test it. :)

Would you prefer this thread moved to the same forum section with its siblings or left here?

#8 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 22 February 2012 - 10:33 PM

Thanks, now I want to test it. :)

Great. I very much appreciate that! :thumbsup:

Would you prefer this thread moved to the same forum section with its siblings or left here?

Well, all things considered, it might actually be better if it was listed where most of the other tools are. Since I'm new here, I posted in the forum that seemed most appropriate, but I'll trust your judgement on where you think it is best suited (with thanks for looking after that). If you think a new post with a more user oriented description would be better, I don't mind doing so.

#9 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,865 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 22 February 2012 - 10:38 PM

Well, for the record there is some "mixed matter" IMHO.

The HP utility is a rather simple partitioning/formatting utility that allows to partition under Windows NT a USB device which controller is set as "Removable".

RMPREPUSB started with the aim of becoming a "better" utility of this type (adding a few features that were missing in the HP tool, correcting some erroneus behaviour that may happen, adding the "two partitions trick" for some BIOS, etc.).
Over the time a lot of added features, including the possibility of installing grub4dos or syslinux were added.
Still it is basically a tool more aimed at "first part of booting".
A few more similar tools are listed here:
http://reboot.pro/9460/

And . though not the easiest approach in the world :whistling:, even my half-@assed batch may be part of the above:
http://reboot.pro/3191/
http://reboot.pro/5000/

UNetbootin, Universal USB Installer, Windows 7 USB download tool, WiNToBootic are more aimed to add to a usb stick some specific (or many) OS/Distro's/Whatever, i.e. giving more relevance to "second part of booting", particularly WiNToBootic :ph34r: does NOTHING to the USB stick that needs to be pre-partitioned/formatted.

If you want, also Sardu :) and Xboot :frusty:, as well as MULTICD, MULTIBOOTISOS, LINUX LIVE USB CREATOR and MultiSystem - to name a few known ones - belong to this second "school of thought".

The thingy by Wimb Make_USB has something from both (together with the other tools in U_XP_SET.

@Akeo
If you are insterested in PE 1.x (BartPE) you could check Fuwi's utility:
http://www.911cd.net...showtopic=21702
and these few threads:
http://www.911cd.net...topic=23777&hl=
http://www.911cd.net...topic=24066&hl=
http://www.911cd.net...showtopic=24069
http://www.911cd.net...topic=24108&hl=
and possibly this one (the opposite of what you would normally do, but containing details/links that may be of interest):
http://www.911cd.net...showtopic=23262

:cheers:
Wonko

#10 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 22 February 2012 - 11:47 PM

The HP utility is a rather simple partitioning/formatting utility that allows to partition under Windows NT a USB device which controller is set as "Removable".

Yup. And it still seems like the tool of choice for people who want to flash a BIOS, which I find weird since people also need to provide external DOS files then.
I'm hoping that Rufus or another FOSS tool can at least dislodge that usage. And Rufus may have an edge there since it is probably the smallest and most familiar to use for Windows users.

RMPREPUSB started with the aim of becoming a "better" utility of this type (...) Over the time a lot of added features, including the possibility of installing grub4dos or syslinux were added.

Hehe :) I know exactly what you mean...
This was the same for Rufus, since I knew that there was a nice WinME DOS image sitting in the diskcopy.dll, that could remove the need to provide external DOS files. Then Syslinux and ISO support naturally followed and it's hard to stop...

Still it is basically a tool more aimed at "first part of booting".

OK. Considering that one of my goal is to produce a tool that achieves the task of creating a bootable USB drive that is about as finalized as can get, this is where Rufus' aim would differ. My current goals could be summarized as follows:

"You need DOS bootable USB for your flashing utility? Launch Rufus, click the button, then copy your ROM and flasher executable. That's it."
"You want to convert a bootable ISO to bootable USB? Launch Rufus, select the ISO, click the button, and you're good to go."

UNetbootin, Universal USB Installer, Windows 7 USB download tool, WiNToBootic are more aimed to add to a usb stick some specific (or many) OS/Distro's/Whatever, i.e. giving more relevance to "second part of booting"

OK. With regards to the goals I set for Rufus, doing just the second part would seem a bit limiting, so I never really considered it.

particularly WiNToBootic :ph34r: does NOTHING to the USB stick that needs to be pre-partitioned/formatted.

I hadn't realized that. I was probably lucky to always run WiNToBootic after testing with Rufus, so the drive was already bootable... Then that's one more point I would put forward for preferring Rufus over WiNToBootic.

If you want, also Sardu :) and Xboot :frusty:, as well as MULTICD, MULTIBOOTISOS, LINUX LIVE USB CREATOR and MultiSystem - to name a few known ones - belong to this second "school of thought".

Most of the multiboot tools don't fit with the goals I have, because they expose complexity that I believe the majority of users (or at least the majority of users I am targetting with Rufus) wouldn't really care about.
I want Rufus to be as generic as possible, so I find tools where distros have to be selected by name a bit limiting. Of course, Rufus does have its limitations with regards to supporting bootable ISOs, especially as there exist ISOs that we know will never be suited for USB (such as the ones where the installation process seeks for an optical media). But these are on the decline and recent media should be at least partially USB aware. Thus the goal of Rufus is to address bootable ISOs in a way that is as transparent as possible for the end user, and make it look like there is no real difference between one bootable ISO and the next.

Or if you want it described another way, I'm trying to provide the feature that I think Windows should provide by default. And, for better or for worse, most of the default Windows features try to hide complexity from end-users, so Rufus aims at doing the same (but without going as far as WiNToBootic).

@Akeo
If you are insterested in PE 1.x (BartPE) you could check Fuwi's utility:
http://www.911cd.net...showtopic=21702
and these few threads:
http://www.911cd.net...topic=23777&hl=
http://www.911cd.net...topic=24066&hl=
http://www.911cd.net...showtopic=24069
http://www.911cd.net...topic=24108&hl=
and possibly this one (the opposite of what you would normally do, but containing details/links that may be of interest):
http://www.911cd.net...showtopic=23262

I very much am! Thanks a lot for these links!!! :good:

#11 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,865 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 22 February 2012 - 11:58 PM

This was the same for Rufus, since I knew that there was a nice WinME DOS image sitting in the diskcopy.dll, that could remove the need to provide external DOS files.

ONLY for the record, been there, done that. :smiling9:
http://www.911cd.net...showtopic=16745

:cheers:
Wonko

#12 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 23 February 2012 - 12:05 AM

ONLY for the record, been there, done that. :smiling9:

And for the record, I probably used information I got from this forum, most likely from the thread you just gave, when I added the feature to Rufus. So I guess I should probably say thanks here as well... :whistling:

#13 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,865 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 23 February 2012 - 12:10 AM

And for the record, I probably used information I got from this forum, most likely from the thread you just gave, when I added the feature to Rufus. So I guess I should probably say thanks here as well... :whistling:

Which is on ANOTHER forum..... :whistling:
In case the thanks should go to the Starman, a.k.a. Daniel B. Sedory :worship:

:cheers:

Wonko

#14 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 23 February 2012 - 03:33 AM

If you think a new post with a more user oriented description would be better, I don't mind doing so.

If you can amend your 1st post with a paragraph entitled WHY THIS IS THE BEST USB PEN FORMATTING TOOL and a list of pros, it would be great. If not allowed to edit, consider adding a separate post under such title to gather all your arguments for a user, since most are unfamiliar with all USB tools variety in contrast with Wonko, so your hints would help to select the tool and also suggest a set of criteria & get some scope of functionality ideas.

#15 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 23 February 2012 - 12:21 PM

Thanks. I have now amended the first post. I hope this will invite more users to try out Rufus... ;)

#16 Nuno Brito

Nuno Brito

    Platinum Member

  • Team Reboot
  • 10,202 posts
  • Location:boot.wim
  • Interests:I'm just a quiet simple person with a very quiet simple life living one day at a time..
  •  
    European Union

Posted 23 February 2012 - 12:46 PM

Hi Akeo,

Thank you for sharing this nifty tool.

I approved the entry at the download center and tried out your work. I really enjoy its simplicity and would like to mention it on this week's newsletter if you don't mind.

Also took the liberty of adding "introduction" on the title of this discussion to prevent confusion with the new topic that was created with the same name for users that post feedback on your tool from the download center.

In the meanwhile, I have promoted your account to the status of official reboot developer. This ensures you can work without any restrictions or need to wait for approval when adding new tools on the download center. The developer group has moderation skills on some forum sections, please use this feature wisely.

With all this said, welcome aboard! :cheers:

#17 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 23 February 2012 - 01:10 PM

I have now amended the first post. I hope this will invite more users to try out Rufus... ;)

Great! What I like in your tool the most so far, it mimics Windows Format Utility, thus extending a regular user capabilities in a familiar way. Not surprising, you are getting questions and suggestions now... :o Pls explain:

- What exactly do you do with bootable ISO files, Linux or Windows based, to convert them to a bootable from USB media?
- What does Rufus do to the physical disk as well? How its content looks like before & after Rufus magic?
- What hardware types & models are supported by Rufus?
- Do you use a different approach in formatting a USB HD compare to Flash Drive?
- Does it support USB 3.0?
- What's your solution to Windows USB drivers dilemma?

#18 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 23 February 2012 - 01:11 PM

I approved the entry at the download center and tried out your work. I really enjoy its simplicity and would like to mention it on this week's newsletter if you don't mind.

Thanks a lot for this. I'll be very pleased if you do.

In the meanwhile, I have promoted your account to the status of official reboot developer.
(...)
With all this said, welcome aboard! :cheers:

Thanks again. Reboot.pro is a great place - I'm very happy to have joined. :cheers:

#19 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 23 February 2012 - 01:28 PM

I also looked at your website and blog - they are very neat and clean. Was interesting to learn about WCID devices support in Win 8, and VMWare usage tips.

Did you try using physical HDs with VMWare? Booting from a physical HD and USB Thumb in it? Any pros & cons? Would be interesting to read your reports in Virtualization section.

And once we're there, we can find the room to improve Rufus easily... How about adding support to boot Virtual file-disks like VMDK and VHD from USB media in addition to ISO file-disks? Virtual file-disks are getting used more often than ISOs nowadays, and they are also frequently booted from USB Media. This is very solid and innovative direction to differentiate your Rufus from the crowd.

#20 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 23 February 2012 - 01:41 PM

- What exactly do you do with bootable ISO files, Linux or Windows based, to convert them to a bootable from USB media?

I assume that these questions are not intended for the user level description, so I'll answer them here.
Currently, the bootable ISO has to be isolinux/syslinux or bootmgr based.

For isolinux, we locate the most liklely .cfg file (if there are multiple candidates, we pick the one with the shorttest path), with sylinux.cfg being preferred over isolinux.cfg if the 2 exist, and in case we don't end up with a config file that is with the name and location expected by syslinux, we create a /syslinux.cfg that contains something like this:

DEFAULT loadconfig



LABEL loadconfig

  CONFIG /isolinux/isolinux.cfg

  APPEND /isolinux/


This is the same trick used by Arch Linux to make their ISO content either USB or ISO bootable.
We also pick the label from the ISO and use is as the default label for the target in case the boot process searches for a disk with a specific label.

Now, some distros (Fedora) seach for a disk label that is longer than what we can use for FAT (11 uppercase chars), so if we also have a look at the cfg file we reference to try to identify these cases and modify any append line that contains the same label as the ISO.

Note that, since we consider that it really should be the job of the distro maintainer to set FAT compatible labels on their ISOs, we're only using a quick-and-dirty method to patch the existing config there. For instance, if the .cfg is larger than 2048 bytes (one ISO block) and the label is split between two blocks, this patching will fail. My hope is that are more distro creators become aware of USB constraints, this patching will not be needed.

- What does Rufus do to the physical disk as well?

Sets MBR, create a single partition (not sure if I want to support multiple partitions, but it looks like this may be needed as a workaround in some case), force LBA always, formats partition using the exacts same method as Windows and the HPUSBFW utility, set the partition boot record (with some patching for XP) using either ms-sys or syslinux. I posted (ranted) about additional details here.
We also went great length trying to follow the enable cluster sizes from MS (depending on the size, not all should be available).

- What hardware types & models are supported by Rufus?

Unless told otherwise, anything that is seen as removable USB by Windows. We do have some restrictions for according to size (very small drives cannot use FAT32, large drives cannot use FAT. For the time being, we're not mucking around with FAT12 on small drives as Microsoft seems to do, since we consider that very few people will require it.

- Do you use a different approach in formatting a USB HD compare to Flash Drive?

USB-HDDs are not supported. The reason is that I think, even as an option, it is too risky for regular Joes, who may format their backup drive or an actual partition, instead of the flash drive they just plugged in. The last thing I want is people losing valuable data when using Rufus, and I think that people who want to setup an HDD for boot should use a different tool and make sure they know what they're doing first. If there is a massive demand, I may add a "cheat mode" (Ctrl or Alt + some key) to enable HDD support in Rufus, but for the time being, I'd rather not.

- Does it support USB 3.0?

Absolutety. It would be a major limitation if it didn't, and all the speed comparisons were done using USB 3.0. For the record, I also tested with Windows 8 preview (which sadly still offers the same dumb formatting dialog as previous Windows, with no bootable USB option - Hey Microsoft, give me a call! ;))

#21 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 23 February 2012 - 01:55 PM

I also looked at your website and blog - they are very neat and clean.

Thanks!

Was interesting to learn about WCID devices support in Win 8

Yeah. If hardware manufacturers follow, WCID in Windows 8should make it a lot easier to handle all sorts of USB devices without having to go through the dreadful business of having to manually install a driver before you can play with your device. This might also opens the door to replacing proprietary USB applications...

Did you try using physical HDs with VMWare? Booting from a physical HD and USB Thumb in it?

Not yet, but that's a nice experiment.

How about adding support to boot Virtual file-disks like VMDK and VHD from USB media in addition to ISO file-disks? Virtual file-disks are getting used more often than ISOs nowadays, and they are also frequently booted from USB Media. This is very solid and innovative direction to differentiate your Rufus from the crowd.

Good point! I wasn't really aware of it yet, but I like playing with new stuff and features. ;)
I logged an enhancement request and will look into it when I have a chance.

#22 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 23 February 2012 - 02:30 PM

Given your view on USB HDDs, thankfully Windows allows to format them as a usual HD on PCs with most modern motherboards. :) Laptop HDs in USB Enclosure are a lot more efficient and faster than Thumb Drives in PC service tasks.

So, do you extract a mounted ISO disk content to the Flash partially or fully, or merely copy the original ISO file onto it? How do you treat Win Install ISOs in particular?

Did you actually try to boot full Windows 7 and XP or corresponding WinPEs from the Flash after its magically "transferred" to it by your tool? :dubbio: Any changes to its Registry were required to ensure OS boot from USB Flash as opposed to boot from ISO? Were you talking only about supporting Win Install ISO bootable to Win PE, or also full Windows ISO prepared by a user from OS installed on HD and bootable to Windows?

#23 Wonko the Sane

Wonko the Sane

    The Finder

  • Advanced user
  • 10,865 posts
  • Location:The Outside of the Asylum (gate is closed)
  •  
    Italy

Posted 23 February 2012 - 02:51 PM

Given your view on USB HDDs, thankfully Windows allows to format them as a usual HD on PCs with most modern motherboards. :)

I don't recall any issue with older motherboards. :dubbio:
The issue is only with NT based systems (no matter which motherboard) because windows NT trusts the device info (Removable vs. Fixed).
Thus the "fix" is either flipping the "removable bit" on the actual stick controller or use a Filter Driver.
I have never seen a report of any HD enclosure presenting itself as "Removable".

:cheers:
Wonko

#24 Akeo

Akeo

    Frequent Member

  • Developer
  • 207 posts
  •  
    Ireland

Posted 23 February 2012 - 04:40 PM

Given your view on USB HDDs, thankfully Windows allows to format them as a usual HD on PCs with most modern motherboards. :) Laptop HDs in USB Enclosure are a lot more efficient and faster then Flash in PC service tasks.

Remember that I am not interested in multiboot, so the best you're gonna get from ISO support in Rufus is the maximum capacity of a DVD, since only the content of one disc will be copied over.
Using a 100GB or more HDD for a task that requires at most 8GB seems quite a waste. You're much better off with a flash drive for that, especially as you can reuse it for other tasks once you're done. A 8 GB or larger flash drive (or less if you're not going to deal with double sided DVDs) is hopefully cheap enough for most these days...

The way I see it, most of the ISO usage for Rufus will be for a one-time installation purpose, or a live/rescue session that shouldn't take much space. Therefore, spending time on HDD support, if only a handful of power users appear to have much of an use for it, doesn't seem like a good investment. Unless I expect grandma Jones to also require such a feature, which may happen in the future, but sounds quite unlikely for now, I'm unlikely add it. Or can you make the case for grandma Jones requiring ISO -> USB HDD support?
On the other hand, I very much see grandma Jones wanting to easily create an installation/rescue/live USB from an ISO, if one of her computers has an issue.

So, do you extract a mounted ISO disk content to the Flash partially or fully, or merely copy the original ISO file onto it? How do you treat Win Install ISOs in particular?

Full extraction of the ISO content (NB: at the moment, timestamps are not preserved, which doesn't seem to bother any of the ISOs I tried, but it's on my TODO list). There's no mounting involved and content from physical/ virtual optical drives is currently not supported. Since I'm reusing libcdio, supporting physical/virtual drives shouldn't be that difficult to add, but I'd like to get actual requests for it first, especially as there are plenty of tools that can convert a physical disc to ISO, and it's probably a good idea to keep a backup of your installation media.
Also note that I'm only handling recent bootmgr based ISOs for the time being (=>Windows Vista and later). I believe this should handle recent WinPE as well, but I need to check further (see below). Copying bootmgr to a bootable NTFS partition appears to work great, and this is what the Microsoft tool does. Supporting earlier than Vista media, such as XP, XP-WinPE or BartPE is also on my TODO list.

Did you actually try to boot full Windows 7 and XP or corresponding WinPEs from the Flash after its magically "transferred" to it by your tool? :dubbio:

XP and earlier WinPE is something I still need to add. But Win7, Win8 and Vista seem to work fine. I didn't go through a full install process, but setup launched and behaved as expected, and we know that the Vista and later Microsoft installation media can handle USB. My process is based on what the Microsoft Windows 7 USB tool does.
The one trick one needs to be aware of is that after you install the NTFS boot sector and copy bootmgr, you must remount the volume so that Windows updates the NTFS records. Rufus does it automatically, but if this doesn't occur, your media will not boot unless you re-plug it and let Windows mount and "fix" the volume.

Did you need to make any changes to its Registry to ensure OS boot from USB Flash as opposed to boot from ISO?

None. Again since the Microsoft tool does ISO -> USB without modifying content, it means that the Windows installation media are USB aware, which I believe is also something Microsoft advertised, especially as they have a tool for it.
Unless it pertains to the early boot process, I see it as the ISO image creators task to ensure that their content also works when extracted on USB. Quite a few ISO creators seems to have taken that approach too, at least for Linux, and I'm hoping that if the ISO->USB process becomes easier to perform, more will do. Now, if there's a quick fix that can be applied to address a common ISO -> USB limitation (such as the one for the disk label in Fedora), I don't mind adding it. But if it's gonna be special case after special case, or heavy modification of the source's content, I'll have to rely on the ISO producers themselves to sort it out.

Did you mean only Win Install ISO bootable to Win PE are supported by your tool, or also full Windows ISO prepared by a user from OS installed on HD and bootable to Windows?

My testing show that recent official Windows installation ISOs should work. I tested Windows 8 Preview, Windows 7 and Vista, so I am fairly confident there. I also gave a quick test to an image created with the latest WinPE (bootmgr based) but found that I still had to remount the NTFS volume manually before it would boot, which is surprising since Rufus already does that (twice actually). I haven't investigated further yet, and I am not sure my WinPE image is representative since it doesn't contain a .wim and the load process will terminate in error when used on an optical drive.
I'd hate to have to force a remount through an USB reset, just to support recent WinPE, as it'll add a lot of complexity (for starters, we'd have to embed a separate 64 bit process if we want a single app to be 32+64 bit compatible, as USB reset can only be issued by an app that uses the same bit length as the OS).

With regards to full Windows ISOs used for imaging and restoring a working OS, as I explained earlier, it seems a bit too specific for the usage I anticipate.
Beside sysadmins, who obviously should go with the deployment tools and processes put forward by Microsoft, I'm not seeing much use for Working Windows -> image -> Working Windows for the general public.
If you want backup, imaging and restoration, you probably should look at an actual backup, imaging and restoration tool, which Rufus isn't.

#25 sambul61

sambul61

    Gold Member

  • Advanced user
  • 1,568 posts
  •  
    American Samoa

Posted 23 February 2012 - 06:36 PM

You seems to have a firm set of coordinates established for the tool, which is good. :) The problem is, your current set merely follows the pathway offered by mainstream at the moment, and may need to be adjusted as you learn along the way. Keep in mind, what MS offers for mainstream at the moment, was greatly improved and modified by some rebooters here long ago, as they looked far ahead of what's mainstream today. Not surprising, some tools are quite popular here. Not to say, MS can't do it - they simply won't due to marketing strategy, which is very different for devs here. :huh:

May I suggest you to look at a concept of not extracting original content from any disk, but instead offering a user to boot any ISO or VHD placed on an empty Thumb? And replace any of them with updated versions easily by simply deleting the ISO file and copying the new one... I know, you're not looking into multiboot (if that's what you mean), but may be your tool prospective users are... One would usually need several ISO's to service a PC or run other tasks like installing OS from ISO to a removable media, which also requires more knowledge and art than simply copying content from one disk to another. :book:

What I would do is trying to boot an unchanged ISO or VHD from a USB Thumb, then trying to install OS from ISO to a bootable USB Thumb. Once you accomplish it as a user (not necessarily by Rufus), you'll better understand how trends on Reboot are different from plain vanilla offered by MS today. Suddenly, your vision may transform one day:

"I view my Rufus as a tool that will allow users to make a bootable USB Thumb and copy a collection of ISO, VHD, VMDK virtual disks to it without any change in a way that would make them bootable from the Thumb, and easily replaceable".

I'm not aware of such tool at the moment, but the need for it is great and will only grow "like snowball" as someone said. :D Now, there is no guarantee that your vision will change once you tried the above, but at least you'll get better grip of what some other devs are doing here. To share some habits, I use only empty USB Thumbs and HDs with a set of original ISO's and VHDs dropped onto them and replaceable any time, each bootable via OS means or Grub4DOS - our common tool. In fact, I run Win7 and 8 mostly from Diff VHDs instead of HDs, and it offers huge advantages in trying new apps, drivers and solutions without risk. I may be wrong, but don't see any future for tools aiming at fully extracting content of virtual disks onto Flash - this is redundant, and virtual disk multiboot IS mainstream.

Again, did you notice: I may be wrong, so shoot for it. OR, consider it a 1st step in your journey... :3th:
  • Nuno Brito likes this





Also tagged with one or more of these keywords: rufus