11

So when creating a bootable cd it was really simple in my opinion.

All you needed to do was burn an .iso file to a disk and it was bootable.

Now with the usb drives you have lots more options.

enter image description here

Could someone explain the difference needed between the 2?

Maybe give a brief overview of the different options.

  • This should be a question for the developer. We can speculate on why CDs and USBs have different options available in this software, but only the developer can truly answer this question. – Michael Frank Jan 25 '17 at 20:23
  • @MichaelFrank at minimum which work for boot thumb drives vs other stuff. – William Jan 25 '17 at 21:09
  • 1
    The developer actually hangs around here – Journeyman Geek Jan 25 '17 at 23:51
  • The CD's you're talking about were packaging the complicated things inside the ISOs. This is complexity, but it is also flexibility. There are simple bootable USB creation tools that take a bootable ISO and apply it to a USB, but like the "simple" CD burning you are thinking of, they are hiding the complexity and so are not as flexible. – music2myear Jan 26 '17 at 0:20
22

Rufus developer here.

First of all, a lot of the options you list are only be listed when running Rufus in advanced mode (i.e. when the Advanced Options section is displayed), because they are intended for people who already known what they are about.

To start with, you have to understand that the ISO format was NEVER designed for USB boot. ISO is a 1:1 copy of an optical disc, and optical disc media are very different from USB media, both in terms of how their boot loaders should be structured, what file system they use, how they are partitioned (they aren't), and so on.

So, if you have an ISO, you cannot simply do with an USB what you can do for an optical disc, which is read every single byte from the ISO and copy it as is, in sequence, onto the disc (i.e. what CD/DVD burner applications do when writing an ISO).

That's not to say that this kind of 1:1 copy cannot exist for USB, just that, 1:1 copies of USB media will be completely different from 1:1 copies of optical disc media and (outside of using ISOHybrid images, that are crafted to work as both 1:1 copies of disk and optical) are therefore not interchangeable. For the record, in Rufus terminology, a 1:1 copy of USB media is called a DD Image (you'll see that option in the list), and some distributions, like FreeBSD or Raspbian, actually provide DD Images for USB installation, alongside ISOs for CD/DVD installation.

Thus, we have established that ISO images are actually poorly suited to create bootable USB media, because they are the equivalent of providing a round peg in order to fit a smaller square hole, and therefore, the round peg must be altered in order to fit.

Now you may be wondering why, if bootable ISOs are so poorly suited for that, most OS distributors out there provide ISO Images instead of DD Images. Well, outside of historical reasons, one of the issues of DD Images is that, because they are a partitioned file system, then if you create a 1:1 copy on USB media, and your media is larger than the one from the person who created the image, then, then you will end up with the apparent capacity of your media reduced to the size of the one from the original DD Image. Also, whereas optical discs, and therefore ISOs, can only ever use one of two file systems (ISO9660 or UDF), all of which have been very well supported in all major OSes for a very long time (which allows you to take a peek at the image content before or after you use it), DD Images can literally use any of the thousands of different file systems that exist, which means that, even after you create your bootable USB, you may not be able to actually see any content on it until you boot. For instance, this will be the case if you use the FreeBSD USB images on Windows — Once the USB has been created, Windows will be unable to access any content on it, until you reformat.

This is why OS providers tend to want to stick with ISOs where possible, as it (usually) provides a better user experience across all OSes. But that also means that some conversion must (usually) occur, so that our round ISO peg can fit nicely into the smaller square hole that is an USB flash drive. How does that relate to the list options? We're coming to that.

One of the first thing that usually needs to go is the ISO9660 or UDF file system that ISOs used. Most of the time, this means extracting and copying all the files from the ISO onto a FAT32 or NTFS file system, which is what bootable USB Flash drives tend to use. But of course that means that, whoever create the ISO system must have taken some provision to support FAT32 or NTFS as a file system for live or installation (which not all people, especially the ones who rely a bit too much on ISOHybrid, tend to do).

Then, there is the actual bootloader itself, i.e. the first bit of code that executes when a computer boots from USB. Unfortunately, HDD/USB and ISO bootloaders are very different beasts, and the BIOS or UEFI firmware also treat USB and optical media very differently during boot. So you can't usually take the boot loader from the ISO (which would usually be an El Torito boot loader), copy it to USB, and expect that USB to boot.

And this is the part that is relevant to our list options, because Rufus will have to provide a relevant bootloader piece, that it simply can't obtain from the ISO. If we are dealing with a Linux based ISO, then chances are it will use GRUB 2.0 or Syslinux, so Rufus includes the ability to install an USB version of GRUB or Syslinux (since the ISO usually only contains the ISO specific version of those). Now, this is usually done automatically when you select ISO Image and open an ISO, as Rufus is smart enough to detect what kind of conversion it needs to apply, but if you want to play around, Rufus gives you the choice to also install some BLANK bootloaders, that enable you to boot to a GRUB or Syslinux prompt. From there, if you are familiar with these types of boot loaders, you can create/test your own config files and try your very own Syslinux or GRUB based custom boot process (because, at this stage, you only have to copy/edit files on the USB to do that).

So, we can now go around the options you find in the list:

  • MS-DOS: This creates a BLANK version of MS-DOS (Windows Me edition), which means you'll boot to an MS-DOS prompt, and that's it (if you want to run a DOS application, you'll need to copy it). Note that this options is only available on Windows 8.1 or earlier, but not Windows 10 since Microsoft removed the DOS installation files from Windows (and only Microsoft can redistribute these files).
  • FreeDOS: This creates a BLANK version of FreeDOS. FreeDOS is a Free Software version of MS-DOS, which is fully compatible with MS-DOS, but has also the advantage of being Open Source. As opposed to MS-DOS, anyone can redistribute FreeDOS, so the FreeDOS boot files are included in Rufus.
  • ISO Image: This is the option you should use if you have a bootable ISO, and want to convert it to bootable USB. Note that, because a conversion (usually) needs to occur, and there are zillions of ways to create a bootable ISO, there's no guarantee that Rufus will be able to convert it to USB. But it will always tell you if that is the case.
  • DD Image: This is the method you should use if you have a bootable disk image, such as the ones provided by FreeBSD, Raspbian and so on. .vhd are also supported (which is Microsoft's version of a DD Image), as well as compression (.gz, .zip, .bz2, .xz, .Z...).

The four options above are the ones you will see in regular mode. If you run Rufus in advanced mode, you will also have the following choices:

  • Syslinux x.yz: Installs a BLANK Syslinux(http://www.syslinux.org) bootloader. Will get you to a Syslinux prompt and not much else. You are supposed to know what you need to do from here.
  • GRUB/Grub4DOS: Same as above, but for GRUB/Grub4DOS respectively. Will get you to a GRUB prompt, up to you to figure out the rest.
  • ReactOS: Installs a ReactOS bootloader. This is experimental, since, last time I checked, ReactOS didn't boot that well from USB. It's there because it was easy to add, in the hope that it can help with ReactOS development.
  • UEFI:NTFS: This requires NTFS to be selected as the file system. Installs a BLANK UEFI:NTFS bootloader. This enables booting from NTFS in pure UEFI mode (i.e. not CSM), on UEFI platforms that do not include an NTFS driver. Because it's BLANK, you'll need to copy your own /efi/boot/bootia32.efi or /efi/boot/bootx64.efi onto the NTFS partition for that to be useful. UEFI:NTFS is automatically used by Rufus to work around the 4GB maximum file size of FAT32, which, for instance, allows the installation of Microsoft Server 2016, in UEFI mode, without having to split its 4.7GB install.wim file...

Hope that helps.

PS: This is a simplified overview, so I hope people won't start nitpicking on aspects that were deliberately dumbed down or kept silent (such as that, yes, I know it is possible to have USB flash drives without partitions, yes, it is also possible to have USB and optical use the same file system and yes, some boot processes have the capability to extend the partition size to the USB size to solve the lower apparent capacity issue).

  • Minor nitpick: the "PS Don't nitpick" part is a bit unwarranted ;) – jiggunjer Jan 27 '17 at 2:42
  • I just knew someone would have to nitpick on something... :D – Akeo Jan 27 '17 at 11:18
  • heh. When this came up on chat, I mentioned that Rufus' developer hung around. That said, I'm always happy to get my answers sniped by a better, essentially canonical answer. – Journeyman Geek Jan 27 '17 at 14:03
  • This is a wonderful answer @Akeo, thanks for sharing. – JoshuaRLi Jan 23 at 19:55
4

Rufus is a formatting tool for USB drives, i.e. it can be used even if you aren't interested in making bootable drives. The top part is for this general formatting, the bottom part is specific for adding content.

CDs normally don't have the option of using different filesystems and partitions. CDs as a medium, by convention, have a single 'partition' with the ISO9660 or UDF filesystem and some standard block size. Other formatting is possible with the right tools, but Rufus only supports formatting USB drives. Even if you managed to create a CD with an MBR and various filesystems it probably wouldn't be bootable because the firmware doesn't expect it.

BIOS and UEFI treat bootable CDs similarly (I think), but they require different formatting for USB drives. To simplify: UEFI requires a FAT partition and .efi files, BIOS needs the initial bootcode to reside in an MBR partition table, doesn't care about filesystem type. This means smart formatting software should include options for BIOS and UEFI and process the image file appropriately. I believe this is what happens when you select "ISO image" in that drop-down list.

But that drop-down list below isn't really USB specific. The equivalent of an oldschool CD burn is DD image, probably related to the Unix dd command. The other options allow adding bootloader programs, this is useful for 2 reasons:

  1. You might not have bootcode in your image file for booting. Just because an image is bootable for CDs doesn't mean it contains bootcode for a USB drive (though hybrid images do exist).
  2. Another bootloader might offer options you prefer, or does a better/faster job of loading your OS.

In theory a CD burner could also offer the option to overwrite/add a bootloader like those in your drop-down list, i.e. a Rufus for CDs (but I don't know if it exists).

The ISO option in that list probably uses DD mode internally, if your firmware target matches the properties of your image. But that is speculation on my part.

2

In general you don't have to bother about that. These options typically are special options, or specific bootloaders you'd want in specific cases - for some reason I have a different set of options but ISO Image and DD Image are the "default" options. Syslinux and Grub are linux bootloaders you can then setup to chainload something else. UEFI NTFS sets it up as a UEFI bootable NTFS partition for whatever use you may have. I don't have the MS DOS, freedos makes a basic freedos bootable USB, and reactos asks you for an ISO.

PRACTICALLY SPEAKING, all you need to do is click on that little disk icon to the right, point it at the ISO and let rufus take care of it.

As for "why its so complex" - with 'burning' an ISO, you are literally just making a bit perfect copy. With USB boot, there's additional steps (which rufus hides beautifully).

For example, you can pick different system firmware options (classic bios, or UEFI?) which matters sometimes. You can pick a filesystem (though fat32 is always a safe option). Contrast this to "which drive do you want to burn it to"

2

I can't help but notice that your comparison of burning an ISO image to formatting and preparing a USB flash drive is not proportionate. You must either:

  1. compare burning an ISO to disc to writing a VHD to a USB flash drive

    ...or...

  2. compare formatting and preparing a bootable disc with Nero Burning ROM to formatting and preparing a bootable USB flash drive

In the first case, both ISO and VHD have formatted and prepared structure that only needs be replicated to the appropriate medium.

In the second case, you have to face various complex choices regarding the bootable CD is Nero Burning ROM, like emulation method (Floppy, HDD, no emulation) and boot sector start offset.

Now Rufus can not only format and prepare a bootable USB flash drive, it can pick an ISO image, strip its disc-related structure, extract its file, dump them on the USB flash drive and then add facilities to make the USB flash drive bootable. That's a great feat. Don't underestimate it.

  • how do I burn a vhd file and why don't more people distribute them? – William Jan 26 '17 at 21:28
  • Most flash drives are single-partition or partition-less, so it doesn't make any sense making images of them when copying their files is enough. (VHD is a very complex format.) That's a different story for hard disks though. That's why Acronis True Image can make sector-by-sector images of hard disks in VHD files and then restore them. – user477799 Jan 27 '17 at 0:31

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.