My setup:
macOS High Sierra (10.13.3). I decrypt my cloud-data via encfs
, which uses osxfuse
. Years ago I used BoxCryptor v1 to encrypt my files, but now I'm on macOS and use free software to decrypt my files. (Hint: Don't use BoxCryptor v2, they switched to a proprietary encryption format!)
Problem:
Suddenly after a reboot encfs wasn't working at all.
/usr/local/bin/encfs -f -v '/Users/USERNAME/Dropbox/BoxCrypter' '/Users/USERNAME/Daten'
--> Error message: mount_osxfuse: the file system is not available (255)
brew doctor
brew reinstall osxfuse
brew upgrade encfs
Reboot!
/usr/local/bin/encfs -f -v '/Users/USERNAME/Dropbox/BoxCrypter' '/Users/USERNAME/Daten'
With the latest version of encfs, there was a little bit more context:
kext load failed: -603947007
mount_osxfuse: the file system is not available (255)
Lools like it's an issue with the kernel extension (kext
).
kextstat | grep osxfuse
(no output!)
Let's see what's registered:
kextstat
Output: very much stuff. And also this:
org.virtualbox.kext.VBoxUSB
org.virtualbox.kext.VBoxNetFlt
org.virtualbox.kext.VBoxNetAdp
org.virtualbox.kext.VBoxDrv
FUSE needs to register a virtual device for exchanging messages between the kernel and file systems like sshfs. The number of available device slots is limited by macOS. So if you are using other software that eats up all these device slots FUSE will not be able to register its virtual device.
Yes, I installed some stuff lately (without reboot) and I also mounted a samba share. Looks like I reached the limit.
Quick solution could be (source):
kextunload -b com.apple.filesystems.smbfs
But actually I need all the software and I want to access the network drive as well. But Oracle VM VirtualBox is not any longer required to run docker. So let's free up some resources!
https://osxdaily.com/2019/01/25/uninstall-virtualbox-mac-completely/
- Download the latest VirtualBox installer file from Oracle if you don’t have it already on your Mac
- Mount the VirtualBox disk image file and open that mounted dmg in the Finder
- Double-click on the text file named
VirtualBox_Uninstall.tool
to launch into a new Terminal window - Confirm that you wish to completely uninstall VirtualBox by typing ‘yes’ when requested
Reboot!
kextstat | grep osxfuse
> com.github.osxfuse.filesystems.osxfuse
Yay! 😃
Mount it again:
/usr/local/bin/encfs -f -v '/Users/USERNAME/Dropbox/BoxCrypter' '/Users/USERNAME/Daten'
And it works again! Now it's fine to mount it as a daemon again, like this:
/usr/local/bin/encfs -S -o allow_other -o local -o volname='Daten' '/Users/USERNAME/Dropbox/BoxCrypter' '/Users/USERNAME/Daten'
Hint: -S
read password from standard input, without prompting. This may be useful for scripting encfs mounts.
The user interface https://github.com/corelan/pyencfsgui by Peter Van Eeckhoutte ist nice to work with. On a restart I am prompted for the password, so that I do not need to store it on a drive.