今回は「Disk Utility」について。El Capitanでバージョン15に更新、UIを一新したが……機能向上されたとは言い難い部分もある。そこで、「ポストDisk Utility」として使える機能はなにか、代替策はなにかを考えてみたい。

今度のDisk Utilityにはあれもない、これもない

El Capitanでは、rootlessモードこと「System Integrity Protection(SIP)」の導入により、システム領域の大部分に書き込み/変更をくわえることができなくなった。その結果というか余波として、Disk Utilityからアクセス権の検証/修復機能が取り去られたことは第142回で解説したとおり。

バージョン15を数える「Disk Utility」。UIを刷新、機能も大幅に変更された

肝心のシステム領域が書き換え不能なのだから、アクセス権の検証/修復機能が消えたとしても大きな影響はないが、新しい仕様は個人的にダメージが大きい。それは、「ディスク全体を選択したとき未使用パーティションを図示しない」という仕様だ。

たとえば、8GBのSDカードをマウントしたとする。そのうち2GBがパーティション作成済で、なんらかのファイルシステムが存在するとしよう。従来のDisk Utilityでは、パーティションタブを選択すると約6GBが未使用の領域として表示されていたのだが、新しいDisk Utilityはそれを無視する。容量欄にはディスク全体の容量(8GB)が表示されるものの、図示されるのはパーティションとして存在する領域のみなのだ。この例でいえば、帯グラフを見るかぎりでは6GBはどこへ行った? ということになる。

ツールバーに「パーティション」ボタンはあるのだが、Intel Macで標準の「GUID」以外のパーティション方式ではディム表示されクリックできない。FDISKなど他方式のパーティションマップを持つディスクの場合、全消去しないかぎり新しいDisk Utilityではディスクの全領域を図示できなくなっている。

アクセス権の検証/修復機能が消え、未使用パーティションの表示方法が変更された

RAIDタブが消えたことも、ある意味ショックな出来事だ。前述したパーティション情報の表示と同様、diskutilコマンドを使えば作成/管理は可能だが、GUIに表示されなくなったことで利用のハードルは高くなった。利用者が少ないと判断したからだろうが、Disk Utilityから急ぎ取り去るほど危険があるものとは考えにくく、管理者が許可すればタブの操作が可能になるよう鍵をかければいい話に思えるのだが……。

YosemiteのDisk UtilityまではRAIDタブが存在したが、El Capitanからは消えてしまった

これからの時代、「diskutil」に親しまねば

これまでのOS Xの歴史を振り返ると、Appleがレガシーと判断した技術/機能が姿を消すことはあっても復活した例はない。前述したパーティションマップにしてもRAIDタブにしても、次期OS Xで以前の状態に戻ることとはおそらくないだろう。

では、それらの機能を利用したいときにはどうするかというと、やはり「diskutil」コマンドが頼りだ。GUID以外のパーティションマップ方式も表示されるし、RAID関連の内部コマンドもある。Disk UtilityというGUIツールでは処理できなくなったが、CUIを使えばいいだけのこと。慣れの問題と割り切り、対応していくしかない。

まずはパーティションの確認から。現在認識されている全ディスクのパーティションを確認する場合は、内部コマンド「list」を指定して実行すればOK。これで、ディスクのデバイス名(/dev/disk1ならば「disk1」、/dev/disk2ならば「disk2」)とパーティションの内訳がわかる。デバイス名にはボリューム名(Finderに表示されるもの)も使用できるが、途中にスペースを含むものは前後を「"」で括ることを忘れずに。

$ diskutil list

Finderに表示されるボリューム名(/Volumes/○○○○の「○○○○」)を指定してもOK

デバイス名がわかればシメたもの。今度は内部コマンド「info」に続けてデバイス名を指定すれば、そのディスクの詳細情報を表示できる。パーティション方式は、Content行に表示される「GUIDpartitionscheme」や「FDiskpartitionscheme」などの情報で確認すればいい。

$ diskutil info disk2

内部コマンド「info」を利用して、USBマスストレージの情報を表示したところ

なお、「verifyPermissions」と「repairPermissions」というアクセス権の検証/修復機能はdiskutilコマンドからも取り除かれてしまったが、RAID関連の内部コマンドはそのまま残されているようだ。手もとにRAID環境がないため試してはいないが、「appleRAID」や「checkRAID」は反応する。RAIDボリュームがある場合は試す価値があるだろう。