Accessing hybrid/data CDs under Mac OS X
Clearing out some old magazines, I recently found a pile of cover CDs that I thought I would check out before discarding.
Despite knowing that each disc had a combination of music tracks and data files, I could not find a way to get the CDs to mount as anything other than an Audio CD.
Thinking that these types of CDs were somehow not Mac OS-compatible, I booted into my Windows 7 Boot Camp partition and started upgrading everything as you do when you only boot into Windows once or twice a year. After restarting and restarting, the CDs still would not mount as anything other than an Audio CD. I then figured that I’d have more luck trying to manually mount each disc under Mac OS, so rebooted once more.
After searching around a little, I attemped to unmount the disc to then remount from the command line in Terminal.
With the disc in the drive, find the volume to unmount by running
mount and finding the entry for the CD:
mount /dev/disk0s2 on / (hfs, local, journaled) [...] /dev/disk2 on /Volumes/Audio CD (cddafs, local, nodev, nosuid, read-only, noowners)
Then unmount the Audio CD using
sudo umount /Volumes/Audio CD
Then remount manually by first creating a mount point to load the disc onto:
sudo mkdir /Volumes/MINI.win
Then attempt to mount the disc manually to the new custom volume mount point:
sudo mount_cd9660 /dev/disk2 /Volumes/MINI.win mount_cd9660: Invalid argument
No dice. Tried a few different configuration options
mount_cd9660 -er flag,
mount -t cd9660 and
mount -t udf etc. Still nothing useful.
After ejecting and re-inserting different discs for the hundredth time, I had a thought that my issues may be somehow connected to the way the OS was auto-mounting my disc each time. The clue was iTunes pestering me to import the songs from the Audio CD each and every time it was mounted.
So into the System Preferences we go to disable all ‘autoplay’ settings for CD/DVD media, as follows:
And what do you know, the disc finally mounted properly. A volume for each partition on the disc:
It may still take a few attempts at inserting, ejecting, re-inserting to get it to mount as expected, though sure beats diving into the command line each time.
Properly mounted, our
mount entry now looks something like this:
mount /dev/disk0s2 on / (hfs, local, journaled) [...] /dev/disk2s6s2 on /Volumes/MINI (hfs, local, nodev, nosuid, read-only, noowners) /dev/disk2 on /Volumes/MINI International #24 - Melbourne (cddafs, local, nodev, nosuid, read-only, noowners)
The data volume is mounted to
/dev/disk2s6s2/ as an HFS volume, while the Audio CD sits under
/dev/disk2/ as a cddafs volume.