November, 09, 2007

Time Machine and a new motherboard

It looks like its backup week here at rebelog headquarters…

Apparently TimeMachine uses the MAC (MAC as in "Media Access Control" not Mac as in "Macintosh") address of your ethernet port to identify its backups. If you change your motherboard (like I just did with my MBP) then your MAC address changes and Time Machine will no longer associate your backup with your machine (because as far as TM is concerned it’s a new machine).

You can browse the backup, but if you wish to continue backing up, TM will tell you it cannot find the volume. Opening the TM preferences and pointing at the backup drive will fix that, but TM will create a new backup set from scratch.

Annoying.

— david @ 11:19 am

17 Comments »

  1. It looks like the MAC address is stored as an xattr with key ‘com.apple.backupd.BackupMachineAddress’. `cd` into the ‘Backups.backupdb’ directory, and `xattr -l ` should spit back your MAC address. I don’t have a spare mobo to test with, but I’d imagine updating the MAC address would reassociate the backup.

    Comment by scott lewis — November, 10, 2007 @ 3:07 pm

  2. Of course, that should be `xattr -l computer-name`

    Comment by scott lewis — November, 10, 2007 @ 3:08 pm

  3. Ooo, thanks for that Scott. I’m sure there’s a market for a utility there. Apparently people are also seeing this problem if their primary ethernet port changes (Airport goes down etc)

    Comment by david — November, 10, 2007 @ 3:10 pm

  4. Good post – have exactly the same problem after having my iMac’s logic board replaced. Unfortunately Scott’s suggestion didn’t work for me as it won’t let me write the new MAC address attribute:

    sudo xattr -w com.apple.backupd.BackupMachineAddress 01:02:03:04:05:06 foo

    [Errno 1] Operation not permitted: ‘foo’

    Trying to delete and then write the attribute fails too:

    sudo xattr -d com.apple.backupd.BackupMachineAddress foo

    No such xattr: com.apple.backupd.BackupMachineAddress

    …even though printing the attr does:

    xattr -p com.apple.backupd.BackupMachineAddress foo

    00:01:02:03:04:05

    So close but yet so far. Ended up deleting the old backup and starting again… now sitting here hoping machine doesn’t kernel panic mid backup – new logic board no good either :(

    Comment by James Bebbington — December, 19, 2007 @ 6:06 am

  5. Took me a few hours to figure it out. But you need to remove the ACL (access restrictions) from Backups.backupdb and the directory you want to backup to (in the above cases ‘foo’). I had real trouble here as ACLs are pretty new to me – even from a Linux background… But if you CMD-I the relevant directories you can view the Sharing & Permissions, click the padlock to authenticate and then add yourself as a specific user giving yourself full Read & Write privileges for both Backups.backupdb and foo folders. Then in the terminal navigate to your Time Machine drive and run:

    chmod -N Backups.backupdb
    cd Backups.backupd
    chmod -N foo

    In both chmod cases no message should be returned (indicating success). You should now be able to xattr your foo directory with your correct MAC address!

    Don’t know how to fix the permissions though since all the ACLs have been deleted – hopefully Disk Utility will do it for me…

    Comment by Barry John Williams — January, 10, 2008 @ 10:04 pm

  6. Thanks — this saved my ass after a MBP logic board replacement. Apple needs a KB article on this topic — they were ZERO help.

    Comment by explosiv0SX — January, 26, 2008 @ 7:47 pm

  7. I figured out the MAC address problem on my own, but I couldn’t get the @%^#$ com.apple.backupd.BackupMachineAddress attribute set. Luckily I found this site and Barry’s ACL notes saved me hours of pain and frustration. Thanks guys! I don’t know if repair permissions would work, but you can reset the ACL’s on the Backup.backupdb and Backup.backupdb/foo directories this way: chmod +a ‘group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown’ Backup.backupdb and Backup.backupdb/foo

    Comment by David Cloutier — January, 30, 2008 @ 10:38 pm

  8. Wow! This helped me figure out something I never thought I’d understand. I moved my old HD to my new macbook and couldnt understand what was wrong. With help from this page I managed to make my old TM backups work in the new computer. Thanks!

    Comment by sven — April, 07, 2008 @ 4:54 am

  9. Thank you so much – I had a motherboard replaced on my MBPro, called Apple with that same issue, and they were completely useless – offered to “reformat the drive” as the solution.
    You saved my day.
    On the other hand doing chmod +a ‘group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown’ Backup.backupdb and Backup.backupdb/foo results in “Unable to translate ‘‘group’ to a UID/GID” – is it because it shouldn’t have “group” in there?

    Comment by Jill — April, 21, 2008 @ 6:23 pm

  10. Awesome. Saved my bacon. (Where by “bacon” I mean “the practical use of my backup drive.”)

    Comment by Adam — June, 28, 2008 @ 3:38 pm

  11. Excellent entry. For some reason, time machine stopped recognizing my previous backups after I repaired my disk. Turns out, the MAC address changed (not sure why), but your advise did the trick.

    Thanks a lot.

    Comment by Peter — July, 20, 2008 @ 1:27 am

  12. Great to have this information – a pity that Apple does not seem to tell people after their logic boards have been replaced that this will be a problem… Took hours to figure out something was amiss and then some more time to track down the answers here, at http://discussions.apple.com/thread.jspa?messageID=6179417 and http://www.macosxhints.com/article.php?story=20080128003716101

    Just a note to point out that in doing the xattr -w and chmod +a commands you probably need to use sudo to get the appropriate permissions (the first time I ran through these steps nothing changed because of not doing that, although there were no errors reported).

    Now I just need to wait for the backup to complete. As others have posted it seems to take much longer than usual.

    Comment by William — March, 19, 2009 @ 5:02 pm

  13. This worked perfectly after my logic board was replaced. So to summarise:

    chmod -N Backups.backupdb
    cd Backups.backupdb
    chmod -N [Whatever your machine name is. This will be what the directory is called]

    Then you:

    sudo xattr -w com.apple.backupd.BackupMachineAddress [Enter your MAC address - the Ethernet one] [Whatever your machine name is. This will be what the directory is called]

    Comment by Mark — May, 31, 2009 @ 8:25 pm

  14. I thought I had succeded in this. The new backup did not create a « MyMac 2 » volume, but it started backing up the whole system (in my case 60GB), which beats the purpose. Any cues ?

    Comment by MartinB — June, 21, 2009 @ 10:54 am

  15. Thanks for that summary Mark.

    Comment by Erik — July, 18, 2009 @ 6:39 am

  16. Here’s the “official” How-To over on MacOSXHints.com , which includes how to get around the ACL issue without completely getting rid of them. Full instruction set, verified by the author before posting.

    Comment by Caleb A. — August, 11, 2009 @ 3:22 pm

  17. OK, so the link didn’t make it through the system that time. Here’s another try for that “official” MacOSXHints How-To: http://www.macosxhints.com/article.php?story=20080128003716101

    Comment by Caleb A. — August, 11, 2009 @ 3:31 pm

RSS feed for comments on this post. TrackBack URI

Leave a comment