dd producing corrupt ISO images on Snow Leopard (whether invoked from a script or the shell)

Alright, I am probably being an idiot here, but I am writing an ISO-ripping util that is really just GUI slapped on top of dd, and I can't coax the thing to produce non-corrupt ISOs on Snow Leopard. I have tried the following variations (all with /dev/disk1 unmounted as it should be):

dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso bs=2048 conv=sync,notrunc
dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso bs=2048 conv=notruc 
dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso bs=2048
dd if=/dev/disk1 of=/Users/[me]/Desktop/anIso.iso

in all four cases, clicking the iso that is produced gives me a popup that says "the following disk images could not be read" and lists the file. If it's any use, output (at least for the first variation of the command) is:

408258+1 records in
408259+0 records out
836114432 bytes transferred in 513.382815 secs (1628637 bytes/sec)

Any ideas? I read the man pages, variation 1 definitely seems like it should produce an iso from the specified cd


For a CD-ROM, use /dev/disk1s0 and not /dev/disk1.

/dev/disk1 will access the raw 2352-byte blocks, which is useful if you are reading an audio CD. On a CD-ROM, 2048 of the 2352 bytes are used for data and most of the rest are for error correction. When you read /dev/disk1s0, it will use the error correction codes to correct any errors if possible and return the (possibly corrected) 2048 data bytes of each block, which is what you want for an ISO image.

Note that this is different for DVD-ROM, where you would use /dev/disk1. DVD-ROM uses a different error correction scheme which spreads the data across the disk more in order to provide better error resilience. There is not a separate device name that can be used to read the DVD data with the error correction codes included.


Audio CDs are generally not ripped with dd and stored as ISOs. Audio CD data (CDDA) is closer to tracks on a phonograph record, spiraling inward with gaps marking the boundaries. They do not contain a filesystem.

Instead, audio CD data is usually ripped with programs like cdrdao or cdparanoia. Instead of an ISO file, audio CDs are generally stored as BIN/CUE pairs, WAV/CUE pairs, or individual WAV files for each track. The CUE file is an ASCII text file containing the layout of the tracks, and the BIN or WAV files contain the actual audio data.

With cdparanoia:

# read cd's table of contents
cdparanoia -Q

# rip several (1 thru N, inclusive) tracks to one big file
cdparanoia --batch 1-N bigfile.wav

With cdrdao:

cdrdao read-cd --read-raw --datafile foo.bin --device ATAPI:0,0,0 --driver generic-mmc-raw foo.toc

See the Ripping and Burning from the Command Prompt How-To for lots more gory details.