APFSで遊ぶ

目次

  1. APFSコンテナと仮想ボリューム
  2. APFSにフォーマットする
  3. コンテナを増やす/減らす
    1. コンテナを増やす
    2. コンテナを減らす
  4. 仮想ボリュームを増やす/減らす
    1. 仮想ボリュームを増やす
    2. 仮想ボリュームを減らす
  5. APFSからHFS+へ戻す
    1. Macintosh HDをフォーマットする

ここではDisk Utility(ディスクユーティリティ).appを使ってUSBメモリ(ここでは一般化して“ディスク”と呼ぶ)をApple File System(APFS)へ変換する方法について記す. また,APFSコンテナや仮想ボリュームを追加/削除してその挙動をみることで,APFSの理解に一歩近づいてみようとする試みでもある. 習うより慣れよ,な記録である.
ひとことメモ: APFSはSSDでのパフォーマンスや安全性などを優先した結果,データが断片化しやすい設計になっていると言える. そのためHDDのように機械的なシークで時間を消費してしまうようなディスクでは,たとえ僅かなシーク時間でも,チリも積もって山となり,結果としてパフォーマンスがかなり悪くなる(はず). HDDもAPFSにフォーマットできるが,特にメリットは無いのでおすすめしない. APFSはSSDに特化したフォーマットと言える.

APFSコンテナと仮想ボリューム

APFSの紹介というと,iノードが64bit対応しただの,スナップショットが云々だの,ファイルの複製が高速かつ効率的だのという説明がよくされる. 個人的にもすばらしい点だと思うが,ここではコンテナと仮想ボリュームに焦点を絞ってお話を展開したいと思う. APFSではコンテナと呼ばれる,いわばパーティションのような仕組みがあり,その中に仮想的なボリュームをいくつもつくることができる. ちなみにここで言うボリュームとはフォーマットされたディスク領域のことを指し,ボリュームはFinderに表示される. それより上位のコンテナや物理ディスクはDisk Utilityなどでのみ確認できる.
論理ボリューム(Logical Volume)がFinderから見えるボリュームになる
仮想ボリュームそれぞれは物理ディスクの持つ容量を持つことが出来る. なんだかややこしい書き方になってしまったので例え話をしよう. 例えば,APFSにフォーマットされた16GBのUSBメモリ(ディスク=Physical Disk)があるとする. そのコンテナ(APFS Container)に3つの仮想ボリューム(Logical Volumes)を追加すると,まるでFinderからは容量16GBのUSBメモリが3つマウントされたように見えるのだ. APFSの魔法である.
物理的にはひとつのUSBメモリなのだが,仮想ボリュームによりFinderからは異なるディスクのように“見える”
もちろん16GBの物理ディスクを仮想的に3つに分けただけなので,容量が3倍に増えたわけではなく,ただ単にディスクスペースを共有しているだけなのだが,パーティションよりもはるかに簡単にボリュームを増やしたり減らしたり出来るのでその点はメリットである.
ひとつのコンテナ内に3つの仮想ボリュームをつくった例
仮想ボリュームを内包するコンテナ自体も増やすことが出来る. コンテナはAPFSで言うパーティションである. 実際,APFSにフォーマットされたディスクのパーティションを増やすとパーティションではなくコンテナがひとつ増える. ざっくりと言ってしまえばAPFSではパーティションのことをコンテナと呼ぶのだ(もちろん細かな違いはあるのだろうが使う上ではこれくらいざっくりと言ってしまったほうが分かりやすいし,さほど困ることは無いと思う).
新しくコンテナを追加してみた様子
各々のコンテナ内に仮想ボリュームを任意の個数つくることができる
各コンテナの中に仮想ボリュームをつくれるのでひとつの物理ディスクに仮想的なボリュームをいくつも簡単につくれる仕組みになっている. この点もHFS+と比べかなりの進歩である.

APFSにフォーマットする

HFS+ (Journaled),いわゆるJHFS+にフォーマットされたディスクのみAPFSへとフォーマットできる. なので,まずはJHFS+へとフォーマットしよう. APFSにフォーマットしたいディスクをマウントしたらDisk Utility.appを開こう.
サイドバーが上画像のような表示になっていない場合はViewShow All Devicesを選択し,すべてのデバイスを表示するようにしよう.
サイドバーより物理ディスクを選択し,Eraseをクリック.
Name:は適当に. Format:はMac OS Extended (Journaled)を,Scheme:はGUID Partition Mapを選択しEraseをクリック.
少し待てばフォーマットは完了する.
続いてサイドバーのディスクを右クリックし,Convert to APFS...をクリック.
APFSへフォーマットして良いか,確認ダイアログが表示されるのでConvertをクリック.
以上でAPFSへフォーマットは完了!
もし上画像のサイドバーのような階層になっていなければ,一旦USBメモリなりディスクを取り出し,再度マウントすることで正しい表示を得られる.

コンテナを増やす/減らす

コンテナを増やす

APFSへフォーマットされたディスクをマウントし,Disk Utility.appを開く. サイドバーから物理ディスクを選択しPartitionボタンをクリックしよう.
仮想ボリュームを増やすほうがおすすめだよ,という旨のダイアログが表示されるが,今回は仮想ボリュームではなくAPFSコンテナを追加したいのでPartitionをクリックしよう.
パーティションダイアログが表示されるので+プラスボタンをクリックしてパーティションを追加する.
Partition InformationのName:,Format:,Size:を任意に入力する. 今回Name:はPartition1とした. Format:は次のものから選択できる.
  • APFS
  • APFS (Encrypted)
  • APFS (Case-sensitive)
  • APFS (Case-sensitive, Encrypted)
違いは暗号化するか否か,大文字小文字を区別するか否か,といったもの. 今回はデフォルトのままAPFSにした. Size:はある程度任意に選択できる. 図のハンドルをドラッグして変更するか,Size:欄に直接入力することでパーティションサイズを設定できる. 今回はいい加減に3GBとした. あとはApplyボタンをクリックしパーティション設定を適用しよう.
パーティションが作成されます,という旨の確認ダイアログが表示されるのでPartitionをクリック.
少し待つと新たなコンテナが作成される.
新しく作成されたコンテナの中には,パーティションを作成する際に入力したName:の名で仮想ボリュームがひとつ作成されている. 今回の場合,FinderにはUntitledPartition1という名のボリュームが表示された.

コンテナを減らす

Disk Utilityのサイドバーから物理ディスクを選択し,Partitionボタンをクリックする.
パーティションダイアログが表示されるので,図から削除したいパーティション=コンテナをクリックして選択する(選択されたパーティションは青色になる). 選択した後,図の下にある-マイナスボタンをクリックしてパーティションを削除する.
Applyをクリックしてパーティションの変更を適用する.
削除するパーティション(コンテナ)内にあるデータは消えてしまい,この操作は取り戻せないのでご注意を,という旨のメッセージがあらわれる. Partitionをクリックして該当コンテナを削除しよう.
以上で,コンテナ(パーティション)の削除は完了だ!

仮想ボリュームを増やす/減らす

仮想ボリュームを増やす

APFSにフォーマットされたディスクをマウントしDisk Utility.appを開く. サイドバーよりの該当ディスク下の仮想ボリューム(もしくはAPFSコンテナ)を右クリックしAdd APFS Volume...を選択する.
ダイアログが表示されるのでName:に任意の名前を,Format:より適当なフォーマットを選択してAddをクリックしよう. 今回Name:はデフォルトのままUntitled 2,Format:はAPFSにした. Format:は次のものから選択できる.
  • APFS
  • APFS (Encrypted)
  • APFS (Case-sensitive)
  • APFS (Case-sensitive, Encrypted)
違いは暗号化するか否か,大文字小文字を区別するか否か,といったもの. 今回はデフォルトのままAPFSにした.
少し待てば仮想ボリュームが追加される.
調子にのって仮想ボリュームを3つにしたところが下.
FinderにはUntitled,Untitled 2,Untitled 3という3つのディスクがマウントされているように見える.
試しにそれぞれの仮想ボリュームに動画ファイルをひとつづつ入れ,どのようになるのか調べてみた. Disk Utilityで見ると次のようになっていた.
仮想ボリュームはそれぞれ物理ディスクの容量(16GB)を持っているように見えるが,実際はディスクスペースを共有していることがよく分かる
それぞれのディスクの中がどうなっているか見てみるとこうなっていた.
例によって画像をクリックで拡大できますよ!
ディスクスペースを共有しているので,そのボリュームで使用している分は水色で表示され,他の仮想ボリュームで利用されている分は灰色で表示されている.

仮想ボリュームを減らす

Disk Utilityサイドバーから削除したい仮想ボリュームを右クリックし,Delete APFS Volume...をクリック.
その仮想ボリューム内のデータも消えてしまうが,本当に削除して良いか,確認のダイアログが表示されるのでDeleteをクリックし,仮想ボリュームを削除しよう.
少し待てば該当仮想ボリュームは削除される.

APFSからHFS+へ戻す

APFSにフォーマットされたディスクをマウントしたらDisk Utility.appを開く. APFSコンテナが複数ある場合はひとつになるまで削除する(コンテナを増やす/減らす参照). コンテナ内の仮想ボリュームもすべて削除する. 文字通りすべて,最後のひとつまで(仮想ボリュームを増やす/減らす参照). サイドバーより最後の仮想ボリュームを右クリックし,Delete APFS Volume...をクリックする.
データもろとも削除して良いか訊かれるが,HFS+へ戻したいのでDeleteをクリック.
少し待てば,仮想ボリュームが削除される.
物理ディスク直下がひとつのAPFSコンテナのみになった状態が下の図. この状態にしないとHFS+へフォーマットしようとした時にエラーが起きてフォーマットできないので注意. さて,サイドバーから物理ディスクを選択し,Eraseボタンをクリック.
Name:は適当に. ここではデフォルトのままUntitledとした. Format:はHFS+へ戻したいのでMac OS Extended (Journaled)を選択. もちろんここでExFATやMS-DOS (FAT)を選択してもOK(その場合Scheme:をMaster Boot Recordにすると使い勝手の良いディスクになる). HFS+にフォーマットする場合,Scheme:はGUID Partition Mapに. Eraseをクリックしてフォーマットを始めよう.
しばらく待てばHFS+へフォーマットされる.
Disk Utilityで確認すると,ちゃんとJHFS+(HFS+ Journaled)になっていることが確認できる.

Macintosh HDをフォーマットする

もしもMacintosh HD(Mac内蔵ディスク)をAPFSにフォーマットしたい,あるいはAPFSからHFS+へ戻したいのならば,Macを起動させた直後にoption+command+Rを同時押しし続け(詳細については公式サイトを),macOSユーティリティを立ち上げましょう. ここからディスクユーティリティ(Disk Utility)を立ち上げれば,本記録で紹介した手順でフォーマットを行えます. OS自体が起動してしまうとMacintosh HDはアンマウントできなくなるので,このmacOS復元(macOSユーティリティ)からフォーマットを行うようにしましょう.
7578029044905002553 https://www.storange.jp/2018/03/apfs.html https://www.storange.jp/2018/03/apfs.html APFSで遊ぶ 2018-03-24T11:43:00+09:00 https://www.storange.jp/2018/03/apfs.html Hideyuki Tabata 200 200 72 72