
"no mountable file systems"
Prologue
Hii! Welcome to my first blog! I don’t know who is reading this, but I think you are probably a Mac user. Yay! We are all Macintosh users!
Despite that macOS is a pretty well-made operating system, sometimes we are still facing unexpected issues. It’s pretty disrupting/frustrating cuz you knew there should be a simple solution for it, but you just can’t figure out what and how. Unfortunately, there are so many factors that can cause problems specific to your situation, and sometimes it’s difficult to find posts on the Internet describing the exact same problem as yours, maybe there is none!
I’m currently traveling in Boise, Idaho. Inspired by the friendly environment at Boise State University, I thought about why not start a blog and share issues I’ve encountered with Mac and solutions with the internet.
Despite that, some of the issues I had may never happen to you, but if it can inspire someone in the world to make a solution for their problems, that’s fantastic! That’s the purpose of this blog!
Alrighty. Here we go about an issue I had recently!
Frustration
My main personal computer is a 2015 Macbook Pro. With traditional function keys and the touchpad. CLASSIC! Touch Bar was never my taste. So glad that Apple finally decided to ditch Touch Bar. [Touch Bar you will not be missed!]
The disk of my Mac is always near full, I installed three macOSs on the partition, the one I had issue with is macOS Mojave.
Because I like to research iOS, I sometimes need to mount multiple iOS root file system (The dmg file extracted from the firmware) on my Mac, from iOS 7 to iOS 15 beta.
It was doing all good until one day, it suddenlty stopped working. The “no mountable file systems” window pops up when I click on the dmg file, and restarting the system does not solve the problem.
diskarbitrationd: Unable to mount /dev/disk5s1 (status code 0x00000049).

This log is normally appears as <private>, solution is here:
https://georgegarside.com/blog/macos/sierra-console-private/
At first, I thought it was the “certificate expired” issue, but then I learned that you could skip verification when mounting using the hdiutil command
hdiutil attach -noverify -verbose </path/to/dmg>
However that didn’t make the problem go away. hdiutil fails too.
DIHLDiskImageAttach() returned 112
hdiutil: attach failed - no mountable file systems

You can find the corresponding driver files under /dev. It only fails when you try to mount them. Later I noticed another log from the kernel (apfs) that seemed to be relevant, I missed it earlier because it was not labeled as “errors and faults”.
apfs_vfsop_mount:1306: the conversion/crypto mount is already mounted for

By searching the string in the apfs binary file, I found this

Unlike HFS, the core of apfs is still closed source, that makes it difficult to understand what is actually happening here. But it looks like this log caused the internal apfs function to return an error code and ultimately fail the mounting process.
I’d consider it’s a bug in apfs (Apple File System). The solution that worked for me is fairly simple, just separate the attach and mount stage. Don’t do them all at once. Let apfs take a break :D
Solution
Reboot your computer if you see the “no mountable file system” prompt window. Then, after the system restarted, run the following shell commands separately to mount the target dmg file.
hdiutil attach -noverify -nomount -verbose </path/to/dmg>
hdiutil attach -noverify -verbose </path/to/dmg>
You can leave a comment below.
Comments