Inherit TimeMachine Backups

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 [0].

At the end I get it working and a sentence flashes through my brains: Same procedure as every year [1]. 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

Exciting 🤓.

Leave a Reply

Your email address will not be published. Required fields are marked *