How does Mac OS X decide which volumes to mount? One of my disks doesn't mount at boot
OS X uses diskarbitrationd
which discovers new storage devices and probes them for mountable filesystems. The Disk Arbitration framework handles notifying applications of disk mount/unmount events, and allows them to influence whether a volume is mounted or not.
Consult the man page for diskarbitrationd
for very limited further information; for example, diskarbitrationd consults /etc/fstab
to determine if the discovered filesystem should be mounted other than at the default location(/Volumes/) or with special options (or not mounted at all.)
Reasons for diskarbitrationd not mounting a filesystem or "volume" on a device may include:
- Errors (corruption) in the partition table.
- A mismatch between the partition type and the filesystem.
- A damaged filesystem which fsck cannot repair.
- Hardware failure.
- Filesystem is listed in
/etc/fstab
with noauto. - An application has used the Disk Arbitration framework to prevent auto-mounting
According to your comments, all your journaled filesystems are mounting, and the filesystem which isn't mounting doesn't have journaling turned on. Journaling was introduced in 10.2 Server and 10.3 Client and by now is considered a vital, critical feature. It should be enabled unless you really know what you're doing; hence why you must hold down the option-key in Disk Utility to disable it in modern versions of OS X. Make sure the volume has journaling enabled:
- Select the volume in
Disk Utility
- Choose
File
->Enable journaling
(if it is greyed out, journaling is enabled. - Verify by choosing
File
->Get info
; you should see "Mac OS Extended (Journaled)" as the filesystem type.
A little late, but hopefully this helps anyone else searching (since the rest of the answers here are useless!)
Quoting https://discussions.apple.com/message/29744735#29744735 -
Since at least Panther and through to El Capitan, AutomountDisksWithoutUserLogin needs to be set to true (1) in /Library/Preferences/SystemConfiguration/autodiskmount.plist, then all external storage should be mounted at boot.
Check current setting: sudo defaults read /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin
The output will be either 0 or 1 0 = false 1 = true
Set to true: sudo defaults write /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin -bool true