How to Burn an ISO Image from Command Line of Mac OS X
The most straight forward way to burn an ISO from a Mac is using Disk Utility, but you can also burn ISO’s and disk images directly from the command line with the help of a tool called ‘dd’. This works for Mac OS X and Linux, but we’re going to be focusing on the Mac here.
This dd burn function will work to burn an ISO to any target volume, be it a disc, hard drive, USB drive, memory card, DVD, or whatever other media you point it at.
dd can be advantageous for several reasons. For one, the command line aspect makes it easy to use through a remote SSH connection, but perhaps more useful is dd’s low-level functionality which is generally faster than alternatives and could circumvent some error messages.
Because this is a command line tool it should be considered mostly for advanced users, and although this is written with Mac OS X in mind it should work with Linux as well, with the exception of the diskutil command. As usual, be certain that all syntax is entered properly to avoid potential problems, and if in doubt, just stick with a simpler method from the GUI.
How to Burn an ISO from the Command Line with dd
The first thing you’ll need to do is find the disk or drive from the command line:
diskutil list
Locate the name of the destination drive in the mounted drives list and make note of its “IDENTIFIER” code, this should be something like “disk1s1” but it will likely be unique to your machine.
Using the identifier you just found, unmount the disk but do not disconnect it from the Mac:
sudo umount /dev/disk1s1
Enter the administrator password when requested to complete unmount.
Burning a disk image using the command line tool ‘dd’ uses the following syntax:
dd if=/path/to/image.iso of=/dev/disk1s1
For example, to burn an image located on the desktop of user “Will” called “OSXMountainGorilla.iso” the command would be:
dd if=/Users/Will/Desktop/OSXMountainGorilla.iso of=/dev/disk1s1/
You will notice that dd does not give you updates or a status bar, but when the command is finished running you will be returned to the standard terminal prompt.
Any disk image should work as dd is not limited to ISO. You could use this tool to make bootable Mac OS installation drives as well, including for for OS X Mountain Lion and OS X Lion, and for any others as long as you have a disk image to work with.
Pressing [control]-[t] while DD is running will give you the current status.
It works. thanks.
This is completely wrong. You will end up hosing your disk or burning a coaster.
Use hdiutil as mentioned by “me”
This is not wrong. Don’t spread false information. DD (Disk Druid) is the most generally accepted way to perform tasks like this on both OS X and Linux machines. DD works, it’s fast, and hdiutil while effective is generally more difficult for beginners to use by copying commands from a website as I’m sure we’ve all done in the past.
TL;DR – Wrong is wrong. DD is good. hdiutil is also fine, but hard to use properly.
dd is much more complicated. If you only have one burner.
Command line for hdiutil is
hdiutil burn
I don’t see how that is more complicated than dd. :) But I do use dd for a lot of other things.
lol try that again.
hdiutil burn “filename”
[…] any source disk or data by using the command line in Mac OS X. This isn’t too different than burning them through Terminal, and you can use either the hdiutil tool or dd […]
I think the command parameters are reversed. It should be dd count=1 if=/dev/disk1s1/ of=/Users/Will/Desktop/OSXMountainGorilla.iso
By reversing the parameters, you end up creating an ISO rather than burning it.
man hdiutil
sh-3.2$ hdiutil burn
hdiutil: burn: no input file specified
Usage: hdiutil burn [options]
hdiutil burn -help
sh-3.2$
I can’t use the “unmount” command. Everytime time i try i get the message:
unmount: command not found
How can i install the “unmount” command?
Typo, should be ‘umount’ not ‘unmount’
Thanks for catching that.
Something strange, I tried ‘umount’ and get this message:
umount(/Volumes/SEM TITULO): Resource busy — try ‘diskutil unmount’
Then i tried what terminal told me to do, ‘diskutil unmount’ and it worked.
I will try to finish the tutorial this way and see if it work.