Possible to mount HFS+ CD-ROM?

About SheepShaver, a PPC Mac emulator for Windows, MacOS X, and Linux that can run System 7.5.3 to MacOS 9.0.4.

Moderators: Cat_7, Ronald P. Regensburg, ClockWise

Post Reply
volcs0
Space Cadet
Posts: 4
Joined: Tue Apr 21, 2020 1:46 pm

Possible to mount HFS+ CD-ROM?

Post by volcs0 »

I have an external CD/DVD connected to my MacbookPro running 10.15.
I can mount the drive from the command line using HFSUtils
https://swissmacuser.ch/hfs-volume-data ... ror-49153/
I can copy files to my mac and the transfer them to SheepShaver and then try to open them (e.g., with WordPerfect).
Is there a way to mount the drive directly in the emulator?
Ideally, I would even be able to traverse the folder structure and open files directly.

Thanks.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Possible to mount HFS+ CD-ROM?

Post by adespoton »

SheepShaver does have the option to read from a physical CD-ROM drive. However, if the drive isn't being presented by the OS as a standard CD-ROM drive, you may have issues in SheepShaver; it would probably be simpler to just use Disk Utility to image the contents and mount THAT in SheepShaver.

Just a note: the data on that page you link is technically wrong. macOS can mount HFS+ drives just fine, and has no need for FUSE. Hfsfuse is specifically a wrapper around hfsutils that, on OLDER OS X versions, will allow them to mount HFS partitions directly into the OS. Since macOS, this has been progressively broken until under Catalina, I can't get hfsfuse to work at all. It needs components moved to different system locations, and needs to use a different API to mount the filesystem, so it's no small task to fix it. I've got a bug report in on the github repo; we were able to fix things back when El Capitan broke it with security restrictions, but that just involved fixing the installer.

A word of warning: I was messing around with trying to create a fix to allow HFS read/write in Catalina a few weeks back (using hfsutils) and ended up breaking sparsebundle support instead -- which meant my backups couldn't be mounted to restore from backup.

The other issue is regarding the old NDIS image format. Disk Utility will only convert this format and will not use it natively. The hfsfuse plugin will, so if you've got an HFS+ volume in an old NDIS image, you'll need FUSE to mount it without conversion.

Anyway, after that long explanation: other than imaging the entire disc using Disk Utility and mounting the image, your other option is to use QEMU which should be able to capture the entire USB device and present it to the emulated OS. So if the drivers are present, it should be able to load and mount the CD.
volcs0
Space Cadet
Posts: 4
Joined: Tue Apr 21, 2020 1:46 pm

Re: Possible to mount HFS+ CD-ROM?

Post by volcs0 »

Thank you for this explanation.

The CDs I put in the drive are not mounting in Catalina. They are from 1995-1996, and I assume are in original HFS format. Option 1 on that page (FUSE driver) did not work for me. I used option 2 (HFSUtils), and am able to mount the disc from the command line, using hmount and copy files using hcopy. The drive never appears on my desktop. When I start up Sheepsaver, it recognizes that there is a disc and tells me that it cannot read it and asks if I want it formatted. It only recognizes the disc if I have mounted it using HFSUtils.

I will investigate the other options you mention. Ultimately, I want to read these old CDs in and open and convert all of the text files - many of them in Clarisworks and WordPerfect.

Thanks for the help.
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Possible to mount HFS+ CD-ROM?

Post by Ronald P. Regensburg »

adespoton wrote:it would probably be simpler to just use Disk Utility to image the contents and mount THAT in SheepShaver.
In Catalina it is not possible anymore to use Disk Utility to create an image from a HFS (CD-ROM) volume.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Possible to mount HFS+ CD-ROM?

Post by adespoton »

Really? I thought you could still just image the entire disk and ignore the internal partition formattng? It should at least be possible to do it using dd.

What makes it trickier is that you can't mount the volume first, and so the OS may eject the disc instead of letting you load but not mount it.

I don't have a computer with an optical drive that will run Catalina, so I could be totally wrong with this.

Another option may be booting an older OS in a VM and attaching the drive to the VM; then the host OS should never see the disc content (using QEMU would work in a similar way; unfortunately, SheepShaver works differently).
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Possible to mount HFS+ CD-ROM?

Post by Ronald P. Regensburg »

The CD volume appears greyed in Disk Utility. It cannot be activated, it can be selected and it can be ejected from Disk Utility. Creating a new disk image fails. When Disk Utility is sudo opened from Terminal, creating an image from the CD volume seems to proceed normally, but the resulting image appears to be useless and cannot be mounted in SheepShaver.

Edit: I chose the wrong format. I will try again
Last edited by Ronald P. Regensburg on Tue Apr 21, 2020 9:05 pm, edited 1 time in total.
Reason:  
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Possible to mount HFS+ CD-ROM?

Post by adespoton »

Do either of the following work?

Use

Code: Select all

diskutil list
to grab the diskn value, then...

Code: Select all

sudo umount /dev/diskn; sudo hdiutil create -srcdevice /dev/diskn -format UDTO image.iso
or

Code: Select all

sudo umount /dev/diskn; sudo dd if=/dev/diskn of=image.iso
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Possible to mount HFS+ CD-ROM?

Post by Ronald P. Regensburg »

Success!

In Terminal do

Code: Select all

sudo /System/Applications/Utilities/Disk\ Utility.app/Contents/MacOS/Disk\ Utility
(Note the path that reflects the hidden double volume in Catalina.)

The CD volume will appear greyed in the left column in Disk Utility but can be selected.
Create new image from the CD volume from the File menu.
In the Save dialog choose DVD/CD master for the format.

The resulting image file can be added to the volumes list in SheepShaver preferences and will appear on the emulator's desktop. It will be mounted as CD if the CDROM box was checked in the volumes list.
volcs0
Space Cadet
Posts: 4
Joined: Tue Apr 21, 2020 1:46 pm

Re: Possible to mount HFS+ CD-ROM?

Post by volcs0 »

This is great. I will test when I get home and report back. Thanks!
User avatar
Ronald P. Regensburg
Expert User
Posts: 7821
Joined: Thu Feb 09, 2006 10:24 pm
Location: Amsterdam, Netherlands

Re: Possible to mount HFS+ CD-ROM?

Post by Ronald P. Regensburg »

When you try, note this 'Known issue' from the SheepShaver setup manual:
Bug with the mount image as CD-ROM feature
Unintended behavior when you try to remove/eject a virtual CD-ROM from within SheepShaver which under some circumstances can only be resolved by quitting SheepShaver.

This issue can be avoided by only adding and removing disk images as CD-ROM in the Volumes list in SheepShaver Preferences. (As always: After a change in preferences settings quit SheepShaver and launch it again for the change to take effect.)
volcs0
Space Cadet
Posts: 4
Joined: Tue Apr 21, 2020 1:46 pm

Re: Possible to mount HFS+ CD-ROM?

Post by volcs0 »

Thanks.

This method worked.

When I put the disc in, Disk Utility showed the Disk and the volume - volume greyed out.
I right click on the volume and choose "make image" and select CD/DVD.
The imaging process worked on some of the discs but was finicky if there were scratches, etc. and would sometimes error out.
It's all-or-nothing with the image.

Within Sheepshaver preferences, add the volume (suffix is .cdr) and tick the CDRom box.
Then, as noted above, you have to actually quit Sheepshaver and restart (not just restart the OS9 instance).

A few notes:
1. If your CD is still in the drive, Sheepshaver will complain on restart - telling you it can't read the drive and offering to eject/initialize it.
2. Sometimes, I would open a folder on the CD image within Sheepshaver and there would be nothing in it. Once this happened, all the folders appeared empty, and I had to restart the instance to see the files again. Strange behavior.

Overall, I think this method is a good one, since I now have backed-up images of the discs on my Mac hard drive.
The all-or-nothing imaging is frustrating, since even a few bad sectors will prevent you from reading the disc.
If this is the case, you can probably resort to the HFSUtils method linked above, since it allows you to mount the disc from the command line and traverse the file structure and copy individual files.

I haven't tried this yet with commercial discs - only ones that I wrote to as backups. But I'll give that a shot next.

Thanks for all the tips and advice.
emendelson
Forum All-Star
Posts: 1706
Joined: Tue Oct 14, 2008 12:12 am

Re: Possible to mount HFS+ CD-ROM?

Post by emendelson »

I've used Windows-based software that tries to read CDs at a very slow speed when ordinary copying doesn't work. It may be possible to find that for a Mac, though of course it wouldn't help in this particular case.

Also, the scratches are probably in the outer coating, not the data, so there are products that try to polish the outer coating. It may be worth trying that after you've tried everything else.
User avatar
adespoton
Forum All-Star
Posts: 4226
Joined: Fri Nov 27, 2009 5:11 am
Location: Emaculation.com
Contact:

Re: Possible to mount HFS+ CD-ROM?

Post by adespoton »

Older versions of HDIUtil had the option to use increased error correction when reading discs; I don't appear to see that option anymore though.
Post Reply