Lately I had to restore my macbook from time machine. Luckily, the reason was that I got a new MacBook 🤓. So I created a last time machine backup, said goodbye to my old macbook, and moved on to my new machine, starting with restoring from my all new time machine backup. I did this several times now and it went well every time. And… no problem this time either and this is what I tell all my jealous Linux and Windows friends. But what I didn’t tell them is that the next step is less fun: inheriting the backups of the old machine.
It is and has always been a pain. Right after the first start I click on time machine’s “start backup” and it asks me “do you want to keep your updates?” and I say “yes” in the good hope that it will work. But it never did so far. And then I start an odyssee of googling and trying and until now it was not enough to do what you can find in this very good description .
At the end I get it working and a sentence flashes through my brains: Same procedure as every year . This is why this time I documented the steps you have to do to reconnect your new machine to an existing time machine backup (backup your backup before doing this, please):
# mount the time machine backup to a mount point in /Volumes/ # the mount point will be referenced by $mount_point sudo hdiutil attach $path_to_sparsebundle # show time machine destinations sudo tmutil destinationinfo # if present, remove the link to old/wrong time machine # backup destinations sudo tmutil removedestination $old_destination_id # add the new volume as a time machine destination sudo tmutil setdestination $mount_point # say time machine it should build upon existing backups # instead of starting from zero on this volume sudo tmutil inheritbackup $mount_point/Backups.backupdb/$name_of_machine # list the snaphots of the backup (just for checking # if everything seems to be ok) sudo tmutil listbackups # say time machine, where the current backup is situated and # associate it with the mount point of the local hard drive "/" sudo tmutil associatedisk -a / $mount_target/Backups.backupdb/$name_of_machine/$date_of_newest_backup/$name_of_target_disk # now start a new backup sudo tmutil startbackup # if a backup didn't finish it might help to delete the *in progress* # data for incomplete backups sudo /System/Library/Extensions/TMSafetyNet.kext/Contents/Helpers/bypass rm -rf $mount_target/Backups.backupdb/$name_of_machine/$date.inProgress