macOS 10.13 High Sierraで導入されたAPFSフォーマットのディスクイメージにデータ消失の恐れがある不具合が発見され、CCCがこの機能を非サポートに。

スポンサーリンク

 macOS 10.13 High Sierraで導入されたAPFSフォーマットのディスクイメージにデータ消失の恐れがある不具合が発見されています。詳細は以下から。

Carbon Copy Clonerのアイコン。

 Macのシステムボリュームの完全なクローンを作成できるバックアップツール「Carbon Copy Cloner(以下、CCC)」を開発している米Bombich Softwareは現地時間2018年02月15日、AppleがmacOS 10.13 High Sierraで導入した新しいファイルシステムAPFSフォーマットのディスクイメージで操作によってはデータが消失してしまう不具合が発見されたとして、Appleが修正するまでこの機能を利用しないようユーザーに求めています。

February 15, 2018
This update implements a workaround for a serious flaw that we’ve discovered in macOS that can lead to data loss when using an APFS-formatted disk image. If you’re running macOS High Sierra, please apply this update and review any tasks that back up to a disk image on a network volume. Note: this flaw applies to APFS disk images only — ordinary APFS volumes (e.g. your SSD startup disk) are not affected.

macOS may lose data on APFS-formatted disk images – Bombich Software

 この不具合(rdar://37497030)はMacをHigh Sierraにアップグレードすると自動的に変換される「APFSボリューム」などAPFSディスクイメージ以外には影響しないため、影響範囲は狭いようですが、ディスクイメージ(.dmg/sparsebundle)ファイルは他のユーザーへのデータ配布などに利用されることが多いため、Bombich Softwareは同社が開発しているCCC v5.0.9アップデートでこの機能のサポートを一時的に非サポートとしたそうです。

APFS Disk imageが非サポートとなったCarbon Copy Cloner v5.0.9

CCC creates and uses disk images when you select “New disk image…” from the Destination selector. Starting in CCC 5.0.4 and up to CCC 5.0.8, CCC will automatically create an APFS-formatted disk image if the source is an APFS-formatted volume. Today we’re posting an update to CCC (5.0.9) that will revoke support for creating APFS-formatted disk images.

Carbon Copy Cloner 5 Release Notes – Bombich Software

スポンサーリンク

検証

 Bombich SoftwareでCCCを開発しているMikeさんは今週、ほぼ全てのスペースを利用していたAPFSフォーマットのディスクイメージ(.sparsebundle)に十分な空き容量が表示されていることを発見し、試しにビデオファイル(.mp4)をコピーしてみたところ、コピーが完了したのでそのままアンマウントしたところ、次にマウントするとこのビデオファイルが開けず、ファイルが破壊されていたそうです。

macOS 10.13 High SierraのAPFSフォーマットのディスクイメージのデータロス不具合

Earlier this week I noticed that an APFS-formatted sparsebundle disk image volume showed ample free space, despite that the underlying disk was completely full. Curious, I copied a video file to the disk image volume to see what would happen. The whole file copied without error! I opened the file, verified that the video played back start to finish, checksummed the file – as far as I could tell, the file was intact and whole on the disk image. When I unmounted and remounted the disk image, however, the video was corrupted.[…]I discovered two bugs in macOS’s “diskimages-helper” service that lead to this result.

macOS may lose data on APFS-formatted disk images – Bombich Software

 この不具合はmacOSのディスクユーティリティなどに利用されている“diskimages-helper”がエラーレポートを行わないことが原因のようで、以下の検証動画の様に3.0GBのAPFSフォーマットのディスクイメージ(Backup)を作成し、外部ディスクに保存。その後他のファイルをコピーし外部ディスクの空き容量を減らしても、APFSフォーマットのディスクイメージはその情報を更新せず十分な空き容量ががあるとして、その範囲内のファイル(video.mp4)を保存してしまうようで、

checksumを行うと同じ値を返すことから”diskimages-helper”がディスクの空き容量が変化した時にエラーレポートを行わずRAM上にファイルを一時的に保存し、ディスクイメージをアンマウントすると開放され、再マウントするとそのファイルが壊れているという結果になるようで、この問題には以下の2つのバグが関連しているとMikeさんはコメントしています。

  1. ディスクイメージには”.dmg”と”.sparsebundle”の形式があり前者は固定、後者は可変容量のディスクイメージの拡張子ですが、”.sparsebundle”の形式のディスクイメージをAPFSフォーマットにすると、物理ディスクの空き容量の更新を認識しない。
  2. 書き込み要求により”.sparsebundle”形式のディスクイメージの容量が変化した時、”diskimages-helper”がエラーレポートを返さず、結果voidが書き込まれてデータが消失する。

HFS+には問題なし

 Bombich Softwareは既にAppleにこの不具合を報告しているため、次期macOSのアップデートでは修正されると思われますが、HFS+フォーマットのディスクイメージではこの不具合は確認されなかった(正確にエラーレポートを表示する)そうなので、

ディスクユーティリティでMac OS拡張 (ジャーナリング)フォーマットのディスクイメージを作成

どうしてもディスクイメージを利用したい方はディスクイメージ作成時には下位のmacOSとも互換性のあるHFS+(Mac OS拡張 (ジャーナリング))を選択することをお勧めします。

コメント

  1. 匿名 より:

    ん・・・
    何か致命的に感じるけれど、ディスクイメージに限られた話なら、多少複雑なバックアップ運用をしている人にしか関係ないのかな?

    個人的にはAPFSの原理・原則みたいなのがもっと公開(というかポピュラーに説明)されないと、便利な機能も含めて積極的に使いにくいなと感じています。

  2. 匿名 より:

    ディスクイメージにパスワード付けて暗号化できるからそういう運用で使ってる場合は要注意かな?
    HFS+でそういうことをやってはいるがAPFSではやってないのでセーフだった。

  3. 匿名 より:

    手元に環境がないから確認できないが、APFSな物理ストレージをNASにTimeMachineでバックアップした場合、sparsebundleはAPFSイメージにならない?

  4. 匿名 より:

    あっ…

  5. 匿名 より:

    High Sierraって高度のレミングスかな。

  6. 匿名 より:

    実際に使ってたら頻繁にいろんな操作でくらいそうなチョンボばっかだよね。
    アイブが悪いとは言わないけどアイブ体制になってから
    使う時のこと考えてないバグとかインターフェースで満載になってきた感じ。
    iOSも含めて。