{"id":48458,"date":"2025-07-11T15:24:23","date_gmt":"2025-07-11T19:24:23","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=48458"},"modified":"2025-07-21T13:08:32","modified_gmt":"2025-07-21T17:08:32","slug":"update-2025-07-21","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2025\/07\/11\/update-2025-07-21\/","title":{"rendered":"Using &ldquo;tmutil associatedisk&rdquo; With APFS Destinations"},"content":{"rendered":"<p>I recently got a new SSD on Prime Day to replace one of my main hard drives. As this drive was included in Time Machine, I wanted the SSD to &ldquo;adopt&rdquo; the hard drive&rsquo;s backup history. This way I could avoid recopying lots of data that was already backed up, which would also require pruning older snapshots.<\/p>\n\n<p>When you get a new Mac and want to adopt the old Time Machine backup, you want <code><a href=\"https:\/\/keith.github.io\/xcode-man-pages\/tmutil.8.html#inheritbackup\">tmutil inheritbackup<\/a><\/code>. When you keep the same Mac but get a new source drive, you want <code><a href=\"https:\/\/keith.github.io\/xcode-man-pages\/tmutil.8.html#associatedisk\">tmutil associatedisk<\/a><\/code>.<\/p>\n\n<p>The command is documented as:<\/p>\n\n<pre>tmutil associatedisk [-a] <em>mount_point<\/em> <em>snapshot_volume<\/em><\/pre>\n\n<p>The <tt>-a<\/tt> tells it to find all the snapshots for that volume on the destination, not just the specific one that you pointed it to.<\/p>\n\n<p><em>mount_point<\/em> is just the source volume&rsquo;s path (in <tt>\/Volumes<\/tt>, not the device path).<\/p>\n\n<p><em>snapshot_volume<\/em> is the destination within your Time Machine backup. The example shows this as being within the <tt>Backups.backupdb<\/tt> folder, but there&rsquo;s no such folder when using an APFS destination. My first thought was to drag the latest snapshot from Finder into Terminal:<\/p>\n\n<pre>sudo tmutil associatedisk -a \/Volumes\/Aux \/Volumes\/.timemachine\/C2E8322E-A7EA-44F8-904F-3232671E1412\/2025-07-11-091237.backup\/2025-07-11-091237.backup\/Aux<\/pre>\n\n<p>This does <em>not<\/em> work. Instead, you need to find the path using Terminal:<\/p>\n\n<pre>sudo tmutil associatedisk \/Volumes\/Aux \/Volumes\/TM\\ 7\/2025-07-11-091237.previous\/Aux<\/pre>\n\n<p>It&rsquo;s <a href=\"https:\/\/apple.stackexchange.com\/questions\/469356\/tmutil-associatedisk-on-macos-sonoma-volume-mount-point-and-volume-path\">important<\/a> not to have any trailing slashes. And, also, it will fail if you use <code>-a<\/code> with an APFS destination. But I guess that&rsquo;s OK because there&rsquo;s only one <code>.previous<\/code> folder to point it at, anyway, and APFS itself should know the chain of parent snapshots&#8230;<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/10\/22\/time-machine-in-sequoia\/\">Time Machine in Sequoia<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/05\/18\/time-machine-evolution-and-apfs\/\">Time Machine Evolution and APFS<\/a><\/li>\n<\/ul>\n\n<p id=\"using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-15\">Update (<a href=\"#using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-15\">2025-07-15<\/a>): <code>associatedisk<\/code> worked with one of my drives. However, with another one, it didn&rsquo;t. I first thought it was working because the amount of data copied and the estimated percent remaining looked right, but it ended up recopying all of the data, and deleting all my old snapshots in order to do that. In the end, the backup failed, as has happened to me with several other APFS Time Machine backups recently. It claimed there wasn&rsquo;t enough space even though all the snapshots had been pruned and the destination drive was almost twice as large as the sources.<\/p>\n\n<p id=\"using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-21\">Update (<a href=\"#using-tmutil-associatedisk-with-apfs-destinations-update-2025-07-21\">2025-07-21<\/a>): I rotated backups and again did <code>associatedisk<\/code>, but again the incremental backup took much longer and copied much more than expected. <code>fs_usage<\/code> showed that it was indeed copying files from the old drive, and it looks to me like they hadn&rsquo;t actually changed. At this point, I doubt that <code>associatedisk<\/code> actually works.<\/p>","protected":false},"excerpt":{"rendered":"<p>I recently got a new SSD on Prime Day to replace one of my main hard drives. As this drive was included in Time Machine, I wanted the SSD to &ldquo;adopt&rdquo; the hard drive&rsquo;s backup history. This way I could avoid recopying lots of data that was already backed up, which would also require pruning [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2025-07-11T19:24:26Z","apple_news_api_id":"1addd1cd-8fa1-464d-9be8-c28c343bf623","apple_news_api_modified_at":"2025-07-21T17:08:34Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAABA==","apple_news_api_share_url":"https:\/\/apple.news\/AGt3RzY-hRk2b6MKMNDv2Iw","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[1395,146,131,1016,30,2598,183,174,216],"class_list":["post-48458","post","type-post","status-publish","format-standard","hentry","category-technology","tag-apple-file-system-apfs","tag-backup","tag-bug","tag-datacide","tag-mac","tag-macos-15-sequoia","tag-ssd","tag-storage","tag-timemachine"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48458","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=48458"}],"version-history":[{"count":6,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48458\/revisions"}],"predecessor-version":[{"id":48544,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/48458\/revisions\/48544"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=48458"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=48458"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=48458"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}