How to Mount & Copy HFS Classic Mac Drives on MacOS

Feb 27, 2024 - 4 Comments

Copy classic Mac HFS drive data to modern MacOS

Modern versions of MacOS no longer support HFS, meaning that new Macs can no longer read, mount, or write to classic HFS drives. But a fair amount of longtime Mac users continue to have older Macs and old Mac hard drives that are in HFS format, way back from the days of Mac OS 8, Mac OS 9, and early Mac OS X, and thus may wish to mount, read, and copy files from those old classic HFS volumes, to their modern Mac.

If you attempt to mount an HFS drive in modern MacOS, you will see an error message stating “Could not mount “Name”. (com.apple.DiskManagement.disenter error 49153.)” But don’t despair, there’s a solution available.

Officially, MacOS abandoned support for writing and formatting to HFS in Mac OS X Snow Leopard, and then MacOS abandoned HFS read support in macOS Catalina 10.15, so basically any modern MacOS system does not have the ability to do anything with these drives, including Sonoma, Ventura, Monterey, etc.

If you need to mount and read data from a classic HFS formatted drive or volume, and you’re running macOS Sonoma, Ventura, or newer operating systems, you can still do so with the help of a HomeBrew tool called hfsutils.

How to Mount & Copy Data from HFS Drives to Modern MacOS

  1. If you haven’t done so already, install Homebrew on macOS Sonoma or Ventura or newer before anything else, this is required to be able to easily install hfsutils
  2. Install hfsutils by using the following brew command:
  3. brew install hfsutils

  4. With hfsutils installed, connect the HFS drive to the Mac, then back at the command line, use the following command to discover the device identifier:
  5. diskutil list

  6. Locate the name of the HFS volume, and then look under the “IDENTIFIER” column to find the device ID, it will be something like “disk3s5”
  7. Now mount the HFS drive based on that identifier, like so:
  8. sudo hmount /dev/disk3s5

  9. With the drive mounted, you can now list out the contents of that HFS drive using the ‘hls’ command (regular ls will not work)
  10. sudo hls

  11. The paths for HFS are delineated by : colon rather than forward slash /, so you need to use : instead, for example to look into “Documents” it would be:
  12. sudo hls ":Documents"

  13. To copy files from the “:Documents” folder on the HFS volume to the current Mac, it is recommended to change your PWD to the destination folder you have in mind, then use the following type of syntax, in this example we’re using a wildcard * to copy everything from the Documents folder to the PWD:
  14. sudo hcopy -r ":Documents*" ./

  15. Confirm in the Finder (or Terminal) that your data copied from the HFS volume to the modern Mac
  16. When finished copying data from the HFS volume, you can unmount the drive with:
  17. humount

Your files and/or data should now be copied from the classic HFS volume to the modern Mac file system, even if it’s running macOS Sonoma or a new operating system.

This tip was inspired by a post I found on MJTSai, and made me remember that I have at least a half-dozen old Mac drives with some ancient digital content that I don’t want to lose access to. MJTSai pointed to this from MattthewHughes.co.uk, which referenced this from SwissMacUser.ch, so each of those posts were used as some reference material for this article, cheers to them!

Do you still have any old Mac classic drives or volumes in HFS format that contain data you’d like to access? Did the hfsutils solution discussed here work for you to copy data from those volumes? Did you find another solution? Let us know what worked for you, to access and copy data from old HFS drives, to modern MacOS!

.

Related articles:

Posted by: Paul Horowitz in Command Line, Mac OS, Tips & Tricks

4 Comments

» Comments RSS Feed

  1. Joachim Falkenhagen says:

    Ich habe versucht meine alte Festplatte zu mounten. Hier das Ergebnis. Immer “Busy”?!

    joachimfalkenhagen@iMacvonJoachim ~ % diskutil Liste /dev/disk0 (intern, physisch): #: TYP NAME GRÖSSENKENNUNG 0: GUID_partition_schema *1,0 TB Festplatte0 1: EFI EFI 209,7 MB Festplatte0s1 2: Apple_APFS Container-Festplatte2 1000,0 GB Festplatte0s2 /dev/disk1 (intern, physisch): #: TYP NAME GRÖSSENKENNUNG 0: GUID_partition_schema *28,0 GB Festplatte1 1: EFI EFI 314,6 MB Festplatte1s1 2: Apple_APFS Container-Festplatte2 27,6 GB Festplatte1s2 /dev/disk2 (synthetisiert): #: TYP NAME GRÖSSENKENNUNG 0: APFS-Containerschema – +1,0 TB Festplatte2 Physische Speicher disk1s2, disk0s2 1: APFS Volume Macintosh HD – Daten 149.4 GB disk2s1 2: APFS Volume Preboot 2,2 GB disk2s2 3: APFS Volume Recovery 1,2 GB Festplatte2s3 4: APFS Volume Macintosh HD 10,2 GB Festplatte2s4 5: APFS Snapshot com.apple.os.update-… 10,2 GB Festplatte2s4s1 6: APFS Volume VM 1,1 MB Festplatte2s5 /dev/disk3 (extern, physisch): #: TYP NAME GRÖSSENKENNUNG 0: FDisk_partition_scheme *2.0 TB Festplatte3 1: Apple_HFS sicherung_1 1.8 TB disk3s1 2: Apple_HFS Programm-Installer 200,0 GB Festplatte3s2 /dev/disk4 (extern, physisch): #: TYP NAME GRÖSSENKENNUNG 0: Apple_partition_schema *40,0 GB Festplatte4 1: Apple_partition_map 32,3 KB disk4s1 2: Apple_Driver43 28,7 KB Festplatte4s2 3: Apple_Driver43 28,7 KB Festplatte4s3 4: Apple_Driver_ATA 28,7 KB Festplatte4s4 5: Apple_Driver_ATA 28,7 KB Festplatte4s5 6: Apple_FWDriver 262.1 KB Festplatte4s6 7: Apple_Driver_IOKit 262.1 KB Festplatte4s7 8: Apple_Patches 262.1 KB Festplatte4s8 9: Apple_HFS Macintosh HD 37,2 GB Festplatte4s9 (freier Speicherplatz) 2,8 GB – joachimfalkenhagen@iMacvonJoachim ~ % sudo hmount /dev/disk4s9 hmount: /dev/disk4s9: Fehler beim Öffnen des Mediums (Ressource besetzt) joachimfalkenhagen@iMacvonJoachim ~ %

  2. Jan Steinman says:

    While I deeply appreciate learning about (and installing!) `hfsutils`, there is a simpler way of accessing old disks: mount them on a Mac running an appropriate version of MacOS, share that volume, then mount it on the “too new” Mac as a network volume.

    This is the only reason I keep an old Mac Pro 1,1 around. But it could be done on a Mac Mini and USB or FireWire disk adapter.

  3. Michael Kemper says:

    Last login: Tue Feb 27 14:44:52 on ttys000
    You have new mail.
    mckemper@iMac-45320 ~ % brew install hfsutils
    ==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:02180ca8b8295422ae84921bcf034b7ee8ce5575488bd5e6a37a192e53cd5d34
    ### 5.5%curl: (92) HTTP/2 stream 1 was not closed cleanly: PROTOCOL_ERROR (err 1)

    Error: Checksum mismatch.
    Expected: 02180ca8b8295422ae84921bcf034b7ee8ce5575488bd5e6a37a192e53cd5d34
    Actual: 46f4a429aa00094683ee7f23ef1e818c4c905083d3850d61501ba2ce710b5da4
    Archive: /Users/mckemper/Library/Caches/Homebrew/portable-ruby-3.1.4.el_capitan.bottle.tar.gz
    To retry an incomplete download, remove the file above.
    Error: Failed to install Homebrew Portable Ruby (and your system version is too old)!
    mckemper@iMac-45320 ~ %

    I am running the latest version of Ventura, 13,6.4

Leave a Reply

 

Shop on Amazon.com and help support OSXDaily!

Subscribe to OSXDaily

Subscribe to RSS Subscribe to Twitter Feed Follow on Facebook Subscribe to eMail Updates

Tips & Tricks

News

iPhone / iPad

Mac

Troubleshooting

Shop on Amazon to help support this site