So I wanted to backup an old DVD disc digitally in macOS Catalina, but to my surprise it was not mountable using Disk Utility – only showing the error:

Could not mount (com.apple.DiskManagement.disenter error 49153)
Screenshot of Disk Utility in macOS showing Apple_HFS com.apple.DiskManagement.disenter error 49153

And by using the following Terminal.app command it did not work either, not giving more clues about the underlaying error unfortunately:

% diskutil mount disk3s1s2
Volume on disk3s1s2 failed to mount
If you think the volume is supported but damaged, try the "readOnly" option

By inspecting the technical details of the disk lead me to a clue, that the old – in the meantime unsupported – Apple_HFS format may be the issue. A web search confirmed this assumption.

% diskutil list
...
/dev/disk3 (external, physical):
  #:            TYPE NAME             SIZE      IDENTIFIER
  0:  CD_partition_scheme        *790.5 MB      disk3
  3:       >>>> Apple_HFS <<<<    653.5 MB      disk3s1s2

But for sure you can somehow teach macOS Catalina the ancient language of «HFS» – Apple’s own Hierarchical File System format – right?
And thanks to Unix: yes, you can!


Teaching macOS to read HFS volumes

Bringing back HFS support to macOS comes in 2 variations:

  1. HFS+ Plus – best case: a simple and well supported solution
    HFS+ = Mac OS Extended
  2. HFS – the “oh f*ck” case: a more complex, technical solution
    HFS = Mac OS Standard or HFS Standard

Unfortunate for me, I had to go down the road of the 2nd approach.
But fortunate for you, because I can explain you here both approaches.

I definitely recommend to start with approach #1 if you can. Both solutions work alongside each other.

Prepare reading HFS formats in macOS: install Homebrew

Photo showing Homebrew on macOS

For either of the following cases, you need to install Homebrew – the Missing Package Manager for macOS (and Linux).

  1. Open the Terminal.app from Utilities folder (CMD+E in Finder)
     
  2. Paste the following command & start it by pressing RETURN
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

Follow the instructions in the Terminal window until the installation on your system has finished successfully.
 


#1 – Best case scenario:
reading HFS Plus (HFS+) volume format

For this you will first need to install the FUSE application for macOS, accompanied with a separate FUSE driver framework.

First: Install FUSE for macOS

Then: Install the FUSE driver for HFS+

  1. Download the ZIP of hfsfuse from their official GitHub project page:
     hfsfuse-master.zip
  2. Unzip the hfsfuse-master.zip ZIP-file
  3. Open to the Terminal.app (from Applications » Utilities)& navigate into the unzipped hfsfuse-master-folder using cd-command and the path where you unzipped the folder:
    cd ~/Downloads/hfsfuse-master

    NOTE: if the unzipped folder is not in your user’s /Downloads/-folder, then adjust the path accordingly!

  4. Now install the «hfsfuse» driver using the following command in the Terminal:
make install
 

Now mount the HFS+ volume in Finder using hfsfuse

First create an empty folder in Finder, into which the HFS+ volume content will be mounted into later.
It doesn’t matter where you create this folder.

In Terminal.app use the following command to mount the HFS+ volume:

sudo hfsfuse --force -o noatime /dev/[DEVICE IDENTIFIER] /path/to/empty/folder

NOTE: you have to adjust /path/to/empty/folder, to the folder location you created before!

That’s it! (if no error is shown) You should be able to browse all contents in the mounted directory & get your files!

 
 

#2 – The “oh f*ck” case:
reading data in the original HFS format

This second approach is needed when you already know your Apple_HFS volume is actually of classic HFS – or you tried solution #1 and you got this error…

Plain HFS volumes not currently supported
Couldn't open volume: Undefined error: 0

You need the hfsutils tools for reading a classis Macintosh HFS volume.

Install the hfsutils tools

  • Switch to the Terminal.app & install hfsutils using Homebrew
    brew install hfsutils

Load and view the data on the HFS volume using hfsutils

With hfsutils things work differently – thus more technical/complex – than e.g. compared with hfsfuse. This means you will not get any UI to browse files & folders from the mounted HFS volume, but do all the work with the Terminal prompt. On top of that, you can only extract files, no whole directories or even files across multiple directory levels.

Let’s get started by first virtually mounting the HFS volume using:

sudo hmount /dev/disk3s1s2

Now you should already be able to browse the file hierarchy. For this use the hls command – listing all files & folders in the volume’s root level:

sudo hls

In order to browse subdirectories on the volume, use the hls command followed by the quoted directory path with prefixed : double-quotes:

NOTE: With hls you always have to use : double-quotes because they represent the directory structure – like ususally / slash in regular Unix file paths!

sudo hls ":Desktop Pictures"
soulblighter&832x624.jpg   soulblighter@1024x768.jpg  soulblighter@640x480.jpg

Copy data from the mounted HFS volume using hcopy

Once you got the hang how to browse and view files and folders, you may want to copy certain files from the volume. In order to do so, you can use the hcopy command – and fortunately *-wildcards for including multiple files are supported, however limited on a per folder basis.

Before you start, change the current working directory of the Terminal window into a Finder folder where you want to copy the files into. E.g.:

cd ~/Documents/My-HFS-Volume-Backup

And then use hcopy to transfer single or multiple files to the current working dir as follows:

sudo hcopy -r ":Desktop Pictures:soulblighter&832x624.jpg" ./
sudo hcopy -r ":Desktop Pictures:*" ./

NOTE: The -r option stands for “Raw Data” and based on my experience preserves the Macintosh files with the best possible success rate. Alternatively you can leave it away to use the “Automatic” mode (-a).

Screenshot showing mounted Apple_HFS standard volume and file recovery using hfsutils tools

Once you are finished, you can disconnect the HFS volume with the following command:

humount

That’s it for scenario #2 – retrieving files from an unreadable classic HFS standard volume using macOS Catalina!
 

May all your data be successfully restored. 🤞
Share:
  • 116
  • 9

116 thoughts on “Recover data from HFS volume when Disk Utility fails with “Could not mount (com.apple.DiskManagement.disenter error 49153)””

  1. I’m trying to run the following script from your article above:

    % sudo hfsfuse --force -o noatime /dev/[DEVICE IDENTIFIER] /path/to/empty/folder

    I have a fusion drive on my iMac and I’m trying to access a folder called “Folder” in my Documents folder. I’ve updated the above script to read:

    % sudo hfsfuse --force -o noatime /dev/disk2s1 /Users/Ferris/Documents/Folder

    and this is coming up with a password prompt. I enter my password, and then Terminal gives me “could not open device Couldn’t open volume: Operation not permitted”

    Thoughts? Corrections to my script? I’m not familiar with device identifiers. In Disk Utility, the fusion drive has “Container disk2” and within that, Macintosh HD (disk2s5) and Macintosh – HD (disk2s1). I figured using disk2s1 in my script was correct, but maybe not?

    Thanks for your help! Hope you’re staying safe and healthy.

    1. Hi George,
      you cannot directly mount a specific folder using hfsfuse!

      First of all, I hope the Fusion Drive is not the volume which you are actually using / working in when using your Mac? If that’s is not the case (e.g. it’s a second hard-drive you just want to retrieve data from), then it could work.

      Please be aware, that the second part of the Terminal command is not the Folder ON that particular drive, but a “mount point” on your current system – meaning, this folder will be replaced by a virtual Disk volume allowing you to browse the Harddrive.

      So what you need to do from where you are at the moment
      1) create an empty folder somewhere, e.g. in your current User home (probaly “George”?) (/Users/[George?]/), name it for example “fusion-drive-backup
      2) use the hfsfuse-Terminal command as follows:

      % sudo hfsfuse –force -o noatime /dev/disk2s1 /Users/George/fusion-drive-backup

      Hope you understand what I mean & it helps you to figure out how to access your data!
      Oliver

      1. Thanks for your assistance. I’ll check it out and let you know if I have any further questions.

  2. THANK YOU! Thank you thank you thank you! I have now recovered all the data from the HFS-formatted CD I just bought. (Martin Gardner’s Mathematical Games, by the Mathematics Association of America.) It’s s shame that materiel from publishers that were following the rules 20 years ago (it mentions compatibility with Windows 98 and Windows Millennium Edition, or PowerPC G3 and MacOS X 10.2 or 10.3) is so dangerously close to unreadable now.

    1. This is a great feedback, thanks a lot – and I am very happy that you were able to retrieve the data from your old CD!

  3. After using the recommendation from step 1, he will be able to access the data on the external disk and thus be able to back it up. Thank you very much for posting this valuable information. Thanks to this, he managed to obtain very valuable information from years of work.

    Carlos Morales

  4. When I input the “% cd /path/to/folder/hfsfuse-master” into the terminal I get this:

    -bash: fg: %: no such job

    1. Jesse, please type all Terminal commands WITHOUT the starting „%“ – this is only there to indicate that the command relates to be used in the Terminal.app

      1. I tried this and got the same thing, both with and without the “%” used at the beginning…

  5. Hi, thanks for the tutorial! I’m using hcopy for a lot of old HFS formatted floppy disks. How do I copy files that are on the root of the disk rather than in a directory?

    1. @Reiggin I think that should work by using either of these commands:

      sudo hcopy -r ":filename.ext" ./
      sudo hcopy -r "filename.ext" ./ 

      or probably this for all files on the root level:

      sudo hcopy -r "*" ./

      Good luck!

  6. I’ve downloaded the hfsfuse-master and it is in a folder sitting on my desktop. when I enter cd /path/to/folder/hfsfuse-master the terminal app returns “No such file or directory“. What am I doing wrong?

      1. What is the default path for hfsfuse-master ? I cannot locate it, but the installation said it was successful.

      2. @Jeff once hfsfuse is installed you should have either or both of these folders on your mac (in Finder use the “Go to Folder” command – CMD+Shift+G):

        /usr/local/include/osxfuse
        /usr/local/include/fuse
      3. OIiver, This worked: % cd /usr/local/include/osxfuse — but then the next command did not: osxfuse % make config WITH_UBILIO=local WITH_UTF8PROC=local
        make: *** No rule to make target `config’. Stop. — In my /usr/local/include/osxfuse/fuse folder, I have these files: fuse_common_compat.h , fuse_common.h , fuse_compat.h , fuse_darwin.h , fuse_lowlevel_compat.h , fuse_lowlevel.h , fuse_opt.h , fuse.h — Am I missing something?

    1. @Jeff yes – you have to use the make config, make and make install commands before/in order to actually install hfsfuse while you still have the source unzipped eg. in your ~/Downloads folder!

      You should redo all steps as described unter „Install the FUSE driver for HFS+„

      After you extracted the zip „hfsfuse-master.zip“ inside your /Downloads/-folder (Step 2) you e.g. use this to navigate to the folder (Step 3) to then the config & install (Step 4):

      cd ~/Downloads/hfsfuse-master
  7. Oliver, I keep getting the following error when trying to mount disk3s2 using hfsfuse:

    Journal is dirty! Attempting to mount anyway (–force).
    fuse: invalid argument `Mount’

    Does this mean the SSD is actually totally corrupted? I’m not sure how this is possible since it was working perfectly fine before upgrading to Catalina… Any advice?

    1. Brandon, are you sure your disk is HFS+ formatted? What do you get for disk3s2 when running the diskutil list command?

      1. Thanks for the quick response Oliver! Its TYPE is listed as Apple_HFS. Seeing that, I thought it might just be a regular HFS format, so I followed your guide through the 2nd part but ran into another issue when running: % sudo hmount /dev/disk3s2

        Which gave me:
        hmount: /dev/disk3s2: not a Macintosh HFS volume (Invalid argument)

      2. Seems that it is HFS+ (1st solution) not the very old classic HFS.

        Try verifying the volume (command #1) or try to mount it with debugging information enabled (2) or enforce read-only (3):

        fsck -y /dev/disk3s2
        sudo hfsfuse --force -o noatime -d /dev/disk3s2 /path/where/to/mount
        sudo hfsfuse --force -o noatime -r /dev/disk3s2 /path/where/to/mount
      3. Running the first command gives me this error –
        fsck usage: fsck [-fdnypqL] [-l number]

        Which probably means the command is not running correctly, I assume?

        Running the other two commands both result in this error:

        Journal is dirty! Attempting to mount anyway (–force).
        fuse: invalid argument `Mount’

  8. This worked great for my HFS volume. Is there a way to copy all the folders – or the whole disk? It’s a pain to traverse the folder hierarchy and create and copy each folder. I’d like to just copy the whole disk over to the target folder. Any way to do this with hcopy?

    1. Sam, I would‘ve needed this too (copy a whole disk/ all files at once), but unfortunately didn‘t find a way how to do that.

      1. Hi Oliver. I’ve been running into similar problems to Sam. When I run either of your options 2 or 3 (having verified it is an Apple HFS) such as:

        % sudo hfsfuse –force -o noatime -r /dev/disk18s2 /recover/gp

        I get this error:

        Journal is dirty! Attempting to mount anyway (–force).
        mount_osxfuse: /recover: Read-only file system

        Trying this:

        % fsck_hfs -y /dev/disk18s2

        Returns:

        ** /dev/rdisk18s2 (NO WRITE)
        Can’t open /dev/rdisk18s2: Permission denied

        Attempting it without the _hfs simply returns a syntax error

        Appreciate the effort you’ve put into this post. Cheers

        Mike

      2. Mike, thanks for your appreciation.

        From the command you used with debug parameter it seems that the target directory /recover/gp you specified as mount point is read-only?

        Also by telling from that path that the folder „gp“ would be located on your Mac at the very root level like: /Volumes/recover/gp which I think is not possible. Also the „-r“-flag is not supported by „hfsfuse“.

        Try this:
        Just create e.g. an empty folder gp on your desktop and then the right path & command to use would be:

        sudo hfsfuse --force -o noatime /dev/disk18s2 ~/Destkop/gp

        Not sure if this is related to the „Journal is dirty!“ error but at least one issue that is in your command to rule out of causing troubles.

  9. I have problem USB drive not working format extended journaled Repairing file system Volume is already unmounted Performing fsck_hfs -fy -x /dev/rdisk2s2 File system check exit code is 8 Restoring the original state found as un I have NO IDEA what this means But I really really need some help

    1. Yasser, this sounds suspiciously like the USB drive is damaged – you may want to look into using some advanced recovery tools like Disk Drill (available for macOS & Windows, includes a free trial mode)

  10. Thank you for posting this! I really had no idea what I was typing in terminal. It was complicated (for me), but it worked. My backup loaded so I could copy items onto a new hard drive. Lifesaver!

  11. Great article. Clearly there’s a need. I followed the steps, followed by the “oh f*ck” case!
    When I try sudo hmount /dev/disks4s1s1
    I get:
    hmount: /dev/disk4s1s1: volume is smaller than 800K (Invalid argument)

    Trying to mount a CD via external DVD via USB (via hub via USB-C).

    Disk Utility at least sees the attached drive (and the name on the CD). So it’s there. Drive works with other CD/DVDs.

    Either way this was a good adventure.
    Thx
    JRW

    1. Hi Josh & thanks for the kudos 😊

      If it complains about the volume size, I could imagine that you may have gotten the wrong „partition“ from the CD, like it‘s „Boot sector“ instead of the larger „data“ part. If diskutil list doesn‘t show all partitions of that CD you could still try to manually fiddle with the volume name manually, e.g.:
      disk3s1s2
      disk3s1s1 <— Change last number disk3s1s3 and do on (as long as the first part „diskX“ is staying the same)

      1. Bingo!! Thanks. It’s been many years since I’ve done things at the /dev level and partitions. Creating boot tapes! Bringing back memories. Of course.
        Cheers
        JRW

  12. Hi Oliver,
    I got to this post by chance because i was looking a way to open the Myth II disk image…
    Did you manage to recover the Myth II HFS Partition? It’s almost imposible (Extremely slow to be fair) to extract all the files in that disk.
    Thanks!

    1. Hi Miguel,
      It was not that slow for me, but cumbersome as outlined in the post to copy all files manually. I think I got everything from the Myth II CD copied, but haven’t tried to use the copy yet in order to actually play the game, to be honest.

      I briefly checked GOG.com (Good old Games) for a fast way to get your hands on the Game to play, but Myth II is not yet available on it however has over 4000 upvotes on their wishlist: https://www.gog.com/wishlist/games/myth_ii_soulblighter.

  13. I can’t believe I am having this problem with HFS formatted CDROMs I made back in 1997 using Catalina. I am using sudo hcopy -r “:Font Archive/001:*” ./ to copy everything in that CDROM to /users/grant/desktop/target. I get the error hcopy: globbing error. Please help.

    1. Grant,
      you have to use „:“ for directory traversing, as stated in the blog post:

      sudo hcopy -r “:Font Archive:001:*” ./

      In order to browse subdirectories on the volume, use the hls command followed by the quoted directory path with prefixed : double-quotes:

      NOTE: With hls you always have to use : double-quotes because they represent the directory structure – like ususally / slash in regular Unix file paths!

      1. Hello, I am running into the error George was mentioning at the very beginning (I am copying the last bit of diskutil list command response that refers to the drive that does not want to mount:

        /dev/disk6 (external, physical):
           #:                       TYPE NAME                    SIZE       IDENTIFIER
           0:      GUID_partition_scheme                        *1.0 TB     disk6
           1:                        EFI EFI                     209.7 MB   disk6s1
           2:                  Apple_HFS Media Drive             999.9 GB   disk6s2
        iMac-2:MediaDrive Ene$ sudo hfsfuse –force -o noatime /dev/disk6s2 ~Desktop/gp
        could not open device
        Couldn't open volume: No such file or directory

        It asks for my password after the command. Desktop/gp definitely exists as a new empty folder, I tried an alternative as well with no luck. Any ideas?

        Thanks,
        Henrik

  14. SOLUTION: My apologies, I somehow dropped the double ‘–‘ in front of ‘force’ – once I noticed, it worked! THANKS SO MUCH! I saved quite some money that I had almost spent on a data recovery software…
    I would really like to understand what I was doing and why this worked, and why my hard drive woudl not mount, but this may be too difficult to explain…But line by line instructions were relatively easy to follow, if you keep your glasses on and pay attention to the right syntax 🙂

  15. Thank you so much! This is amazing!
    Is there a quick way to select multiple files when they are not in a directory on the disk? When I get Terminal to list the files on the disk I get this:

    sudo hls
    RW82 Pg1.eps RW82 Pg14.eps RW82 Pg18a.eps RW82 Pg20.eps
    RW82 Pg10.eps RW82 Pg16.eps RW82 Pg18b.eps RW82 Pg3.eps
    RW82 Pg11.eps RW82 Pg17.eps RW82 Pg18c.eps RW82 Pg7.eps

    Other than just typing out all the file names in a long string, or copying one by one, is there a way to get all the files off the disk? I have a lot of disks to do this to 🙁

    1. Hi Ellie,
      you should be able to copy multiple files from your structure as follows:

      • To list all files at once:
        % sudo hls ":RW82"
      • To copy multiple all files from that folder
        % sudo hcopy -r ":RW82:*" ./

      Hope it works 🙂

  16. Hi Oliver. I want to retrieve some backup files that were burned to a multi-session cd-r in HFS Standard format. As Mac Catalina no longer supports that format, and Disk Utility throws up the disenter error 49153 if trying to get it to mount, which is the easiest approach? Will getting a new burner solve the problem or is this a Mac OS problem? Thanks for any help.

    1. I would go with the recommendation in the post: first try the HFS+ approach with hfsfuse and – if it’s not working – do the second part for the original HFS format with hfsutils.

      Regarding your disc being a multi-session cd-r, I think that should be no problem and the different partitions should show up when listing the disk volumes using the diskutil list-command in Terminal.app – just make sure then, with either hfsfuse or hfsutils, to use each and correct disk identifier (e.g. “disk3s1s2”, “disk3s1s3”, etc.).

      Last but not least: definitely DON’T buy a new burner – I think that would be money spent for nothing. If you cannot recover your cd-r with the tools provided here, better try to ask around if a friend with a Windows or Linux computer may be able to help you out to read the disk on their system and recover the data for you.

      1. Many thanks Oliver. Fortunately I found a disk burned in Extended format so was able to retrieve the files I needed. Of course I later found out could have bought Parallels and installed Snow Leopard Server but that would have meant further expense. Thanks again for your help.

  17. Hello,
    When running the first make command (make config WITH_UBILIO=local WITH_UTF8PROC=local ) , I get the following error:

    Makefile:83: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
    cc -Wall -Wextra -pedantic -Wno-gnu-zero-variadic-macro-arguments -Wno-unused-parameter -Wno-missing-field-initializers -Wno-missing-braces -DFUSE_USE_VERSION=28 -D_FILE_OFFSET_BITS=64 -I/usr/local/include/osxfuse -I /Users/johndaise/Desktop/hfsfuse-master/lib -O3 -std=gnu11      -DHFSFUSE_VERSION_STRING=\"omitted\" -c -o src/hfsfuse.o src/hfsfuse.c
    src/hfsfuse.c:32:10: fatal error: 'fuse/fuse.h' file not found
    #include

    Have there been any changes to this repo recently that may cause this error or am I using the wrong command?

    1. John, there is an issue report open on the GitHub project for hfsfuse where someone reported that the root cause for him/her was with this error that Fuse itself was not yet installed on the macOS – but this is a pre-requisite.

  18. Hi Oliver, thank you. It did work. Although I was able previously to work with my external ssd drive formatted with HFS+ suddenly I was not able to mount it. I think the Time Machine backup to that ssd drive from AFPS ssd internal MacBook Pro ssd caused the issue.

  19. Oliver, big thanks for this…

    I’ve followed the steps in the second method, but get this error message:

    hmount: /dev/disk3s1s2: error opening medium (No such file or directory)

    I’ve also tried it with disk3s1s3 and get an “unknown volume” error.

    I’m running Terminal 2.10 (433) on Catalina 10.15.7

    1. Resolved the issue above by using disk4s1s2, as I was trying to access a CD on an external Mac drive. Putting this here in hopes it helps others.

      Once I did that, Oliver’s instructions (the #2 “oh f*ck” case) worked perfectly. I was able to copy over files from two data CDs that were in HFS and could not be read by Catalina.

      Noting also for people like me doing this for the first time that what looks like a single quote mark above (“) are actually two separate single quotes (‘) typed together (”) It’s an important distinction but they look the same on the screen in some fonts.

      Lastly, I discovered that if you are trying to reference a folder or file with a space in the name in terminal when copying over files or performing other operations, you can type the name like this: firstword\ secondword\ thirdword and terminal will recognize the name.

  20. Hello Oliver – Thank you for taking time to find a solution for this issue to save files on old CD’s. I have followed your instructions to
    Install the FUSE driver for HFS+
    Download the ZIP of hfsfuse from the official GitHub page:
    https://github.com/0x09/hfsfuse
    Unpack the hfsfuse-master.zip ZIP file
    Switch to the Terminal.app & navigate into the unzipped hfsfuse-master-folder by using:
    % cd /path/to/folder/hfsfuse-master

    When I enter “% cd /path/to/folder/hfsfuse-master” into terminal I get an message saying “-bash: fg: %: no such job”

    What did I do?
    Thanks for your time.

      1. @Gordon the error you posted with the cd-command is only occurring when you type a not needed “%” before the command. However, I updated Step 3) to make this more clear:

        1. Switch to the Terminal.app & navigate into the unzipped hfsfuse-master-folder using cd-command and the path where you unzipped the folder:
          cd ~/Downloads/hfsfuse-master

          NOTE: if unzipped the folder somewhere else than in your user’s /Downloads/-folder, adjust the path accordingly!

  21. I cannot thank you enough for this. It worked like a charm. I had some important data to retrieve on a GUID NAS configuration that suffered the wrath of Catalina. I tried multiple workarounds on the Apple forums, but to no avail. Your solution works. It allowed me to transfer all my data from the RAID configured drives to another external hard drive. I then went back to the RAID drives and formatted them switching to AFTS. They are now mounted…FINALLY! Apple really needs to get on this. Catalina is a nightmare! Thanks again!

  22. Thank you so much for this article. It saved me a ton of work. I got this error on a LaCie 2TB Thunderbolt/USB 3 rugged drive. I also got this error on a few other drives. Here is what I don’t understand. Why does this work and not the Finder to mount the drive. The drive I am using your 1st method is an HFS+ formatted drive. Catalina sees other drives formatted the same just fine. I don’t see any indication that HFS+ was removed from Catalina as I’ve been working with those drives without issue. There must be something else going on.

  23. Hi, I did the “old HFS” way, but all the files I copy have “;1” at the end of the file extension. Do you know why, is there a way around this?

    1. Hi Magnus, strange I haven’t had this behavior.

      2 things:
      1) if the files are in the right Format despite the «;1» Extension (e.g. images can be opened with Preview.app, and so on), you may just want to use a finder file rename action to remove this unwanted suffix from all affected files

      2) try to use hcopy-command with another file format option, such as -a for «automatic», rather than «raw» – see full list here: https://manpages.debian.org/testing/hfsutils/hcopy.1.en.html

      1. Thanks! But the suffix to the file extensions are there when I just read with hls also. The files are ok and I can just remove the suffix manually, but it would be best to find another way since I have a lot of CDs, Strange that others do not experience this.

  24. Hi Oliver,
    I’m getting errors with hfsfuse: clang: error: linker command failed with exit code 1 (use -v to see invocation)

    Any ideas?

    hfsfuse-master % make config WITH_UBLIO=local WITH_UTF8PROC=local
    Makefile:87: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
    echo "$CONFIG" > config.mak
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    make: *** [hfsfuse] Error 1
    hfsfuse-master % sudo hfsfuse --force -o noatime /dev/HL-DT-ST DVDRW GX30N Media /Users/meljefferson/Mount HFS+ 
    sudo: hfsfuse: command not found
      1. Oliver,

        Many thanks for the very quick response! I thought I had installed it OK (I didn’t include the whole Terminal script) but I will try again.

        Mel

      2. Hi Oliver,

        As far as I can see, Fuse is installed (/usr/local/include/fuse exists). Here is the full Terminal session…

        meljefferson@iMac ~ % cd /Users/meljefferson/Downloads/hfsfuse-master
        
        meljefferson@iMac hfsfuse-master % make config WITH_UBILIO=local WITH_UTF8PROC=local
        Makefile:87: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
        echo "$CONFIG" > config.mak
        
        meljefferson@iMac hfsfuse-master % make
        Makefile:87: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
        /Library/Developer/CommandLineTools/usr/bin/make -C lib/libhfsuser/
        make[1]: Nothing to be done for all'. /Library/Developer/CommandLineTools/usr/bin/make -C lib/libhfs/ make[1]: Nothing to be done for all'.
        /Library/Developer/CommandLineTools/usr/bin/make -C lib/ublio/
        make[1]: libublio.a' is up to date. /Library/Developer/CommandLineTools/usr/bin/make -C lib/utf8proc/ make[1]: Nothing to be done for all'.
        cc -D_FILE_OFFSET_BITS=64 -O3 -std=gnu11 -DHFSFUSE_VERSION_STRING="omitted" -o hfsfuse src/hfsfuse.o lib/libhfsuser/libhfsuser.a lib/libhfs/libhfs.a lib/ublio/libublio.a lib/utf8proc/libutf8proc.a -losxfuse -lpthread
        ld: library not found for -losxfuse
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
        make: *** [hfsfuse] Error 1
        
        meljefferson@iMac hfsfuse-master % make install
        Makefile:87: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
        /Library/Developer/CommandLineTools/usr/bin/make -C lib/libhfsuser/
        make[1]: Nothing to be done for all'. /Library/Developer/CommandLineTools/usr/bin/make -C lib/libhfs/ make[1]: Nothing to be done for all'.
        /Library/Developer/CommandLineTools/usr/bin/make -C lib/ublio/
        make[1]: libublio.a' is up to date. /Library/Developer/CommandLineTools/usr/bin/make -C lib/utf8proc/ make[1]: Nothing to be done for all'.
        cc -D_FILE_OFFSET_BITS=64 -O3 -std=gnu11 -DHFSFUSE_VERSION_STRING="omitted" -o hfsfuse src/hfsfuse.o lib/libhfsuser/libhfsuser.a lib/libhfs/libhfs.a lib/ublio/libublio.a lib/utf8proc/libutf8proc.a -losxfuse -lpthread
        ld: library not found for -losxfuse
        clang: error: linker command failed with exit code 1 (use -v to see invocation)
        make: *** [hfsfuse] Error 1
      3. Mel, try to unzip the hfsfuse-master again, and then directly use the 3rd command within the new unzipped folder:

        make install
      4. Not sure what you mean by ‘within the new unzipped folder’. Like this? (as you can see, there is still an error).

        meljefferson@iMac hfsfuse-master % cd ~/Downloads/hfsfuse-master
        meljefferson@iMac hfsfuse-master % make install
        Makefile:87: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information

      5. Oliver,

        Apparently the errors were caused by a bug in the ‘Makefile’ file, which has now been fixed (https://github.com/0x09/hfsfuse/commit/c7e10ea8f2133abc40123e15cd409597998a0335).

        Unfortunately I still have a problem…

        meljefferson@iMac hfsfuse-master % sudo hfsfuse –force -o noatime /dev/Hl-dt-st DVDRW GX30N /Users/meljefferson/Mount HFS+
        could not open device
        Couldn’t open volume: No such file or directory

        It seems as if I am not identifying my device correctly. It is an Apple Superdrive, which I thought was identified as ‘Hl-dt-st DVDRW GX30N’. How should I find the correct identification?

      6. @Mel you are using the wrong drive ID – you need to change /dev/Hl-dt-st DVDRW GX30N with something like /dev/disk3s1s2 (use the Disk Utility to find the right Identifier, or in the Terminal.app with the command diskutil list)

        In addition, the path to the target folder you defined /Users/meljefferson/Mount HFS+ does not work like that in Terminal. Do you really have a folder named “Mount HFS+” created in your user home? If that’s correct, in Terminal.app you have to type it as follows:
        /Users/meljefferson/Mount\ HFS+

  25. Hi Oliver, thanks for this very thorough solution. I got pretty far with solution #1 and when I put in my specific terminal command (sudo hfsfuse –force -o noatime /dev/disk2s2 /Users/user/Downloads/fusion-drive-backup—My device is disk2s2 according to did utility)
    I get this: “macFUSE Volume 0 (hfsfuse)” can’t be opened because the original item can’t be found.

    So I started trial #2 and got this:
    hmount: /dev/disk2s2: not a Macintosh HFS volume (Invalid argument)
    user@users-MBP hfsfuse-master %

    Any ideas?
    Thanks!

  26. Hello Oliver,

    I’m not at all used to Terminal, and besides, it’s in English, which doesn’t help me (I’m French).

    I tried what suggested, to be able, under Catalina, to read an HFS CD-Rom, but nothing happens after the “make install” command of your tutorial # 1.

    What should I do, knowing that:
    – my CD (visible grayed out in Disk Utility) is called “After Effects Master Class”.
    – the CD-Rom is in BSD “disk12s1s2”.
    – the DVD drive is BSD “disk12”.
    – the Empty Folder on the Desktop is called “CD-recup”.
    – my user is “Jean-Marc G”

    I tried a bunch of variable, but it tells me this:
    “Plain HFS volumes not currently supported
    Couldn’t open volume: Undefined error: 0
    imac-jean-marc-g-1: hfsfuse-master jean-marc-g $ sudo hfsfuse –force -o noatime / dev / disk12s1s2 / path / to / CD-recup”

    Can you help me ?

    Thank you.
    Jean Marc

    1. Hi Jean Marc,
      what you describe & see as “Plain HFS volumes not currently supported”, is exactly the unfortunate case where you have to progress with Tutorial #2

      1. Install the hfsutils through Terminal.app
      2. Mount your “After Effects Master Class” using: sudo hmount /dev/disk12s1s2
      3. Use a command as explained to browse for required files: sudo hls
      4. To prepare to copy one or multiple files to your empty desktop folder use: cd ~/Desktop/CD-recup

      Hope this helps! Unfortunately it will be a lengthy process and you have to do it all in the Terminal window…

      1. Hello Oliver,
        Thank you for this personalized feedback.
        I applied what I suggested, but nothing happens afterwards.
        It spins the CD in the DVD player a bit, but that’s it.

        Today the CD-Rom arrived in Disk Utility as “disk13s1s2”.

        So here’s what Terminal displays:

        The default interactive shell is now zsh.
        To update your account to use zsh, please run `chsh -s / bin / zsh`.
        For more details, please visit https://support.apple.com/kb/HT208050.
        
        imac-jean-marc-g-1: ~ jean-marc-g $ brew install hfsutils
        Warning: hfsutils 3.2.6 is already installed and up-to-date.
        To reinstall 3.2.6, run:
          brew reinstall hfsutils
        
        imac-jean-marc-g-1: ~ jean-marc-g $ hfsutils
        -bash: hfsutils: command not found
        
        imac-jean-marc-g-1: ~ jean-marc-g $ sudo hmount / dev / disk13s1s2
        Password:
        Volume name is "After Effects Master Class" (locked)
        Volume was created on Mon Feb 17 10:56:17 2003
        Volume was last modified on Mon Feb 17 11:17:24 2003
        Volume has 0 bytes free
        
        imac-jean-marc-g-1: ~ jean-marc-g $ sudo hls
        __CMG_License.pdf Desktop Folder Chapter Projects
        Bonus Readme.txt Sources
        Credits and information Plug-ins Tutorials
        
        imac-jean-marc-g-1: ~ jean-marc-g $ cd ~ / Desktop / CD-recup
        
        imac-jean-marc-g-1: CD-recup jean-marc-g $ sudo hls
        __CMG_License.pdf Desktop Folder Chapter Projects
        Bonus Readme.txt Sources
        Credits and information Plug-ins Tutorials
        
        imac-jean-marc-g-1: CD-recup jean-marc-g $

        What to do ?

        Thank you.
        Jean-Marc (France)

      2. @Jean-Marc: well this looks very good already! You are basically “good to go” by starting directly using the hls ... & hcopy ... commands, to retrieve files from your CD! No need for the first installation steps again.

        Try this:
        1) cd ~/Desktop/CD-recup
        2) sudo hmount /dev/disk13s1s2

        Now copy files:

        Copy “__CMG_License.pdf” & “Readme.txt”:
        sudo hcopy -r ":Desktop Pictures:*" ./

        Copy all files from “Desktop Folder”:
        sudo hcopy -r ":Desktop Folder:*" ./

        Copy all files from “Chapter”:
        sudo hcopy -r ":Chapter:*" ./

        Copy all files from “Projects”:
        sudo hcopy -r ":Projects:*" ./
        etc.

        “Browse” the files on the CD folders

        To check if the CD has additional folders WITHIN for example “Projects”, you can do this:
        sudo hls ":Projects"

        …if there is a “Project XY”: sudo hls ":Projects:Project XY"

        …and on and on: sudo hls ":Projects:Project XY:Pictures"

        And to copy files from these sub-folders:

        Copy all files from “Projects XY” & “Project XY:Pictures”:
        sudo hcopy -r ":Projects:Project XY:*" ./
        sudo hcopy -r ":Projects:Project XY:Pictures:*" ./

  27. Hallo Oliver,
    i have a very old CD ROM from Germany in 1996.

    i have use the 2. Way to mount it, it is a pure apple HFS file system.

    i got some illegal byte sequence problem, maybe it is very old.
    in the “:Inhalt in den Systemfolder” folder some “?” appared. and copy not successfully

    Do you know how to resolve it?

    $ sudo hmount /dev/disk3s1s2

    Volume name is "NJK_1" (locked)
    Volume was created on Tue Nov 26 20:30:17 1996
    Volume was last modified on Fri Dec 13 03:59:49 1996
    Volume has 0 bytes free

    $ sudo hls

    Desktop Folder              njk.id
    Dir_16                      Sounds
    Dir_8                       Trash
    Inhalt in den Systemfolder  Videos
    Neujahrskonzert

    $ sudo hls “:Inhalt in den Systemfolder”

    Indeo? Video                    QuickTime? Musical Instruments
    Intel Raw Video                 QuickTime? PowerPlug
    QuickTime?

    $ sudo hcopy -r “:Inhalt in den Systemfolder:*” CD3_apple/

    hcopy: ":Inhalt in den Systemfolder:Indeo? Video": error opening destination file (Illegal byte sequence)
    hcopy: ":Inhalt in den Systemfolder:QuickTime?": error opening destination file (Illegal byte sequence)
    hcopy: ":Inhalt in den Systemfolder:QuickTime? Musical Instruments": error opening destination file (Illegal byte sequence)
    hcopy: ":Inhalt in den Systemfolder:QuickTime? PowerPlug": error opening destination file (Illegal byte sequence)

    By the way, i have also used the windows 10 system to look the CD, but i found in windows those files:

    DIR_16		INSTALL.EXE	SETUP16		SOUNDS		VIDEOS
    DIR_8		NJK.ID		SETUP32		VBRUN300.DLL

    because this CD is too old , for the Video i used ffmpeg to get the format with indeo 3.2 , which used in windows95 system.

    Stream #0:0(eng): Video: indeo3 (IV32 / 0x32335649), yuv410p, 182×182, 906 kb/s, 12 fps, 12 tbr, 600 tbn, 600 tbc (default)
    Metadata:
    creation_time : 1996-12-07T13:23:58.000000Z
    handler_name : Apple Video Media Handler
    encoder : Intel Indeo™ Video R3.2

    1. way to play it is on windows 95, install the exe file ,then play the CD
    2. way to mount it on very old mac , copy the total ” Inhalt in den Systemfolder” to a logcal folder, then take “Neujahrskonzert” app to desktop, then click it to play

    but looks like only runnable in very old machine.

    Thanks

    Xia

    1. @Xia it looks like you only have a little mistake with the target-folder “CD3_apple” where you want to copy the files to – but not the files on the CD!

      Did you create a new folder “CD3_apple” e.g. on your Desktop?

      You can also copy directly to the Desktop, like this:
      1) cd ~/Desktop/
      2) sudo hmount /dev/disk3s1s2
      3a) sudo hcopy -r “:Inhalt in den Systemfolder:*” ./

      3b) Or, when you created a folder “CD3_apple” on Desktop for the files:

      sudo hcopy -r “:Inhalt in den Systemfolder:*” ~/Desktop/CD3_apple/

      Hope this helps!

      1. Hallo Oliver,
        CD3_apple is target folder which is created by me before , under user/ folder, i worked on my user folder then put all command.

        sudo hcopy -r “:Inhalt in den Systemfolder:*” CD3_apple/

      2. Okay so if you have something like this:

        /Users
            /CD3_apple <-- this is your OLD User (?)
            /MyUserXia <-- this would be your CURRENT user
        

        Then you use the hcopy-command as follows:

        sudo hcopy -r “:Inhalt in den Systemfolder:*” /Users/CD3_apple/

        If CD3_apple is your CURRENT user, then you ca do either of these (they are the same / alias):

        sudo hcopy -r “:Inhalt in den Systemfolder:*” /Users/CD3_apple/
        sudo hcopy -r “:Inhalt in den Systemfolder:*” ~/

        or to put files directly on the Desktop:

        sudo hcopy -r “:Inhalt in den Systemfolder:*” ~/Desktop/
    2. Xia, one remark regarding the hls folder/file list on your CD with “?” – I think you still see different individual files & folders. You may be able to copy them like this
      (NOTE: not sure if I am right)

      njk.id
      sudo hcopy -r “:*” /Users/CD3_apple/

      Desktop Folder
      sudo hcopy -r “:Desktop Folder:*” /Users/CD3_apple/

      Sounds
      sudo hcopy -r “:Sounds:*” /Users/CD3_apple/

      Videos
      sudo hcopy -r “:Videos:*” /Users/CD3_apple/

      Neujahrskonzert
      sudo hcopy -r “:Neujahrskonzert:*” /Users/CD3_apple/

      Indeo? Video
      sudo hcopy -r “:Inhalt in den Systemfolder:Indeo Video:*” /Users/CD3_apple/

      QuickTime? Musical Instruments
      sudo hcopy -r “:Inhalt in den Systemfolder:QuickTime Musical Instruments:*” /Users/CD3_apple/

      etc.

  28. When I try to connect the Apple SuperDrive or an external DVD drive and read a CD-ROM, the drive shows up in Disk Utility, but the drive won’t mount the disc. I get an error “Could not mount disc name” (com.apple.DiskManagement.disenter error 49153.)

    I have 3 CDs that were written in 2003 and I can no longer use the data. It into a book on it, which was then written with xpres, freehand and other graphic data on it.

    Could you make this data readable on windows 10 for me against payment?
    Thanks and regards

    1. @Ruedi Danke für das Angebot, aber ich kann leider keine solchen Aufträge entgegennehmen 😊

      Wenn du aber ein Windows 10 installiert hast, versuche es mit dem Windows-Programm “HFSexplorer“:

      Würde mich auch über ein Feedback freuen, ob es damit unter Windows klappt… konnte ich bisher nämlich nicht ausprobieren.

      1. Here, Oliver, my feedback.
        Windows 10 HFSExplorer load file system autodetect finds cdrome apm: partition 1, but the access is with could not find any file system on device.

        An employee with a mac pc also tested and found in the terminal that the cd with the name ‘tina-archiv’ is locked.

        now we don’t know what to do next.

        thank you very much and have a nice evening
        Ruedi

  29. HI Oliver
    Thanks for your article.You seemed to help a lot of people with this article. I am not a programmer or know about code. I make music using a Mac book pro , Mac OS Big Sur 11.2 , I had some old music files on a CD but the Mac won’t mount the CD.
    As per your instructions , I installed Homebrew & FUSE.

    I then went to the page https://github.com/0x09/hfsfuse

    I downloaded the

    But I could not continue with your instructions to ‘Unpack the hfsfuse-master.zip ZIP file’

    The you say to:Switch to the Terminal.app & navigate into the unzipped hfsfuse-master-folder using cd-command and the path where you unzipped the folder:
    cd ~/Downloads/hfsfuse-master

    But I didn’t see any folder

    The folder I downloaded was called hfsfuse-0.120

    When you have time should you advice on this.
    Thanks
    Marcus

    1. ***UPDATE***
      Hi Oliver
      I did #1 and got:

      Plain HFS volumes not currently supported
      Couldn't open volume: Undefined error: 0

      So starting step 2:

      brew install hfsutils

      Result:

      wasabisunday@Wasabis-MBP Desktop % brew install hfsutils
      ==> Downloading https://homebrew.bintray.com/bottles/hfsutils-3.2.6.big_sur.bottle.1.tar.gz
      ######################################################################## 100.0%
      ==> Pouring hfsutils-3.2.6.big_sur.bottle.1.tar.gz
      🍺  /usr/local/Cellar/hfsutils/3.2.6: 36 files, 2MB

      Then:

      sudo hmount /dev/disk2s1s2

      My external CD reader started to come alive!
      I was able to read what was on the disk. Thanks!

      I tried the ‘sudo hcopy -r
      But did not copy to my folder.

      Is it possible to copy the entire contents of the disk?

      This is what happens when I used:
      sudo hcopy -r

      wasabisunday@Wasabis-MBP Desktop % sudo hcopy -r "Misc.audio/narrow" ./
      hcopy: "Misc.audio/narrow": is a directory
      wasabisunday@Wasabis-MBP Desktop % sudo hcopy -r "Audio songs2/Narrow HD:Misc.audio/narrow" ./
      hcopy: "Audio songs2/Narrow HD:Misc.audio/narrow": is a directory
      wasabisunday@Wasabis-MBP Desktop % sudo hcopy -r "Audio songs2/Narrow HD" ./
      hcopy: "Audio songs2/Narrow HD": no such file or directory
      wasabisunday@Wasabis-MBP Desktop % cd ~/Documents/My-HFS-Volume-Backup
      cd: no such file or directory: /Users/wasabisunday/Documents/My-HFS-Volume-Backup
      wasabisunday@Wasabis-MBP Desktop % cd ~/Documents/My-HFS-Volume-Backup
      cd: no such file or directory: /Users/wasabisunday/Documents/My-HFS-Volume-Backup
      wasabisunday@Wasabis-MBP Desktop % 

      any thoughts?
      Thanks for your time.
      I know nothing about coding but it seems like I am making progress being able to ready the disk.
      cheers
      Marcus

      1. Great progress Marcus!

        I am a bit confused about the slash “/” in your commands, as with hls & hcopy you need to use “:” instead of “/”… and don’t forget to use : also at the beginning, when you want to “go into” a folder.

        But unfortunately no, you cannot copy whole folders – which is a big pain & downside from hcopy unfortunately, I was missing this too.

        However, as stated in my article, you can copy multiple files per folder using the asterisk * like this:

        sudo hcopy -r “:Misc.audio:narrow:*” ./

        or

        sudo hcopy -r “:Audio songs2:Narrow HD:Misc.audio:narrow:*” ./
  30. Thanks very much for this!
    I had the 41953, couldn’t mount the volume, First Aid errored with the 41953.
    Followed your steps and I’m able to get the data off the volume.

    Cheers!

  31. Hi. I run sudo hfsfuse –force -o noatime /dev/disk2 /volumes/usb and get an error (unrecognized volume format. Couldn’t open volume: unidentified error

    1. @SJ you cannot mount a virtual volume to a USB drive – and the path command is also case sensitive (= /Volumes/...). And it could be that /dev/disk2 is wrong – check using Disk Utility or the Terminal-command diskutil list.

      Try a newly created, empty folder e.g. on your Desktop then:

      sudo hfsfuse –force -o noatime /dev/disk2s1 ~/Desktop/NameOfFolder
  32. Oliver, your first method successfully allowed Big Sur to load several CDs from 2001, however CDs previous 1995 etc. would not. Is the situation that Apple does not support loading CDs any longer after Catalina? I tried the 2nd method but no luck so far, will try again

  33. Hello,

    I am trying option #2 to access data on a HFS disk. I’m running into issues with the installation using brew install hfsutils.

    I get the following error message:

    curl: (22) The requested URL returned error: 404
    Error: Failed to download resource “hfsutils_bottle_manifest”
    Download failed: https://ghcr.io/v2/homebrew/core/hfsutils/manifests/3.2.6

    Not sure if you have any tips on how to fix this. I did some searching and couldn’t find anything.

    I’m running Big Sur on my MacBook Pro.

    Thanks

    1. Hi Amanda,
      This problem could be related to your local Xcode Command Line Tools or Homebrew itself. Try to resolve it using the following commands in Terminal:

      xcode-select --install
      brew upgrade

      And once that’s done, try to install hfsutils again:

      brew install hfsutils

      Hope that works!

  34. I found a simple solution: launched Windows10 with Parallels, connected the external SuperDrive, selected Windows and copied the CD…

  35. instead of mounting the filesystem and accessing files I did an iso which I unzip to access all the files (we have plenty of space today so if you don’t know what you want out of the iso, it’s better to copy all).

    Commands used under terminal:

    // to find the volume name of the CD drive

    diskutil list

    // unmount the filesystem

    sudo umount /dev/disk3

    // create the iso from the HFS volume

    sudo hdiutil create -srcdevice /dev/disk3 -format UDTO image.iso
  36. Hi Oliver,

    Thanks for the helpful article!
    I am trying to mount an IBM USB Diskette drive with a HFS 3.5″ floppy disk inside. I’ve installed hfsutils and am able to mount the drive and run an `hls` command, but i’m not able to copy the files to a local folder – getting the following error: error opening destination file (Illegal byte sequence). It’s important to note that the files are probably in a Hebrew format or encoding, that may be the issue! Do you have any idea on how to solve it and succeed in copying the files?

  37. So glad I found this. Managed to pull a bunch of photos off of PhotoWorks CD-ROMs from 1999-2001. Gracias.

  38. Hi Oliver,
    THANK YOU for the painstaking research you’ve put into these solutions… I’m a far cry from being a coder and have never used terminal before, so it’s a little nerve wracking to me; I have successfully installed HomeBrew, but obvious ‘user-error’ is tripping me up… when trying to install Fuse I get all of this:

    Keiths-iMac:~ Keith$ cd ~/Downloads/hfsfuse-master
    Keiths-iMac:hfsfuse-master Keith$ make config WITH_UBILIO=local WITH_UTF8PROC=local
    HAVE_BEXXTOH_ENDIAN_H: no
    HAVE_BEXXTOH_SYS_ENDIAN_H: no
    HAVE_OSBYTEORDER_H: yes
    HAVE_BIRTHTIME: yes
    HAVE_STAT_FLAGS: yes
    HAVE_STAT_BLKSIZE: yes
    HAVE_STAT_BLOCKS: yes
    HAVE_VSYSLOG: yes
    HAVE_PREAD: yes
    Makefile:161: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
    
    Keiths-iMac:hfsfuse-master Keith$ make
    Makefile:161: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
    cc -DFUSE_USE_VERSION=28 -I/usr/local/include -iquote /Users/Keith/Downloads/hfsfuse-master/lib/libhfsuser -iquote /Users/Keith/Downloads/hfsfuse-master/lib/libhfs -iquote /Users/Keith/Downloads/hfsfuse-master/lib/ublio -iquote /Users/Keith/Downloads/hfsfuse-master/lib/utf8proc -D_FILE_OFFSET_BITS=64 -O3 -std=gnu11   -DHAVE_OSBYTEORDER_H -DHAVE_BIRTHTIME -DHAVE_STAT_FLAGS -DHAVE_STAT_BLKSIZE -DHAVE_STAT_BLOCKS -DHAVE_VSYSLOG -DHAVE_PREAD -DUTF8PROC_EXPORTS -DHFSFUSE_VERSION_STRING=\"omitted\" -Wall -Wextra -pedantic -Wno-gnu-zero-variadic-macro-arguments -Wno-unused-parameter -Wno-missing-field-initializers -Wno-missing-braces -c -o src/hfsfuse.o src/hfsfuse.c
    src/hfsfuse.c:32:10: fatal error: 'fuse.h' file not found
    #include 
             ^~~~~~~~
    1 error generated.
    make: *** [src/hfsfuse.o] Error 1
    Keiths-iMac:hfsfuse-master Keith$ make install
    Makefile:161: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
    cc -DFUSE_USE_VERSION=28 -I/usr/local/include -iquote /Users/Keith/Downloads/hfsfuse-master/lib/libhfsuser -iquote /Users/Keith/Downloads/hfsfuse-master/lib/libhfs -iquote /Users/Keith/Downloads/hfsfuse-master/lib/ublio -iquote /Users/Keith/Downloads/hfsfuse-master/lib/utf8proc -D_FILE_OFFSET_BITS=64 -O3 -std=gnu11   -DHAVE_OSBYTEORDER_H -DHAVE_BIRTHTIME -DHAVE_STAT_FLAGS -DHAVE_STAT_BLKSIZE -DHAVE_STAT_BLOCKS -DHAVE_VSYSLOG -DHAVE_PREAD -DUTF8PROC_EXPORTS -DHFSFUSE_VERSION_STRING=\"omitted\" -Wall -Wextra -pedantic -Wno-gnu-zero-variadic-macro-arguments -Wno-unused-parameter -Wno-missing-field-initializers -Wno-missing-braces -c -o src/hfsfuse.o src/hfsfuse.c
    src/hfsfuse.c:32:10: fatal error: 'fuse.h' file not found
    #include 
             ^~~~~~~~
    1 error generated.
    make: *** [src/hfsfuse.o] Error 1
    
    Keiths-iMac:hfsfuse-master Keith$ sudo hfsfuse --force -o noatime /dev/[DEVICE IDENTIFIER] /Desktop/FUSE
    Password:
    sudo: hfsfuse: command not found
    1. Hi Keith,
      Thanks for the kind words.

      Can you try the following?

      Go into the folder “hfsfuse-master” in your Downloads. Delete the file named “Makefile”.

      After that, go back to the Terminal.app and do…

      cd ~/Downloads/hfsfuse-master

      And now use the following command:

      make install

      Do you still get the same error?
      If not, then the installation should have succeeded and you can continue with « Mount the HFS+ volume in Finder using hfsfuse».

      Hope it works!

      1. Hi Oliver,

        removing the “Makefile” from the hfsfuse-master folder worked! Here’s what it says:

        Keiths-iMac:~ Keith$ cd ~/Downloads/hfsfuse-master
        Keiths-iMac:hfsfuse-master Keith$ make install
        make: *** No rule to make target `install'.  Stop.

        Then to Mount the HFS, I typed this command:

        sudo hfsfuse --force -o noatime /dev/HL-DT-ST DVDRAM SP80NB60 Media ~/Desktop/recovery

        Which prompts terminal to tell me this:

        Keiths-iMac:hfsfuse-master Keith$ sudo hfsfuse --force -o noatime /dev/HL-DT-ST DVDRAM SP80NB60 Media ~/Desktop/recovery

        I didn’t get any type of error messages, so I assume I’m doing it right? The folder (I named it ‘recovery’) is still empty, and the CD-R still won’t mount… does this mean I have to try #2 – The “oh f*ck” case?

      2. @Keith hmm… I think it still did not properly install hfsfuse.

        What do you get in the Terminal.app when typing the following?

        hfsfuse -h

        (if hfsfuse was installed properly, it should display this application help text in the Terminal window…)

        And just to make sure: you did install macFUSE as stated in the blog post above?
        What macOS Version are you currently running?

  39. Thank you for this, I think!
    So far, I get errors running the very first suggested command: macOS Catalina 10.15.7

    gary@itski ~ % /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    Warning: The Ruby Homebrew installer is now deprecated and has been rewritten in
    Bash. Please migrate to the following command:
      /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
    ==> Checking for `sudo` access (which may request your password)...
    Password:
    ==> This script will install:
    /usr/local/bin/brew
    /usr/local/share/doc/homebrew
    /usr/local/share/man/man1/brew.1
    /usr/local/share/zsh/site-functions/_brew
    /usr/local/etc/bash_completion.d/brew
    /usr/local/Homebrew
    
    Press RETURN/ENTER to continue or any other key to abort:
    ==> /usr/bin/sudo /usr/sbin/chown -R gary:admin /usr/local/Homebrew
    ==> Downloading and installing Homebrew...
    HEAD is now at 68043d4e7 Merge pull request #13357 from samford/livecheck/sparkle-pass-all-items-into-strategy-block
    error: Not a valid ref: refs/remotes/origin/master
    fatal: ambiguous argument 'refs/remotes/origin/master': unknown revision or path not in the working tree.
    Use '--' to separate paths from revisions, like this:
    'git  [...] -- [...]'
    fatal: Could not resolve HEAD to a revision
    ==> Downloading https://ghcr.io/v2/homebrew/portable-ruby/portable-ruby/blobs/sha256:0cb1cc7af109437fe0e020c9f3b7b95c3c709b140bde9f991ad2c1433496dd42
    ######################################################################### 100.0%
    ==> Pouring portable-ruby-2.6.8.yosemite.bottle.tar.gz
    ==> Installation successful!
    
    ==> Homebrew has enabled anonymous aggregate formulae and cask analytics.
    Read the analytics documentation (and how to opt-out) here:
      https://docs.brew.sh/Analytics
    No analytics data has been sent yet (nor will any be during this install run).
    
    ==> Homebrew is run entirely by unpaid volunteers. Please consider donating:
      https://github.com/Homebrew/brew#donations
    
    ==> Next steps:
    - Run brew help to get started
    - Further documentation:
        https://docs.brew.sh
    
    gary@itski ~ %

    I would like to look at some old data CDs.

  40. @Gary sorry for that, it seems the command to install Homebrew has changed. Use this:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
  41. Hi Oliver and everybody else around here!
    I’m trying too to mount an old cd-r and hoped the above procedure would help me. Unfortunately I got stuck while installing the fuse driver:
    install: /usr/local/bin/hfsfuse: Permission denied

    here is the complete Terminal transcript:
    hfsfuse-master % make install
    HAVE_BEXXTOH_ENDIAN_H: no
    HAVE_BEXXTOH_SYS_ENDIAN_H: no
    HAVE_OSBYTEORDER_H: yes
    HAVE_BIRTHTIME: yes
    HAVE_STAT_FLAGS: yes
    HAVE_STAT_BLKSIZE: yes
    HAVE_STAT_BLOCKS: yes
    HAVE_VSYSLOG: yes
    HAVE_PREAD: yes
    Makefile:161: Warning: git repo nor prepackaged version.h found, hfsfuse will be built without version information
    /Library/Developer/CommandLineTools/usr/bin/make -C lib/libhfsuser/
    make[1]: Nothing to be done for `all’.
    /Library/Developer/CommandLineTools/usr/bin/make -C lib/libhfs/
    make[1]: Nothing to be done for `all’.
    /Library/Developer/CommandLineTools/usr/bin/make -C lib/ublio/
    make[1]: `libublio.a’ is up to date.
    /Library/Developer/CommandLineTools/usr/bin/make -C lib/utf8proc/
    make[1]: Nothing to be done for `all’.
    mkdir -pm755 /usr/local/bin
    install -m755 hfsfuse hfsdump /usr/local/bin
    install: /usr/local/bin/hfsfuse: Permission denied
    make: *** [install] Error 71

    I never really worked with terminal before, so I hope somebody out there can give me an advice how to get beyond that obstacle.

    1. Hi Roland
      Does your Mac User probably not have „administrative“ permissions?

      Maybe what could work is using
      sudo make install in the Terminal. („sudo“ enforces system administrative permissions on the succeeding command, „make install“ here).

  42. For what its worth, i was able to fix within Mac Disk Utility by right clicking on the drive and formatting as APFC without loosing any data

  43. It has not been possible thank you very much for everything.
    hmount: /dev/disk4: not a Macintosh HFS volume (Invalid argument)

  44. This didn’t work for me. How do I delete the apps/extensions from my system. The uninstaller for Fuse didn’t seem to do anything?

Questions? Suggestions? Let us know with a comment!

This site uses Akismet to reduce spam. Learn how your comment data is processed.