User Tools

Site Tools


unix:osx:change_time_machine

Time Machine w/new system

If you don't know, when you upgrade your mac, your Time Machine existing backups will not work with the new system. Apple's intention is to apparently force you to format your external disk, or manually delete your existing backups, and start Time Machine (“TM” from here on) anew.

Steps are published all over for how to do this, but they all seem to be missing one component from what I've found with Snow Leopard- namely that the xattr attribute must be entered in ASCII Hex for things to work properly.

Also, Snow Leopard does not include the binary fsaclctl, which is necessary to update the settings on the Time Machine disk. You can either try to find a copy of fsaclctl online, or find out what command has replaced it. If you obtain a copy of the fsaclctl binary, copy it to your /usr/sbin folder.

Steps to get your existing backups working again are essentially:

  1. Backup your current settings so you can back out the changes if you need to
  2. Get your new hardware Ethernet MAC address
  3. Allow edits to file system attributes on the TM disk
  4. Edit the attributes and files
  5. Disable edits to file system attributes on the TM disk
  6. Re-plug your TM disk & test backups

Steps in detail:

Backup current settings

  • Attach your TM disk
  • Open Terminal
  • Type:
    cd /Volumes/TM

    where “TM” is the name of your TM disk

  • Copy the .MACaddress file to the same name with .bak. Ex:
  • Type:
    cp .0016cb9268a5 .0016cb9268a5.bak
  • Backup the attributes on the backupsdb directory. Ex:
  • Type:
    xattr -l Backups.backupdb/systemname >> ~/systemnamehex.txt

    Where systemname is the name of your system disk.

Get your new MAC address

  • Open Terminal (probably already opened)
  • Type:
    ifconfig en0|grep ether
  • Copy or make a note of the string after the word “ether”. That is your MAC address.

Allow Attribute Edits to the TM disk filesystem

  • Open Terminal (probably already opened)
  • Type:
    sudo fsaclctl -p /Volumes/TM -d

Change the files and attributes

  • Open Terminal…
  • Type:
    cd /Volumes/TM
  • We need to change the old MAC address file to our new MAC address. What follows is an example, the file is named after the old MAC, and you have already made a note of your new MAC address, so fill in the strings to match your own settings:
    mv .0016cb9268a5 .0017da1978f9
  • Now the tricky part- changing the attribute on the Backups.backupdb/systemname directory. Here's the output of the xattr -l command on my disk:
    frieda:Library ben$ xattr -l /Volumes/Ben\'s\ Lacie/Backups.backupdb/frieda/
    com.apple.backupd.BackupMachineAddress: d4:9a:20:c5:ad:20
    com.apple.backupd.HostUUID:
    00000000  44 38 44 32 31 46 37 41 2D 38 35 39 45 2D 33 32  |D8D21F7A-859E-32|
    00000010  46 32 2D 39 34 41 34 2D 36 37 35 33 38 31 37 32  |F2-94A4-67538172|
    00000020  31 46 35 30 00                                   |1F50.|
    00000025
  • Both of these attributes should be Hex values, things seem to vary though. If yours appear like the HostUUID value above, then you should use Hex formats, though I'm not sure that must be the case. If you need Hex values, open up “Character Viewer”, and you can see the values of the numbers and letters you will need. They will need to be entered with the “-x” argument to xattr. They will need to end with a “00”. For example, if my new MAC address is 00:17:da:19:78:f9, then we can see from Character Viewer that “0” is “00” in hex, “:” is “3A” in hex, etc. My MAC string in hex, with a “00” at the end, would then be:
    00 00 3A 31 37 64 61 3A 31 39 3A 37 38 3A 66 39 00
  • To set the attribute for BakupMachineAddress then, the command would be:
    sudo xattr -x com.apple.backupd.BackupMachineAddress "00 00 3A 31 37 64 61 3A 31 39 3A 37 38 3A 66 39 00" Backups.backupdb/frieda/
  • This will need to be repeated for the HostUUID attribute if you have that attribute on your directory as well.

Disable file system attribute edits

  • Open Terminal (probably already opened)
  • Type:
    cd ~/
  • Type:
    sudo fsaclctl -p /Volumes/TM -e

Eject TM Disk & Re-plug

  • Eject the TM disk via Finder
  • Un-plug the TM disk
  • Re-plug the disk
  • Open Time Machine Preferences
  • Check that your disk is selected
  • Click the TM logo in the menu bar, and choose “Backup Now”
unix/osx/change_time_machine.txt · Last modified: 2010/02/22 05:45 by ben