Have you ever had a CD-ROM that showed different files on different OSes? Such as a Maple12 install CD-ROM for Windows that doesn't show any files in MacOS. There are several different ways this can happen. A common way is to make a hybrid CD-ROM with multiple filesystems using the same data. Another way is with a multi-session CD-ROM. Sometimes in MacOS you need to see what the Windows user sees. The following method deals with the hybrid case.
Optical disks, and images of optical disks, have various backwards-compatible file systems. The basic file system is ISO9660, and there are several revisions of it. All revisions are generically known as ISO9660. There are also extensions to ISO9660 for specific operating systems. MacOS uses an HFS filesystem extension, Windows uses an extension known as Joliet, and Unix uses an extension known as RockRidge. MacOS understands all these and more, but prefers its native HFS. If a CD-ROM has an HFS extension, the Mac will automatically use it. The problem is that the file listing in HFS may be different than the file listing in Joliet. So how do you force MacOS to use Joliet (or anything else) instead of HFS?
In this example, the CD-ROM is named MAPLE12. Mount the CD-ROM as normal. It should appear on the desktop. Now open Terminal, and type cd /Volumes (and press Return), which is the directory where the Finder mounts volumes. Next, type ls /Volumes (and Return) to show a directory list. You will see MAPLE12 in the list.
Next, type mount and press Return. The mount command with no options will show a list of all mounted filesystems. The one I'm interested is MAPLE12:
/dev/disk1s0 on /Volumes/MAPLE12 (hfs, local, nodev, nosuid, read-only, noowners)
The device name is /dev/disk1s0, and it's mounted at node /Volumes/MAPLE12, and it's using the hfs option.
Now type sudo umount MAPLE12 and provide your password when asked. umount unmounts the CD from the file system, but doesn't eject it. To verify this, type ls and verify that MAPLE12 disappeared from the desktop and /Volumes.
Type mkdir /Volumes/MAPLE12.win, which creates a mount point in /Volumes. I suggest you name it differently, but I could have created /Volumes/MAPLE12 again.
Now type mount_cd9660 -er /dev/disk1s0 /Volumes/MAPLE12.win. mount_cd9660 mounts CD-ROMs, but not HFS CD-ROMs. It can mount plain 9660, Joliet, and Rock Ridge CD-ROMs. -e asks mount to use any extended attributes, -r tells mount not to use Rock Ridge. That leaves only Joliet, the Windows extension, as the available extension. /dev/disk1s0 is the device name you got earlier with mount. /Volumes/MAPLE12.win is the folder created in the previous step.
Verify the CD-ROM visible on the desktop, and you'll notice that you can now see the CD as it would appear to a Windows user. If you want, you can change the options in the final mount step:
Mac OS X Hints
http://hints.macworld.com/article.php?story=20080708145453136