Solution:
Root Cause: Network Drop during Catalog Mutation A network disruption during an active SMB write operation causes the macOS sync daemon (
backupd) to mark the sparsebundle state as corrupted inside the image's
Info.plist file (
VerificationState = 2). The system forces a read-only lock to prevent further data loss.
Diagnostic Verification: Inspect system logs for Time Machine verification failures: Copy
bash
log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 24h | grep -E "Verification|Failed|sparsebundle"
Verify image plist internal state tags: Copy
bash
defaults read /Volumes/backup_share/YourBackup.sparsebundle/Info.plist VerificationState
If the output is
2, the image has been flagged as permanently damaged.
Step-by-Step Fix: 1 Open Terminal and elevate to root execution privileges:
2 Clear immutable flags on the bundle metadata structure:
Copy
bash
chflags -R nouchg /Volumes/backup_share/YourBackup.sparsebundle
3 Attach the sparse image to the dev tree without auto-mounting volumes:
Copy
bash
hdiutil attach -nomount -readwrite -noverify /Volumes/backup_share/YourBackup.sparsebundle
4 Identify the disk node assigned (e.g., /dev/disk3s2 or /dev/disk3s1) using diskutil list.
5 Run file system repair against the partition node (for APFS formatted sparsebundles):
Copy
bash
fsck_apfs -y -o /dev/disk3s2
*(If formatted as HFS+, use
fsck_hfs -fy /dev/disk3s2 instead).*
6 Edit the Info.plist inside the .sparsebundle container to clear the damage flag:
Set VerificationState to 0 using defaults: Copy
bash
defaults write /Volumes/backup_share/YourBackup.sparsebundle/Info.plist VerificationState -int 0
7 Eject the virtual disk node:
Copy
bash
hdiutil detach /dev/disk3
Prevention & Long-Term Monitoring: Disable Wi-Fi sleep states during SMB backup operations using pmset. Refer to the Apple Official Time Machine Support Guide to verify SMB 3.0 protocol configurations on custom NAS deployments.