macos升级后time machine报“磁盘结构不兼容”(error 45/80)的根本原因是系统对网络备份容器的协议、格式与元数据校验变严格;需强制启用smb3及三项锁机制、使用.sparcebundle格式创建备份容器,并在servermarkers.plist中添加nas主机名。
macos 升级后 time machine 报“磁盘结构不兼容”,常见于 error 45 或 error 80,本质不是备份盘坏了,而是系统对网络备份容器的协议、格式与元数据校验变严格了。重点不在连不连得上,而在 macos 还认不认这个备份卷是合法的 time machine 目标。
检查并强制启用 SMB3 及三项关键锁机制
新版 macOS(尤其是 Mojave 起)要求 NAS 的 SMB 共享必须满足特定协议级别和文件锁定能力,否则直接拒绝挂载为备份目标:
- 登录 NAS 后台(如 Synology 或 QNAP),进入 SMB/CIFS 设置 → 将「最大 SMB 协议」明确设为 SMB3(仅开 SMB2 不够)
- 必须开启三项:「Opportunistic Locking」、「SMB2 租用」、「SMB 耐久控制」——这三者共同支撑 Time Machine 的原子写入与断点续备
- 在 Bonjour 或服务发现设置中,启用「通过 SMB 播送 Time Machine」和「Bonjour 服务发现」,确保 Mac 能自动识别并信任该共享
重做备份容器:必须用 .sparsebundle,禁用 .sparseimage
图形界面磁盘工具创建的 .sparseimage 文件,在升级后的系统中大概率触发 error 45,因其缺少 APFS 元数据扩展支持和捆绑式校验结构。唯一可靠方式是终端生成 .sparsebundle:
- 先手动挂载你的 SMB 备份共享(例如:smb://my-nas.local/backup),确认可写
- 在终端运行:
hdiutil create -size 1.5t -type SPARSEBUNDLE -fs "APFS" -volname "MacBackup" "/Volumes/backup/MacBackup.sparsebundle"
(把 1.5t 换成你预估容量,/Volumes/backup/ 替换为实际挂载路径) - 创建完成后,执行:
tmutil setdestination "/Volumes/backup/MacBackup.sparsebundle"
修复 serverMarkers.plist 中缺失的 NAS 主机名
macOS 26.4 等近期更新后,系统会校验备份目标的主机名是否登记在 /System/Library/CoreServices/backupd.bundle/Contents/Resources/serverMarkers.plist 中。若未登记,即使连接正常也会报 error 80:
- 终端中执行:sudo su 获取 root 权限
- 用文本编辑器打开该 plist 文件,定位到
区域内,插入一行: my-nas.local (替换成你 NAS 实际的局域网主机名) - 保存退出后,重启备份服务:
sudo launchctl stop com.apple.backupd
稍等数秒,系统会自动拉起新进程
这些步骤不依赖第三方工具,也不需重装系统。核心就三点:协议达标、容器格式正确、主机名可信。做完后重启 Mac,再试一次 Time Machine,基本能恢复识别。











