# Why does liveiso-to-disk command exist if there already is the dd command?

I mean...is there any difference between these two commands? (regarding the matter of burning an livecd iso into an usb pen). Thanks!

edit retag close merge delete

I think liveiso-to-disk was supposed to make things easier, and be more specific to creating live USB drives. Unfortunately, I've found that liveiso-to-disk is less reliable than a simple dd...

( 2013-09-24 16:27:40 -0500 )edit

Sort by » oldest newest most voted

I can’t give an official or definitive answer, but here are some thoughts. First some background, which can be skipped if you just want a list of differences.

The mechanisms by which PCs boot from optical discs and magnetic and solid-state disks are quite different. Magnetic and solid-state disks have a boot sector—the first 512 byte sector of the disk—which is loaded and directly executed by BIOS without it needing to understand partitions or file-system formats. Optical discs don’t have a boot sector, so instead a particular file on the disc is flagged as a boot image (via an extension to the ISO9660 file-system standard called “El Torito”).

This is complicated by the fact that media with boot sectors can also be divided into partitions, and the (DOS) partition table uses part of the 512 byte space, leaving… not much space for a boot-loader. Thus there is usually a minimal stage 1 boot-loader in the boot sector, which simply loads a bigger, more complete boot-loader from elsewhere. In Linux, when DOS partitions are used, the gap between the boot sector and the first partition is used for stage 2. With the newer GPT partitions, that gap contains the first GPT, so instead a small “BIOS boot partition” is used (in Linux). Windows uses a the first few sectors of its partition for its stage 2 boot-loader.

Then there is the BIOS successor, UEFI, which can read partitions and the vFAT file-system, and loads boot-loaders from files.

Tools like liveiso-to-disk, liveusb-creator, and UNetBootin, all take an ISO with an El Torito-based boot-loader (isoinux), copy the files to a disk with an existing file-system (either vFAT or Ext2/3/4), and install a boot-sector–based boot-loader (syslinux or extlinux, depending on the file-system).

Now it turns out that the ISO9660 file-system used on optical discs is quite flexible. It is possible to “hide” a boot sector at the start of an ISO and have it ignored when booting from an optical disc. That is called a hybrid image, and the tools for creating them are relatively recent. That is what makes it possible to dd the ISO directly to the USB device and boot it.

So why keep both methods available?

• Using dd will destroy any data already on the USB, whereas the old methods leave existing files intact.

• Using dd gives you no choice about how or whether the USB is partitioned—the partition table is hard-coded into the ISO.

This last point is important, because an awful lot of BIOSes have bugs relating to booting from USB, and even the ones that work well often handle partitioned and unpartitioned USB devices differently. Not all methods produce devices that can boot on all systems.

So, use whichever method is most convenient for you that works on your machines. Be prepared to try other methods if it doesn’t work. Good luck…

more

Oooh, what an answer!!! Incredible, spectacular!!! Thanks, thanks, thanks!!!!

more