Mac Info

理解してる?Macのフォーマット「APFS」のメリット/デメリット

 Macの内蔵ストレージや外付けストレージをフォーマット(初期化)する際に、現在のMacでは従来のHFS+に加えて、「APFS(Apple File System)」を選択できます。さまざまなメリットがある一方で、その特性を理解していないと予想外のトラブルに見舞われることもあります。ここでは、APFSについての理解を今一度深めてみましょう。

内蔵SSDが主流となった現在でも、Macの起動ボリュームアイコンはHDDのままです。APFSという新しいフォーマットは、HDD時代の制限を取り除くために開発されました

APFSの登場経緯とメリット

 2017年3月にiOS向けに提供されたファイルシステム「APFS」は、同年9月にリリースされたmacOS High Sierra 10.13でMacにも導入されました。現在はMacやiPhone、iPadをはじめ、Apple WatchやApple TVなどすべてのAppleデバイスの標準フォーマットとして採用されています。

 APFSが登場した背景を理解するには、それ以前のフォーマットについても知っておく必要があります。Macでは、1998年以降「HFS」およびその後継の「HFS+(Mac OS拡張フォーマット)」が長らく用いられ、HFS+形式は現在も過去のモデルとの互換性を確保するために残されています。

 このHFS+は20年以上も前に策定されたフォーマットなのでHDDでの利用に最適化されており、今では多くのデメリットを抱えます。まず、32bitのファイルシステムのため、同時に取り扱えるファイル数や容量には制限があります。また、HDDの物理的なデータの読み書きを前提としているので、現代のSSDでは無駄な読み書きが発生して半導体の寿命を短くしてしまう問題もあります。

 これらの諸問題を解決するために登場したAPFSは、64bit対応、ファイルコピーの効率化・高速化、パーティションサイズを自由に変更できる、ネイティブで強力なディスク暗号化に対応するなど多くのメリットがあります。いずれも、フラッシュメモリやSSDといった半導体でのデータ管理に最適化されているのが最大の特徴です。

 また、APFS登場時点ではTime Machineで使う外付けHDDはHFS+しか利用できませんでしたが、macOS Big Sur 11以降ではAPFSでフォーマットされた外付けストレージに対応し、念願のバックアップの高速化も達成しました。

 最近のMacから使いはじめた人はその変化を意識することはないかもしれませんが、この数年でMacのパフォーマンスが飛躍的に向上した理由の1つにモダンなファイルシステムに基づくフォーマットの採用があることは知っておくとよいでしょう。

【表1】HFS+とAPFSの主な違い
HFS+APFS
特徴HDDに最適化SSDに最適化
ファイル管理32bit64bit
ファイルのコピーシングルスレッドマルチスレッド
コピーオンライト非対応対応
スナップショット非対応対応
ディスクの暗号化可能ネイティブ対応
パーティション空き容量固定可変
Time Machine対応macOS Big Sur以降で対応

 HFS+とAPFSの主な機能の違いを整理しました。基本的にAPFSはHFS+の上位互換のため、macOS Sierra 10.12以前を利用する場合を除いてHFS+を選ぶメリットはほぼありません

APFSではファイルコピーが一瞬で終わることに驚く人もいるでしょう。その秘密は「コピーオンライト」という仕組みです。簡単に言えば、コピー元とコピー先の内容が同じであれば共通の領域を参照するという技術で、操作の高速化とストレージ使用の節約を実現できます
macOS Big Sur 11以降の環境では、Time MachineバックアップのボリュームにAPFSを選ぶことができます。ファイルコピーの高速化のほか、ファイル破損の危険性も低くなるメリットがあります

わずかに存在するAPFSの弱点

 一方で、APFSにもいくつかのデメリットが存在します。たとえば、APFSを利用する最近のMacでは、HFS+でフォーマットされたボリュームも問題なく利用できます。しかし、その逆にmacOS Sierra 10.12以前が搭載された古いMacではAPFSでファーマットされたボリュームを利用できません。

 この問題は、Fusion Driveを搭載したMacがまだ残っていた頃にはAPFSに移行しない理由として挙げられることがありました。また、APFSのボリューム上では動作しない一部のアプリもありましたが、APFSが主流となった現在ではこれらの問題はほぼ解消しています。

 また、これはHFS+とAPFSで共通ですが、Windowsでの動作に対応していない点もデメリットに感じるかもしれません。なお、現在のWindowsで標準的な「NTFS」はMacからは読み出し専用として認識され、専用ソフトを追加することで書き込みにも対応できます。

ディスクユーティリティでAPFSに

 ユーザ視点で言えば、今使っているMacがAPFSで動いているかどうかを意識するシーンはほとんどありません。あるとすれば、Macを完全に初期化してクリーンインストールするときか、これまでHFS+で使っていた外付けストレージをAPFSに変更するときくらいです。

 このフォーマットの変換にはmacOS付属の「ディスクユーティリティ」を利用します。フォーマットといっても、すでにHFS+で利用している外付けストレージについてはファイルを残したまま簡単にAPFSに変換できます。

 もちろん消去されないとはいえ、念のために作業前にファイルのバックアップをおすすめします。また、いったんディスク全体のフォーマットをHFS+からAPFSに変換すると、HFS+にはそのままでは戻せない点は注意してください。

Macの内蔵ストレージや外付けストレージをAPFSに変更する際は、ディスクユーティリティというアプリを利用します。サイドバーからボリュームを選択して[消去]をクリックします

macOS Big Sur以降の環境でAPFSを利用するには

 前述のようにAPFSはUSBメモリやSSDなどに最適化されていますが、従来のHDDにも対応しています。ところが、いざ作業を始めたらAPFSのフォーマットが選択できないトラブルや変換に失敗するという事例が、特にmacOS Big Sur 11や最新のmacOS Monterey 12になってからよく聞きます。

 これは、最近のディスクユーティリティではサイドバーに「ボリュームのみ」を表示する設定がデフォルトになっていることが影響していると思われます。普段頻繁に使うソフトではないので、ベテランMacユーザもその点を見落としがちです。

 最初からそのような表示がなされているのには、それなりの理由があります。これは、これまでの「パーティション」や「ボリューム」といった記憶領域の区切り方とは別の「コンテナ」という仕組みがAPFSで新たに導入されたからです。

 1つのSSDなどを複数の領域に分割するという意味では、コンテナとパーティションはよく似ています。しかし、コンテナでは内部に複数のボリュームを作成できる点がパーティションと異なります。さらに、APFSでパーティションを作成した場合は各パーティション内に自動的にコンテナが作成されて、さらにその中にボリュームが作成されます。

 APFSでは、このように複雑な入れ子構造となってしまうため、ディスクユーティリティでは分かりやすさのためにボリュームのみを表示しているのです。しかし、現状はボリュームを選択して操作するとAPFSのフォーマットは選択肢に表示されず、変換してもエラーが出ることがあります。

 これを回避するには、サイドバーに「すべてのデバイス」を表示してからSSDなどの装置を選び、フォーマットを[GUIDパーティションマップ]に変換することでAPFSの選択肢がメニューに表示されるようになります。[MBR(マスター・ブート・レコード)]や[Appleパーティションマップ]では、APFSのフォーマットや変換に対応していません。およそAppleらしくないインターフェイスですが、当面はこの方法を覚えておきましょう。

FAT(MS-DOS)形式でフォーマットされた一般的なUSBメモリで「ディスクユーティリティ」の[消去]ボタンをクリックしました。[フォーマット]の選択肢にはAPFSは表示されていません
[Mac OS拡張(ジャーナリング)]でフォーマットすると、サイドバーのボリュームを副ボタンクリックした際に、[APFSに変換]のメニュー項目が出現します
しかし、この方法では「操作が失敗しました」のエラー表示が出てしまいます
ツールバーにあるサイドバーの[表示]ボタンで[ボリュームのみを表示]から[すべてのデバイスを表示]に切り替えます。すると、ボリュームの上位階層にUSBメモリなどの装置名が表示されます
サイドバーでUSBメモリを選び[消去]をクリックし、[フォーマット]の項目で[GUIDパーティションマップ]を選んでフォーマットします。USBメモリ内のデータは完全に消去されます
再度、USBメモリを選んで[消去]をクリックすると、今度は[フォーマット]の選択肢に[APFS]が表示されます。暗号化や大文字/小文字を区別のオプションは通常は選択しなくて構いません
今度はAPFSに無事変換できました。サイドバーの表示をボリュームのみに戻して、APFSになったUSBメモリを消去しようとすると、Mac OS拡張など以前のフォーマットが表示されなくなります(戻すにはデバイス自体の再フォーマットが必要)

APFSコンテナから分かるmacOSの仕組み

 このように少しややこしい「コンテナ」という仕組みがAPFSに導入された理由は、最初に述べた多くのメリットのほかに複数のボリュームサイズを自由に変更して空き容量を共有できるというものがあります。これは従来のパーティション分割ではできない特徴と言えるでしょう。

 この機能を最大限利用しているのが、実はmacOSそのものです。APFS導入以降のmacOSでは、インストール時に自動的にシステム部分のコンテナとユーザデータ部分のコンテナが作成されます。これにより、ユーザの誤操作やマルウェアによるシステムの保護を図れるメリットがあります。

 もう少し細かく見ていくと、この主要な2つのコンテナ以外にもリカバリーのための領域やプリブート(preboot)、スワップファイルを展開する仮想メモリ(VM)といったコンテナが作成されています。これらは、Appleメニューの[このMacについて]の[ストレージ]では[コンテナ内のほかのボリューム]としてまとめて表示されます。

 このように用途に応じて多くのコンテナで安全にシステムを管理しつつ、ストレージの容量を最大限活用できるのがAPFSのもっとも重要な役割と言えるでしょう。

APFSにフォーマットした容量32GBのUSBメモリのデバイスを選択すると、コンテナとボリュームで同じ容量(32GB)を使用していることが分かります、
別のSSDでコンテナを選択すると、複数のボリューム(ボリュームグループ)の合計の容量とコンテナサイズはほぼ一致していて、それぞれのボリュームの空き容量は共有されています
内蔵ボリュームを表示すると、macOSはシステムとデータのボリュームグループとなっていることが分かります。さらに、複数のボリュームグループを含んだマルチOS環境も構築しやすくなっています