"Could Not Validate Source" Error While Burning Iso File To USB Stick On Mac

 ·  · 

Fix "Could not validate source" error when trying to burn ISO file to USB stick.


1. Issue

I was trying to burn an ISO image file to my USB stick by Mac OS Disk Utility. But Disk Utility failed to burn and give me an error: "Restore Failure Could not validate source - invalid Argument".

After googling the issue, I found that the error is caused by incompatible image file formats. Disk Utility expects Apple Disk Image, including the Universal Disk Image Format (UDIF) and the New Disk Image Format (NDIF), while the format of ISO image file is ISO9660.

Following is a list of Apple disk image formats, according to man page of hdiutil command:

UDRW - UDIF read/write image
UDRO - UDIF read-only image
UDCO - UDIF ADC-compressed image
UDZO - UDIF zlib-compressed image
UDBZ - UDIF bzip2-compressed image (Mac OS X 10.4+
UFBI - UDIF entire image with MD5 checksum
UDRo - UDIF read-only (obsolete format)
UDCo - UDIF compressed (obsolete format)
UDTO - DVD/CD-R master for export
UDxx - UDIF stub image
UDSP - SPARSE (grows with content)
UDSB - SPARSEBUNDLE (grows with content; bundle-backed)
RdWr - NDIF read/write image (deprecated)
Rdxx - NDIF read-only image (Disk Copy 6.3.3 format)
ROCo - NDIF compressed image (deprecated)
Rken - NDIF compressed (obsolete format)
DC42 - Disk Copy 4.2 image

Firstly I attempted to convert the ISO file to a UDRW image file, a kind of UDIF format.

$ hdiutil convert -format UDRW -o /path/to/dest.img /path/to/original.iso

The result of above line is a dest.img.dmg file. (My Mac OS X appends .dmg ending to the output file automatically.)

Then I tried to burn the .img file using Disk Utility, but the burning still failed with "Could not validate source" error.


2. Solution

The solution is using Linux dd command instead of Disk Utility GUI.

Checking the mounted point of USB stick:

$ diskutil list

The output was something like this:

   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *8.0 GB     disk2
   1:                        EFI EFI                     209.7 MB   disk2s1
   2:                  Apple_HFS gentoo                  7.7 GB     disk2s2

I assume that the device node of USB stick is: /dev/disk2.

Unmount it before burning, otherwise dd command will complain the stick is busy.

$ diskutil unmountDisk /dev/disk2

Then burn the image file to USB stick using dd:

$ sudo dd if=/path/to/dest.img.dmg of=/dev/rdisk2 bs=1m
# or
# sudo dd if=/path/to/dest.img.dmg of=/dev/disk2 bs=1m
# using rdiskX will be much faster

Unmount the USB stick after finishing:

$ diskutil eject /dev/disk2