Macの起動ディスクを強制的にAPFSに変換する方法

macOS High Sierra以降は新たなファイルシステム「APFS(Apple File System)」が標準となり、恐らくこの記事を読んでいる方のMacもほとんどがAPFSだと思われる。

ただ、もし起動ディスクがHFS+などの場合、基本的にmacOSのメジャーアップデート、あるいはクリーンインストールする以外の方法ではAPFSに変換できない。

ここではあまり需要はないかもしれないがHFS+の起動ディスクを強制的にAPFSに変換する方法を紹介する。

注意
この作業は手順やコマンドを誤ると最悪Macが起動しなくなる、ユーザーデータが失われるなどの重大な問題が発生する可能性があるため、実行する場合はあくまで自己責任でお願い致します。

起動ディスクを強制的にAPFSに変換する手順

リカバリーモードのディスクユーティリティでAPFSに変換する

まずはMacを起動・再起動時にCommand+Rキーを押し続けリカバリーモードを起動する。

上記画面になったら「ディスクユーティリティ」をクリック。

APFSに変換したい起動ディスクを右クリックしてコンテキストメニューを開き「APFSに変換」をクリック。

なお、この操作はリカバリーモードのディスクユーティリティでしか行えず、通常起動時のディスクユーティリティではエラーが出る。

「変換」をクリック。

無事に変換が完了したらディスクユーティリティを閉じる。

ブート領域を修復する

ここまでの手順で起動ディスクは無事にAPFSになったが起動ディスクをAPFSに変換するとブート領域(Prebootボリューム)が消去されるため、下記の手順で修復しよう。

ディスクユーティリティを閉じたらメニューバーから「ターミナル」を開き、下記コマンドを実行する。

diskutil apfs list

APFSのボリューム一覧が開くので下までスクロールしてみよう。

先ほどAPFSに変換した起動ディスクを見てみると「Preboot」というボリュームがないことがわかる。

そのためPrebootボリュームを再度追加するために下記コマンドを実行する。

コマンドの「disk番号」の部分は個人の環境によって変わるため、先ほどのリストから起動ディスクの名前を確認しておこう。

diskutil apfs addVolume disk番号 apfs Preboot -role B

続いて下記のコマンドを実行するがAPFSに変換したい起動ディスクのボリューム1のUUID(英数字の文字列。ユーザーの環境によって変わる)をコピーし、ボリューム1のUUIDと一致するように下記コマンドを実行する。

mkdir -p /Volumes/Preboot/UUID/System/Library/CoreServices

このUUIDを間違えると正常にコマンドの実行が行われないばかりか正常なボリュームにまで問題が及ぶ可能性があるので注意しよう。

続いて下記コマンドを実行する(もはやコマンドが長すぎて画像の意味がないが一応掲載しておく)。

cp -RP /Volumes/ボリュームの名前/System/Library/CoreServices /Volumes/Preboot/UUID/System/Library/CoreServices

続いて下記のコマンドを実行するが「disk番号s1」の部分は先ほどと同じく個人の環境によって異なるため、リストで表示された起動ディスクのdiskから始まる名前を覚えておこう。

diskutil apfs updatepreboot disk番号s1

続いて下記のコマンドを実行する。

bless --folder /Volumes/ボリュームの名前/System/Library/CoreServices --bootefi --verbose

以上で完了。

ここまでのコマンドが正常に実行されたなら正常にPrebootボリュームが追加されたはずだ。

あとはターミナルで「reboot」と入力して実行するかメニューバーから通常再起動しよう。

APFSになったか確認して完了

Macを通常再起動させたらディスクユーティリティを開いて起動ディスクがAPFSになっているか一応確認してみよう。

無事に「APFSボリューム」となっていれば成功だ。

なお、この手順を実行しても例えばmacOSのUSB起動ディスク(インストーラー)などは必要なBoot EFIがインストーラー内から読み出せないため、APFSに変換することはできるものの起動ディスクとして使えなくなるので注意だ。

理論的には別のmacOSがインストールされているボリュームからBoot EFIを引っ張ってくればUSB起動ディスクであってもAPFSでブート可能だと思うが、現在のところ成功していない。

まとめ

起動ディスクがHFS+になっているユーザーはあまりいないと思うが、コマンドを間違えた場合にユーザーデータが吹き飛ぶというリスクを覚悟の上でAPFSに変換したい人は試してみるといいだろう。