Mac OS(最近はmacOSというらしいが)のディスクユーティリティでパーティションを変更しようとするとき、よくわからない現象に直面することがたまによくあります。
下記の記事のように、一部のボリュームが消してくても消せない(マイナスボタンがない)状態になったりします。
mac GUIで結合できないパーティションを結合する – MY ROBOTICS
今回、外付けHDDのパーティションをいじろうとしたらそれに陥ったので、ターミナルからdiskutilコマンドで操作してみたのですが、それでも変なことがおきました。
具体的には、
$ diskutil list /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *4.0 TB disk2 1: EFI EFI 209.7 MB disk2s1 2: Apple_HFS TM_MBP2016_Portable 1.0 TB disk2s2 3: Apple_HFS Untitled 699.9 GB disk2s4 4: Apple_HFS Strage_main 2.3 TB disk2s5
というふうに、確認すると(diskutil listの出力結果はexternalのところだけ貼ってます)、disk2という外付けHDDの中にEFI(システム側で必要なやつ?)を入れて4つのパートがあって、足したら4TBになります。これのうち、disk2s5だけ残してdisk2s2とdisk2s4を削除し、結合して(EFIを含めて)4TB使えるようにしたかったわけです。要するにパーティションをやめて全部結合するということ。
そこで、
$ diskutil eraseVolume "Free Space" not disk2s2 $ diskutil eraseVolume "Free Space" not disk2s4
というふうにボリュームの消去をしてみたのですが、その結果どうなったかというと、
/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *4.0 TB disk2 1: EFI EFI 209.7 MB disk2s1 2: Apple_HFS Strage_main 2.3 TB disk2s2
こういうふうに、不要なボリュームは消えてくれました。ディスク全体としては4.0TBあって、残存するボリュームの合計が2.3TB+209.7MBであり、残りがFree Spaceになったのだと思います。
で、現在2.3TBになっているdisk2s2をリサイズしてマックスまで使えるようにしたかったのですが、ディスクユーティリティで見てみると、
こんなふうに、Free Spaceは表示されなくて、全体で2.3TBしかないよということになってしまいました。
そこで、ネットでみた説明を参考にdiskutil resizeVolumeというコマンドをつかって、リサイズ後のサイズを「100%」にしてやってみたのですが、
$ diskutil resizeVolume disk2s2 100% Resizing to full size (fit to fill) Started partitioning on disk2s2 Strage_main Error: -69743: The new size must be different than the existing size
こういう結果になりました。100%だともとのサイズと同一という意味であって、ディスクをマックスまで使うという意味じゃなかったんですねw
なので、具体的に数値で指定してやってみたのですが、たとえば3.9TBに設定したとしても、
$ diskutil resizeVolume /dev/disk2s2 3.9TB Resizing to 3900000000000 bytes Started partitioning on disk2s2 Strage_main Error: -69519: The target disk is too small for this operation, or a gap is required in your partition map which is missing or too small, which is often caused by an attempt to grow a partition beyond the beginning of another partition or beyond the end of partition map usable space
となり、容量が足りませんと出ます。3.9TBにEFIの分を足しても超過するわけではないはずなのですが・・・。
結局、もう調べるのがめんどくさくなったので、
Macのディスクユーティリティーコマンドで外部ストレージをフォーマット - ytooyamaのブログ
を参考に、論理ボリュームではなく物理ディスク全体を消去することにしました。データが全部きえますが、別のディスクにコピーしてあるので後で戻します。
$ diskutil eraseDisk JHFS+ Untitled /dev/disk2
そしたらまぁ、
こんなふうに、4TB使える状態にはなりました(画像はボリューム名をUntitledからStrage_mainに戻したあとのものです)。
Free Spaceと結合して論理ボリュームのサイズをでかくする方法は、後でわかったら追記します。