[FIX] Time Machine Volume not mounting automatically on macOS 26 Tahoe (M2/M3/M4)
Thread Content:
The Issue:
Since updating to macOS 26 Tahoe, my external Time Machine drive (APFS Case-sensitive) no longer mounts automatically after a reboot or when re-plugging the USB cable. While Disk Utility often fails to mount it, a manual terminal command via diskutilor mount_apfs works. It seems macOS Tahoe has a bug in its mount prioritization or a conflict with TCC (Transparency, Consent, and Control) security rules for backup volumes.
The Fix:
I’ve created a workaround using a custom LaunchDaemon that triggers a mount script with a specific hardware delay and active path monitoring for /Volumes.
Step 1: Create the Mount Script
Create a file at /usr/local/bin/mount_tm.sh:
bash
#!/bin/bash
# 1. Hardware initialization delay (Essential for Tahoe/M-Series)
sleep 15
# 2. Ensure mount point exists
/bin/mkdir -p /Volumes/TimeMachine
# 3. Mount via Volume UUID (Get yours via 'diskutil info /dev/diskX')
/usr/sbin/diskutil mount -mountPoint /Volumes/TimeMachine 2A3947B9-72F8-4EC2-9327-BF9368CA0F40
Crucial: You must set the correct permissions and remove the quarantine flag:
bash
sudo chown root:wheel /usr/local/bin/mount_tm.sh
sudo chmod +x /usr/local/bin/mount_tm.sh
sudo xattr -c /usr/local/bin/mount_tm.sh
Step 2: Create the LaunchDaemon Plist
Create the plist file at /Library/LaunchDaemons/com.user.mount_tm.plist:
xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "
www.apple.com">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.user.mount_tm</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>/usr/local/bin/mount_tm.sh</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>WatchPaths</key>
<array>
<string>/Volumes</string>
</array>
<key>StandardErrorPath</key>
<string>/tmp/mount_tm.err</string>
<key>StandardOutPath</key>
<string>/tmp/mount_tm.out</string>
</dict>
</plist>
Step 3: Activation & Permissions
For this to work on Tahoe, permissions must be exact:
- Set Plist permissions:
sudo chown root:wheel /Library/LaunchDaemons/com.user.mount_tm.plist
sudo chmod 644 /Library/LaunchDaemons/com.user.mount_tm.plist
- Register the Service:
sudo launchctl bootstrap system /Library/LaunchDaemons/com.user.mount_tm.plist
- Full Disk Access (Mandatory):
Go to System Settings > Privacy & Security > Full Disk Access and add /bin/bash to the list. Tahoe will block background mount commands otherwise.
Results:
The drive now mounts reliably ~15 seconds after login or immediately after plugging it in. The WatchPaths trigger ensures that the system checks for the drive whenever there is activity in the /Volumes directory.
Hope this helps anyone struggling with persistent mount issues on the latest macOS!
Disclaimer:
The codes and instructions provided here are to be used at your own risk. I assume no responsibility or liability for any data loss, system errors, or hardware damage that may occur from following these steps. Please ensure you have a current backup of your data before making any modifications to your system.