I ran into a frustrating issue with my network-based Time Machine backups, and wasn’t able to find any previous posts on the Internet related to the problem, so I thought I’d share details about it and my solution here in case others hit it.
Background:
I have a 2016 Intel MacBook Pro that I replaced with a 2021 M1 MacBook Pro for most of my work. I’m an embedded software developer, and most of that work takes place in a Windows 11 ARM VM in Parallels Desktop. Some of the platforms I work with have development environments that only work on Intel-base Windows, so I continued to use a Windows 10 Intel VM on the old laptop for that work.
I was backing both machines up to a small Linux box that I run Home Assistant on and use as a NAS.
I recently decided to replace the 2016 Intel machine with a faster 2020 Intel MacBook Pro with more RAM. I migrated to that machine, and had it take over the old machine’s Time Machine backup on the NAS when prompted.
But something odd happened shortly after, and my network backups on the 2020 Intel and 2021 M1 machines were failing. I tried a lot of troubleshooting, but both machines refused to acknowledge existing backups (1TB and 2TB) and wanted to create new .sparsebundle
files on the NAS.
My attempts to “inherit” the old files always failed:
[tom@intel ~]$ sudo tmutil inheritbackup /Volumes/backups/intel.sparsebundle
Password:
Mounting disk image...
Successfully inherited machine store at '/Volumes/Backups of intel'
Unmounting disk image...
Inheriting disk image for machine...
Failed to inherit disk image '/Volumes/backups/intel.sparsebundle'
I ended up running Console.app and seeing references to errors caused by an empty com.apple.TimeMachine.MachineID.plist
in the .sparsebundle
.
On the Linux NAS, that “file” is actually a directory, and when I checked I found the 0-byte .plist
file, and thankfully a .bckup
file beside it.
-rwxrwxr-x+ 1 timemachine timemachine 516 Jul 19 11:09 com.apple.TimeMachine.MachineID.bckup
-rwxrwxr-x+ 1 timemachine timemachine 0 Jul 26 00:27 com.apple.TimeMachine.MachineID.plist
Replacing the .plist
with the .bckup
file solved the issue. I was able to run the tmutil inheritbackup
command and successfully claim the .sparsebundle
files. After doing so, I could add the NAS as a destination and resume backups.
I’m not sure what events led to the damaged MachineID
files, but I’m glad that the Console app pointed me in the right direction and there were backup files in place to restore from.