HFS access on modern Macs

yeah, but it’s only the first circle. you got to give it more time.

The primary advantage of homebrew is you don’t need an older Mac or a separate Linux machine to access an orphaned HFS formatted disc.

1 Like

There’s also Catacombae - HFSExplorer, which is a Java application to browse HFS/HFS+ and disk images. Mostly useful as a way to open .dmg files on Windows, but being Java, it also be used on a Macintosh. It’s not as elegant as being able to natively mount the filesystem, but it will do in a pinch, and it’s free and open-source.

Older HFS (Mac OS Standard) filesystems are supported by Linux and older macOS versions (up to and including macOS 10.14), but users of newer versions of macOS (10.15 and later) may find HFS support useful for browsing old disks and disk images.

2 Likes

Ok, I might have something I can contribute to this discussion. Back under the Linux 2 series kernel (I’m not sure which, 2.0, 2.2 ?) there was a kernel module which allow hfs filesystems to be mounted directly. That was removed in later kernels for reasons that I don’t fathom. Fortunately, you seemed to have worked around that issue. At this point you could then use Netatalk. (though you might need a pre 3.0 version of it.) Netatalk was capable of accessing native resource forks which it would then hand off to clients. I used to have an archive of iso CD-ROM images farmed out to network clients this way. HTH

Yes. They still exist, but the kernel modules aren’t loaded by default. But you can install them with a modprobe command to make them available.

This was mentioned earlier in this thread: HFS access on modern Macs - #11 by Shamino

1 Like

Apologies for resurrecting an old thread, but I have information that most of you will likely find quite useful.

Now, whilst it isn’t that easy to restore HFS support to modern macOS (12+ on an ASi Mac), it is possible with macFUSE / FUSE-T and FuseHFS, although it does add some instability to your macOS install. Fuse-T is a kext-less implementation of FUSE and is currently the better choice, but FuseHFS is still Intel-only code and doesn’t completely work as intended under Rosetta2.

When it comes to archiving and cataloguing old stuff, half the time we just want to know what’s on the volume, the other is a desire to migrate the contents to a currently-supported file-system. I’ve come across a free drag-n-drop GUI utility (called, simply, “HFS”) that will read the contents of any HFS .dsk/.dmg/.iso/.img/etc you drop onto its window and copy them to any APFS/HFS+j/exFAT/SMB location of your choosing. It is a Universal2 app and behaves flawlessly on Monterey to Tahoe (once you’ve granted it Full Disk Access). Once you have your copy you can keep or discard the HFS original.

Getting the goods is one thing, running old software is another, and for owners of M-powered Macs the best app to have is UTM, which can do both ARM/aarch64 virtualization (using Apple’s built-in hypervisor framework) and PowerPC/Intel emulation. Getting an old Mac OS or OS X going in UTM is now incredibly simple - pre-installed and pre-configured PowerPC UTM machines for MacOS 9.1 through Mac OS X 10.5.8 can be downloaded from this archive.org collection. My top pick is the HFS-friendly Tiger 10.4.11, which can itself incorporate MacOS 9.2.2 as its “Classic Environment” and is also the last OS X which truly understands 9-and-older software properly. IA has Classic Environment installers for both Panther and Tiger available for download.

Another reason for choosing Tiger is that it is also possible to add support for MFS, the original Macintosh file-system, which means you can finally view and save stuff from that collection of 400k DSK files you could never really throw away. Original-Apple source and a ready-to-use filesystem plug-in can be downloaded from the Macintosh Garden.

(On my M2 MacBook Pro running Sonoma, I have UTM with a 10.4.11+9.2.2 PPC machine running, and in that I have BasiliskII (for 68LC040 emulation) and Mini vMac builds emulating a Macintosh Plus and a Macintosh IIx. There is literally no piece of Mac software I cannot run on my MBP, one way or another!)

9 Likes

More apologies for adding to an old thread.

“If anyone has a recommendation for a good way to add HFS+ support back to modern MacOS I’d be interested”

Most of it seems to still be there, at least in Sequoia.
(At least, if one doesn’t want encryption. I don’t.)

Here’s my m4 Mini.
1tb factory-internal SSD is hard-partitioned with 3 additional HFS+ partitions:
M4 Boot – APFS, System, etc.
M4 Main – HFS+, Main storage area for my data files
M4 Media – HFS+, Photos, videos
M4 Music – HFS+, Music (of course!)

I always did it this way before, and I wasn’t going to let Apple Silicon stop me. I’m not interested in “containers” – I wanted HARD partitions.

I can still run older 3rd party disk maintenance apps on the HFS+ partitions, if required. Can’t do that with APFS.

I’m of the mind right now that this Mini will stay with Sequoia as “the main OS” for the future. I have Tahoe on an external SSD which I can boot from and tinker with now and then.

My previous 2018 Mini is now on the back table – and it STILL is running Mojave, the OS with which it came out of the box. I have 32 bit apps on it that still work better than more modern ones (example: Unison)…!

1 Like

I don’t see anything downloadable at that URL.
I do see that an account is required.

Why are these hosted at archive.org anyway? Seems…odd.

1 Like

This is incredibly helpful info! Thanks.

OK, this is probably a stupid question because a lot of my knowledge is so out of date. If it’s true that APFS doesn’t perform well on hard disks with lots of files, why does macOS automatically format an external Time Machine drive as APFS? TM backups have badoodles of little files.

I’ve always been in the habit of formatting external non-boot drives as macOS Extended (Journaled), but after reading this, I checked my recently reformatted Time Machine external drive and to my surprise it’s APFS.

APFS doesn’t perform well on HDDs with time (when the drive starts filling up) when you have many writes and frequent changes, due to eg. modifying files (copy on write). Large fragmentation becomes a real performance problem with APFS on HDDs. But fortunately, that’s not something TM does.

TM essentially writes most stuff once and then just adds on top of that, similar to what you’d experience with eg. a media library drive. TM i/o is also heavily throttled by macOS — even using my fastest TB5-attached super fast flash, TM will rarely show above 300 MB/s. While you might not want to use APFS on a HDD used as a work or scratch drive, using it for TM archival is not a problem you would really notice. Apart of course, from when you’re browsing your TM archive and might want to restore a file. At that point iops becomes important (latency), and then the thing holding you back isn’t APFS vs. HFS+, but that HDDs are simply terrible compared to SSDs (flash) at that.

Howard Oakley has written extensively on the topic and, as usual, his explainers are just plain great.

5 Likes

Time Machine formats drives as APFS now because Time Machine has been completely re-architected to use it.

Time Machine creates a snapshot folder for each backup. The snapshot internally should only contain the changes since the last snapshot, but when accessed as a file system by the Finder it should appear to be the complete drive.

The HFS version of Time Machine does this by creating hard links from the new snapshot to the unchanged folder in the previous snapshot. You end up with lots of these hard links. And, it has to copy a lot of unchanged data to the new snapshot, because the hard links are only to directories.

The new APFS version of time machine is much simpler:

  1. Create an APFS snapshot on the Time Machine drive.
  2. Apply the changes that were detected on the source drive: delete, add, or update files and folders.
  3. There is no step 3.

The big problem with APFS on spinning metal drives is that file fragmentation as files are updated in place creates a lot of seeking. Time Machine isn’t changing files this way, so I’m thinking you don’t get the same issue. In any case, the benefits of the new APFS Time Machine architecture outweigh the disadvantages.

5 Likes

It’s good to learn that APFS makes something simpler! It has certainly complicated my life in many other ways.

SheepShaver still works with HFS images. I did it not that long ago.

Yes. Any sufficiently old version of macOS, whether running via virtualization or emulation, will be able to mount and access an HFS disk image.

Unfortunately, I don’t know of an emulator/VM system that you can use to access HFS formatted physical media, like a floppy disk or CD-ROM. They all seem to lack that ability. I’m not sure if this because the emulation-developer hasn’t implemented the feature or if Apple is making it too difficult for an app to get raw access to a removable-media storage device.

4 Likes