Posted by & filed under OS X.

OS X comes with a pretty handy tool for working with disks and burning disk images called Disk Utility. Unfortunately, it doesn’t seem to work for burning ISO images to USB drives. Chances are, if you’re reading this, you’ve already tried to burn an ISO image to a USB drive using the utility and were greeted with some sort of cryptic errors like these:

To restore the disk image, Disk Utility must scan it first.

To restore the disk image, Disk Utility must scan it first.

 

Unable to scan ISO file. (Invalid argument)

Unable to scan ISO file. (Invalid argument)

 

Basically, it means that Disk Utility has no idea what the hell it is doing.

Luckily for us, this is a BSD machine, and the terminal has some useful commands for us. Open up terminal, and run the command diskutil list. Assuming your USB drive is plugged in (hint hint), you will be greeted with a list of drives similar to this:

/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *128.0 GB   disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS System                  127.2 GB   disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *750.2 GB   disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS Media                   649.8 GB   disk1s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk1s3
   4:                  Apple_HFS Server                  99.3 GB    disk1s4
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *8.0 GB     disk2
   1:             Windows_FAT_32 BFPORTABLE2             8.0 GB     disk2s1

Of course your partitions won’t look as cool as mine, unless you’ve ripped out your optical drive and shoved in a second harddrive. Anyway, one of those devices should be your USB drive. In my case, it is /dev/disk2.

At this point, you’ll want to unmount the partition, although you don’t want to eject the drive. I’m not really sure what that means, but it has the effect of removing the partition from being mounted in the filesystem (e.g. disk2s1 being mounted as /Volumes/BFPORTABLE2), but the disk itself is still accessible as /dev/disk2. You can open Disk Utility, right click on the Partition (but not the physical device), and click unmount (not eject).

After this, you can execute the dd command, which is used for duplicating disk drive images. You’ll want to run the following command:

sudo dd if=~/Downloads/DISK-IMAGE.iso of=/dev/DRIVE-NAME bs=1m

What it all looks like in my terminal. You can see that I ran the diskutil list command to find my partition, attempted to run the dd command without sudo and it failed, then I ran it with sudo again and it failed, so I went to Disk Utility, ejected it, and ran it again and it succeeded. The process will take a while before it completes copying to your device.

Burn ISO to USB

Using dd to burn an ISO to a USB drive on OS X

DTSE9 32GB USB Drive If you happen to be looking for a good USB drive, I would hands down recommend the Kingston SE9 32GB. It’s only $12 on Amazon. I’ve had mine for years, it’s solid as a rock, and the solid minimalist aluminum casing looks great. I’ve burned several different Linux distros on it by now without problem.

Thomas Hunter II

Thomas is the author of Advanced Microservices and a prolific public speaker with a passion for reducing complex problems into simple language and diagrams. His career includes working at Fortune 50's in the Midwest, co-founding a successful startup, and everything in between.
  • Use `rdiskN` instead of `diskN` => it’s amazingly faster.

    • Adrian

      Listen to this guy use dd if=isoname.iso of=/dev/rdisk1 bs=1m
      Approx 20x as fast

  • Works like a charm!

    Nice to add: Unmount (dont eject) the USB disk partition otherwise you get the same error: Resource busy

    • Brad

      Here’s how to unmount it correctly:

      $ sudo diskutil unmount /dev/disk8s1
      Volume NO NAME on disk8s1 unmounted

    • Marika

      Thanks a lot! Unmounting USB solved the problem. I was fighting it way too long!

  • Thank you (x1,000)!!!!!! I tried using hdiutil and it didn’t work because the disk image is over 2GB. This worked like a charm and was much easier!

  • Christian Saborio

    Thank you!

    “it means that Disk Utility has no idea what the hell it is doing.” –> Best explanation ever :D

    • “it means that Disk Utility has no idea what the hell it is doing.”

      +1 about being epic explanation :D

  • Fab

    I get a “dd: unknown operand OS” message

    • J Jackson

      I’m getting same error osx 10.9.5

  • Manuel

    How much time really? I think mine is running at least now for 25min..

    • Seriously, yeah. The terminal window isn’t even indicating that it’s loading on my computer. How long is the disk copying supposed to take? And is there any way to tell if it’s taking place successfully?

      • Jack

        been waiting a hour how long is it suppose to take

        • Sarah

          You can press control+t to check it’s progress. Also, use `rdiskN` instead of `diskN` since it’s faster. I just used UNetbootin though, and I’d recommend it.

  • Tony

    Don’t waste your time using the CLI. Use http://unetbootin.sourceforge.net/
    And it will indicate remaining time (about 6mins for a windows7 usb)

    • Nat

      hi tony,

      I don’t think this works as the program indicates you can’t use the usb to boot on a mac which i’m guessing is what people may be wanting to do

  • Phallus

    Good job you have ruined my flash drive, I can no longer get it detected in either Windows, Linux or OS X.

    • Paul

      lol. they don’t call “dd” Death and Destruction for nothing. dd is an incredibly powerful, and dangerous, utility. I doubt it’s ruined though. Just use dd to fix it.

  • Skrettis

    Example with an ISO from apricorn.com for cloning using a PC written on ISO written from OSX Yosemite
    1) I found usb on /dev/disk2 with command: diskutil list
    2) sudo diskutil unmountDisk /dev/disk2
    3) sudo dd if=~/Downloads/EZGIG438.ISO of=/dev/disk2

  • Kenan

    Worked.
    I ‘burnded’ the iso to my Scan Disk.
    Will this be bootable? e.g. when I plug it into my car (Navigation)

  • Here the command in Yosemite

    bash-3.2# diskutil unmountDisk /dev/disk1
    Unmount of all volumes on disk1 was successful
    bash-3.2# sudo dd if=~/Downloads/Yosemite-Zone.iso of=/dev/disk1

  • Logan

    For those who are experiencing long wait times, changing block size drastically speeds up the conversion. adding ‘bs=8192’ to the end of the dd line sped mine up by a factor of ~6. bs=1m (for some systems) or bs=1048576 (for most others) would cut the time down hugely. End code:

    dd if=/path/to/source of=/dev/disk# bs=1048576

    • Excellent point, Logan. Adding bs=1m helped a lot:

      % dd if=/Volumes/Storage/ubuntu-14.04.2-desktop-amd64.iso of=/dev/disk3 bs=1m
      1044381696 bytes transferred in 483.633793 secs (2159447 bytes/sec)

      I will update the post.

  • supercybercow

    I’m trying this right now with real hdd drive as target, let see where it goes

  • Serge E

    Worked like a charm – wrote to microSD sanDisk. A bit disconcerting that there is no progress status, but removing the USB adapter holding the sanDisk and reinserting it showed the proper volume name AND content on the Mac… Now to see if I can reload unto the MS Surface after the Windows 10 fiasco (reverting out of Win10 is a big mess w/ loss of just about everything !)

    • Serge E

      Well that … didn’t work. The Surface is not seeing anything on the USB, reporting it needs to be formatted.

  • Serge E

    So I download Rufus placed it and the ISO on the USB key, copied over the C: drive of the limping Surface and used Rufus to write the ISO to the USB key. It copied, but the Surface still didn’t want to boot from the USB !!!

    So I just started setup.exe off the USB key and now it’s doing a clean install over whatever the Surface had …..

    I should of done that from the beginning, much simpler then all the fiddling around. Actually, I should of stayed away from a free Micro$oft O/S to start with. Let someone else work the bugs out, MS to issue daily updates & keep working on my Mac, now 5+ years old with no issues with any of the O/S updates, not even a lack of RAM

    Live and learn, eh ?

  • Michael

    This worked for me when using the Elementary OS .iso file. It didn’t work for the GParted Live .iso or a recent Puppy Linux .iso. Anyone got an idea of why that might be the case?

  • alex

    Worked for me. Useless coz its not bootable. What is even the point of burning an iso to a usb if the result is not bootable?

  • Neil

    Hi – will let you know how I get on with this.
    Alex – I don’t want to create a bootable USB – I’m just being tight and impatient – I’ve downloaded an ISO of MS Office from my work’s FTP server and want to install it without going out to buy a blank DVD that I’ll likely never use again. I just need to install Office and then reformat the USB for normal use.

    As others have said, the lack of progress is scary – also I had problems entering my password in Terminal – it wouldn’t accept any typed entries the first couple of times. So I pulled out the USB to start again (seemingly being unable to eject it as it was unmounted) and when I put it back in, the Disk image was there. Well – half there – in name only – not actually usable as it was incomplete.

    I’ll update as as soon as I have any results!

  • Neil

    Haha!

    Success! Thank you. It took around 15 minutes to burn to the USB eventually. When I removed then replaced the USB, it showed on the desktop as Office 2016 VL. I opened it to find a PKG file – dragged it to the desktop and installed from there perfectly.

    For a non-tech like me, I will admit to concern with running Terminal and Disk Utility without proper knowledge and am relieved to still have a MacBook in working order!

    Neil

  • Mathew

    Monitoring DD on OSX:
    If you want to maintain a watch on the burn process you need to open a NEW Terminal window (do not close the existing one).
    In the new terminal window type this command (remember to adjust the disk# to match your USB stick):
    iostat -Iw 5 disk1
    This example gives an update of progress every 5 seconds for activity on disk1.
    Change the 5 to another number for a different interval.

  • Prisca

    Hi, I just wanted to thank you for this article. I have used this method multiple times and it worked great. Thanks!

  • alex

    how can i tell that the burning of the .iso is even happening? is there a message after you enter your password that says the process actually started?

    • Tomas

      ctrl+t will show you the progress.

    • SirTech

      if you hit Ctrl+T while the operation is running, you will see how much has been completed on the write process.

    • Andre

      Launch Activity monitor to see disk activity. You’ll see if it’s working right away.