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:bash
log show --predicate 'subsystem == "com.apple.TimeMachine"' --info --last 24h | grep -E "Verification|Failed|sparsebundle"
Verify image plist internal state tags: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:
bash
sudo su -
2. Clear immutable flags on the bundle metadata structure:
bash
chflags -R nouchg /Volumes/backup_share/YourBackup.sparsebundle
3. Attach the sparse image to the dev tree without auto-mounting volumes:
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):
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:bash
defaults write /Volumes/backup_share/YourBackup.sparsebundle/Info.plist VerificationState -int 0
7. Eject the virtual disk node:
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.