ottijp blog

Time Machineのバックアップがエラーになる場合の原因調査方法

  • 2025-06-28

tl;dr

  • log show --predicate 'process == "backupd"' --infoでTime Machineバックアップの詳細なログが参照できる
  • このログから2つの問題を発見し解消できた
  • 今回はそれだけでは復旧しなかったのでバックアップファイルを削除して再構成した

環境

  • macOS: 15.5 (Sequoia)
  • Linux Mint: 20.3
  • samba: 4.15

症状

何のタイミングかわかりませんが,Time Machineのバックアップがうまくいかなくなって,常に以下の画像のような状態になっていました.

time machine error1

Waiting to complete first backup.
Next backup: Automatic (hourly)

右端には赤いインフォメーションボタンがあり,これを押すと次のようなダイアログが表示されます.

time machine error2

Time Machine couldn’t complete the backup to “backup-tm-main”
The backup disk image cloud not be created.

実は前にもこのような症状が起きたことがあり,その際はWebを調べても解決策が見つからなかったので,泣く泣くMACHOST.sparsebundle/(バックアップファイル)を消してバックアップディスクを再作成しました. しかし,過去のバックアップ履歴が残っているのであまり安易に削除する解決方法を採りたくなく,その前にもう少し調査してみることにしました.

構成

Linuxにあるsambaでファイル共有しているボリュームに,macOSからTime Machineでバックアップを取っています. 前に書いたこちらのブログ記事を参照してください.

cf. Linuxの外付け暗号化HDDにMacのTime Machineでバックアップを取る方法 | ottijp blog

diagram

Web検索による調査方法

画面に表示されているメッセージでWebを検索しても,以前と同様によくある対応方法しか出てこず,それらを実施してみても改善はしませんでした.例えば

  • sambaでvfs_fruitの設定が入っているか確認する
  • smbdを再起動する
  • macOSを再起動する
  • Time Machineのバックアップディスク設定を再構成する(一旦消して再度追加する)
  • バックアップ先ボリュームの空き容量があることを確認する

バックアップ先ボリュームの空き容量があることを確認する

については,たしかに空き容量が0(正確には4KB)でしたが,Time Machineは空き容量がなくなれば古いバックアップを消してくれるはずですし,後述するようにtmutilで過去バックアップを削除することができなかったので対応のしようがありませんでした.

今回はWeb検索だけでなく,Perplexityで色々壁打ちしながら調査したところ,今まで知らなかった調査方法があることがわかりました.

Perplexityが教えてくれた有用だった調査方法

log show --predicate 'process == "backupd"' --info

これを実行すると,Time Machineの実行に関するシステムログが表示されるので,Time Machine設定画面のメッセージだけではわからない状況が詳しく参照できました. 実はそれ以前にConsole.appは参照していて,Time Machineに関するログが出ていないか調べていたのですが,見方が悪かったのかその時は見つけられませんでした. このコマンドでサクッと参照できるのが今回とても有用でした.

今回の症状に関して発見できた問題

上記のコマンドを実行したところ,私の環境ではTime Machineの実行失敗時(バックアップディスク設定を再構成して,一度目のバックアップが実行され失敗した直後)に以下のような出力になりました(抜粋,一部改変).

2025-06-25 11:48:26.304552+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:Mounting] Attempting to mount 'smb://tmuser@LINUXHOST._smb._tcp.local./backup-tm-main'
2025-06-25 11:48:26.461636+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[895].0xbc6978f00
2025-06-25 11:48:26.461996+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] invalidated because the client process (pid 895) either cancelled the connection or exited
2025-06-25 11:48:26.475212+0900 0x2a7148   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[99447].0xbc6978f00
2025-06-25 11:48:26.475544+0900 0x2a7148   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] invalidated because the client process (pid 99447) either cancelled the connection or exited
2025-06-25 11:48:28.875059+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Initial network volume options for 'backup-tm-main' are {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 0, QoS: 0x0, attributes: 0x1C}
2025-06-25 11:48:28.875103+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Setting network volume options for 'backup-tm-main' to {disablePrimaryReconnect: 0, disableSecondaryReconnect: 1, reconnectTimeOut: 30, QoS: 0x20, attributes: 0x1C}
2025-06-25 11:48:29.089274+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Current network volume options for 'backup-tm-main' are {disablePrimaryReconnect: 0, disableSecondaryReconnect: 0, reconnectTimeOut: 30, QoS: 0x20, attributes: 0x1C}
2025-06-25 11:48:29.092553+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:Mounting] Mounted 'smb://tmuser@LINUXHOST._smb._tcp.local./backup-tm-main' at '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main' (222.94 GB of 2.2 TB available)
2025-06-25 11:48:29.293720+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[895].0xbc6978f00
2025-06-25 11:48:29.293805+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[99447].0xbc6979040
2025-06-25 11:48:29.295515+0900 0x2a732a   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] invalidated because the client process (pid 99447) either cancelled the connection or exited
2025-06-25 11:48:29.295622+0900 0x2a732a   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] invalidated because the client process (pid 895) either cancelled the connection or exited
2025-06-25 11:48:29.297463+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main' is still valid
2025-06-25 11:48:29.573346+0900 0x2a6dc7   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Failed to deserialize dictionary with name 'com.apple.TimeMachine.MachineID.plist' from disk image 'file:///Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main/MACHOST.sparsebundle/', error: Error Domain=NSCocoaErrorDomain Code=3840 "Cannot parse a NULL or zero-length data" UserInfo={NSDebugDescription=Cannot parse a NULL or zero-length data}
2025-06-25 11:48:29.663956+0900 0x2a6dc7   Activity    0x373847             279    0    backupd: (Security) SecKeychainFindGenericPassword
2025-06-25 11:48:30.779524+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main' is still valid
2025-06-25 11:48:30.779569+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Creating an unencrypted sparsebundle diskimage at /Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main/MACHOST 2025-06-25-114830.incomplete
2025-06-25 11:48:30.787841+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Using a band size of 536.9 MB (on a volume with size of 2.2 TB)
2025-06-25 11:48:30.787866+0900 0x2a6dc7   Default     0x0                  279    7    backupd: (DiskImages2) [com.apple.DiskImages2:Default] -[DICreateParams createDiskImageParamsWithError:]: entry with <private>
2025-06-25 11:48:30.830644+0900 0x2a6dc7   Default     0x0                  279    7    backupd: (DiskImages2) [com.apple.DiskImages2:Default] -[DICreateParams onErrorCleanup]: Creation failed, erasing <private>
2025-06-25 11:48:30.853703+0900 0x2a6dc7   Error       0x0                  279    7    backupd: (DiskImages2) [com.apple.DiskImages2:Default] +[DIError errorWithDomain:code:description:verboseInfo:error:]: Failed creating the image: Failed creating bands folder (err code 28)
2025-06-25 11:48:30.853809+0900 0x2a6dc7   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Failed to create disk image at '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main/MACHOST 2025-06-25-114830.incomplete', error: Error Domain=NSPOSIXErrorDomain Code=28 "No space left on device" UserInfo={DIErrorVerboseInfo=Failed creating the image: Failed creating bands folder}
2025-06-25 11:48:30.876867+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main' is still valid
2025-06-25 11:48:30.877069+0900 0x2a72ff   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main' is still valid
2025-06-25 11:48:31.177245+0900 0x2a72ff   Info        0x0                  279    0    backupd: (CoreFoundation) [com.apple.foundation:general] CFVolumeObserver: Notifying client about disk <DADisk 0xbc68f43f0 [0x1f39fc998]>{id = /Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main?owner=0} (<private>) being unmounted because it disappeared.
2025-06-25 11:48:31.185421+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Unmounted '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main'
2025-06-25 11:48:31.185540+0900 0x2a6dc7   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] activating connection: mach=true listener=false peer=false name=com.apple.storagekitd.dm
2025-06-25 11:48:31.202565+0900 0x2a6dc7   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] invalidated because the current process cancelled the connection by calling xpc_connection_cancel()
2025-06-25 11:48:31.203381+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:BackupDestination] Error Error Domain=com.apple.backupd.ErrorDomain Code=20 "(null)" UserInfo={NSUnderlyingError=0xbc605f900 {Error Domain=NSPOSIXErrorDomain Code=28 "No space left on device" UserInfo={DIErrorVerboseInfo=Failed creating the image: Failed creating bands folder}}} not retryable.
2025-06-25 11:48:31.203511+0900 0x2a72ff   Info        0x0                  279    0    backupd: (CoreAnalytics) [com.apple.CoreAnalytics:client] Dropping "<private>" as it isn't used in any transform (not in the config or budgeted?)
2025-06-25 11:48:31.203521+0900 0x2a72ff   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:Analytics] Failed to com.apple.backupd.result analytics.
2025-06-25 11:48:31.203921+0900 0x2a732a   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6063700] activating connection: mach=true listener=false peer=false name=com.apple.TMHelperAgent.DeliverNotification
2025-06-25 11:48:31.204110+0900 0x2a732a   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6063700] invalidated because the current process cancelled the connection by calling xpc_connection_cancel()
2025-06-25 11:48:31.204171+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[895].0xbc6978f00
2025-06-25 11:48:31.204281+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[99447].0xbc6979040
2025-06-25 11:48:31.205099+0900 0x2a72ff   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:BackupDispatching] Backup failed: BACKUP_FAILED_DISK_IMAGE_NOT_CREATED (20)
2025-06-25 11:48:31.205121+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6978f00] invalidated because the client process (pid 895) either cancelled the connection or exited
2025-06-25 11:48:31.205156+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] invalidated because the client process (pid 99447) either cancelled the connection or exited
2025-06-25 11:48:31.315198+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[895].0xbc6979040
2025-06-25 11:48:31.315490+0900 0x2a72ff   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] invalidated because the client process (pid 895) either cancelled the connection or exited
2025-06-25 11:48:31.334305+0900 0x2a7148   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[99447].0xbc6979040
2025-06-25 11:48:31.334676+0900 0x2a7148   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979040] invalidated because the client process (pid 99447) either cancelled the connection or exited

この出力から,2つの問題が発見できました.

問題1. samba共有ボリュームの空き容量の誤認

2025-06-25 11:48:29.092553+0900 0x2a6dc7   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:Mounting] Mounted 'smb://tmuser@LINUXHOST._smb._tcp.local./backup-tm-main' at '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main' (222.94 GB of 2.2 TB available)

と出力されているのを見て,アレ?と思いました. linux上では空き容量がないはずなのに,Time Machineのプロセスからはなぜか223GB近く空き容量があると誤認されていました.

実際にそれぞれの環境でコマンドを実行してみると,空き容量が異なって出力されました.

linux
$ df -k /media/backup/tm-main
Filesystem                    1K-blocks       Used Available Use% Mounted on
/dev/mapper/vgbackup-tm_main 1921345752 1921329364         4 100% /media/backup/tm-main
macOS
$ df -k /Volumes/backup-tm-main
Filesystem                                        1024-blocks       Used Available Capacity    iused     ifree %iused  Mounted on
//tmuser@LINUXHOST._smb._tcp.local/backup-tm-main  2147483648 1929773056 217710592    90% 1929773054 217710592   90%   /Volumes/backup-tm-main

問題2. plistの破損

2025-06-25 11:48:29.573346+0900 0x2a6dc7   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Failed to deserialize dictionary with name 'com.apple.TimeMachine.MachineID.plist' from disk image 'file:///Volumes/.timemachine/LINUXHOST._smb._tcp.local./F3F7F7ED-467F-449B-A81D-8DFB1FE84560/backup-tm-main/MACHOST.sparsebundle/', error: Error Domain=NSCocoaErrorDomain Code=3840 "Cannot parse a NULL or zero-length data" UserInfo={NSDebugDescription=Cannot parse a NULL or zero-length data}

と出力されているのを見て,plistが破損していることがわかりました. linux上でファイルサイズを見ると,plistが0バイトでした.

linux
$ wc /media/backup/tm-main/MACHOST.sparsebundle/com.apple.TimeMachine.MachineID.*
 16  25 510 /media/backup/tm-main/MACHOST.sparsebundle/com.apple.TimeMachine.MachineID.bckup
  0   0   0 /media/backup/tm-main/MACHOST.sparsebundle/com.apple.TimeMachine.MachineID.plist
 16  25 510 total

問題の解決

問題1. samba共有ボリュームの空き容量の誤認

sambaが正しくボリュームの情報をクライアントに伝えられない場合は,dfree commandという仕組みで解決できそうだったので,それを採用しました. これは,ボリュームの容量情報を提供するコマンドをsambaが呼ぶことで,期待する容量計算を行う仕組みのようです. /usr/bin/dfreeというコマンドを作成し,これをsambaから呼ぶようにしました.

on
$ cat /usr/bin/dfree
#!/bin/bash
echo "$(df -Pk $1 | tail -1 | awk '{print $2, $4}')"

$ ls -l /usr/bin/dfree
-rwxr-xr-x 1 root root 66 Jun 25 12:27 /usr/bin/dfree*

$ grep dfree -B8 /etc/samba/smb.conf
[backup-tm-main]
   comment = TimeMachine main
   path = /media/backup/tm-main
   writable = Yes
   browsable = Yes
   fruit:time machine = Yes
   fruit:time machine max size = 2T
   allocation roundup size = 0
   dfree command = /usr/bin/dfree

$ sudo systemctl restart smbd

これを行うことで,macOSから見たボリュームサイズがほぼ正しくなりました.(Availableがlinux上で見たもの(4)と若干異なるのは気になりますが.)

macOS(dfree設定後)
$ df -k /Volumes/backup-tm-main
Filesystem                                        1024-blocks       Used Available Capacity    iused ifree %iused  Mounted on
//tmuser@LINUXHOST._smb._tcp.local/backup-tm-main  1921345752 1921344728      1024   100% 1921344726  1024  100%   /Volumes/backup-tm-main

問題2. plistの破損

.bckupのファイルのほうにはちゃんとしたXMLが入っていたので,これを.plistに上書きしました.

linux
$ cp /media/backup/tm-main/MACHOST.sparsebundle/com.apple.TimeMachine.MachineID.{bckup,plist}

バックアップの再実行

これらの問題解決を行った上でTime Machineバックアップを再実行した結果・・・同じ症状が再発しました・・・. (ただし,すぐにバックアップが失敗せず,1時間くらいPreparing to backup...というプログレスバーが動き続けた後に失敗したので,なにか状況が変わった感じはありました.)

この間,次のようなログが断続的に出力されていました.

2025-06-26 00:25:48.654555+0900 0x37d738   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979180] activating connection: mach=false listener=false peer=true name=com.apple.backupd.session.xpc.peer[895].0xbc6979180
2025-06-26 00:25:48.655013+0900 0x37d376   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979180] invalidated because the client process (pid 895) either cancelled the connection or exited
2025-06-26 00:25:48.687286+0900 0x37d376   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979180] activating connection: mach=false listener=false peer=true name=com.apple.backupd.sandbox.xpc.peer[931].0xbc6979180
2025-06-26 00:25:48.687836+0900 0x37d376   Default     0x0                  279    0    backupd: (libxpc.dylib) [com.apple.xpc:connection] [0xbc6979180] invalidated because the client process (pid 931) either cancelled the connection or exited
2025-06-26 00:25:48.687882+0900 0x37d376   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] com.apple.backupd.sandbox.xpc: connection invalid

(中略)

2025-06-26 01:56:07.054265+0900 0x37a574   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:General] Mountpoint '/Volumes/.timemachine/LINUXHOST._smb._tcp.local./C59C3B6B-AA4B-4A5B-A327-3FBA761BB8F3/backup-tm-main' is still valid
2025-06-26 01:56:07.098470+0900 0x37a574   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] fsck failed with termination status: 8, output:
** Checking the container superblock.
   Checking the checkpoint with transaction ID 1171275.
** Checking the space manager.
** Checking the space manager free queue trees.
** Checking the object map.
** Checking volume /dev/rdisk55s1.
** Checking the APFS volume superblock.
   The volume Backups of MACHOST was formatted by newfs_apfs (2142.140.9) and last modified by apfs_kext (2317.81.2).
** Checking the object map.
   Object map is invalid.
** The volume /dev/rdisk55s1 with UUID 2DA25485-5C76-49CA-AB3E-F46CF234D0D6 was found to be corrupt and cannot be repaired.
** Verifying allocated space.
** The volume /dev/rdisk55s1 with UUID 2DA25485-5C76-49CA-AB3E-F46CF234D0D6 could not be verified completely.
2025-06-26 01:56:07.121490+0900 0x37a574   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Failed to deserialize dictionary with name 'com.apple.TimeMachine.MachineID.plist' from disk image 'file:///Volumes/.timemachine/LINUXHOST._smb._tcp.local./C59C3B6B-AA4B-4A5B-A327-3FBA761BB8F3/backup-tm-main/MACHOST.sparsebundle/', error: Error Domain=NSCocoaErrorDomain Code=3840 "Cannot parse a NULL or zero-length data" UserInfo={NSDebugDescription=Cannot parse a NULL or zero-length data}
2025-06-26 01:56:07.121533+0900 0x37a574   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Health check state changed to: 2
2025-06-26 01:56:07.121620+0900 0x37a574   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Failed to serialize dictionary with name 'com.apple.TimeMachine.MachineID.plist' for disk image 'file:///Volumes/.timemachine/LINUXHOST._smb._tcp.local./C59C3B6B-AA4B-4A5B-A327-3FBA761BB8F3/backup-tm-main/MACHOST.sparsebundle/', error: Error Domain=NSCocoaErrorDomain Code=3851 "Property list invalid for format: 100 (property lists cannot contain NULL)" UserInfo={NSDebugDescription=Property list invalid for format: 100 (property lists cannot contain NULL)}
2025-06-26 01:56:07.126187+0900 0x37a574   Info        0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:DiskImages] Recorded offline verification result: { ID:2C09220D-AD5B-4D70-83CE-CF12A670A64F | state:2 }
2025-06-26 01:56:07.983392+0900 0x37a574   Error       0x0                  279    0    backupd: (TimeMachine) [com.apple.TimeMachine:Mounting] Mounting 'disk55s1' dissented, status: 49218

さらに,失敗後,com.apple.TimeMachine.MachineID.plistのサイズがまた0に戻ってしまっていました.

過去バックアップの削除ができない

tmutil deleteを使って古いバックアップを削除できれば,空き容量が確保できて復旧できるかなと思いましたが,バックアップのリストも取得できない状況でした.

macOS
$ sudo tmutil listbackups
No machine directory found for host.

今回の対応

おそらく問題1のボリューム容量の誤認があって,正常時には食いつぶさない容量まで食ってしまったことで復旧できなくなったのはないかと推測しました. おそらく問題2もそれに関連して発生したのではないでしょうか.

今回はここから復旧させるのは難しいと考えたため,以前と同様にMACHOST.sparsebundle/を削除し,1からバックアップを取り直す対応をしました.

ただし,1歩踏み込んで容量誤認問題は解決できたので,これで再発しなくなることを願っています.

その他のTips

Time Machineバックアップの手動実行

sudo tmutil destinationinfoで取得したバックアップディスクのIDを使って,sudo tmutil startbackup -d <DISK_ID>とすることで即時バックアップ処理を開始できます. なにか設定や環境を変えて再実行を試すときに,次の自動バックアップを待たなくてよいので便利です.


ottijp
都内でアプリケーションエンジニアをしています
© 2025, ottijp