マイコミジャーナル

知りたい!を刺激する総合専門サイト


  1. パソコン

  2. アップル
  3. コラム
  4. OS X ハッキング!

【コラム】

OS X ハッキング!

90 "HFSX"なディスクイメージを作成する

2004/05/10

海上忍

大枚をはたいて購入したCPUカード「PowerLogix PowerForce G4 1.2GHz」は頗る快調、ファンレスのまま一度のカーネルパニックもなく活躍している。とはいえ、室温が上がる夏に備えなければならぬのがCubeユーザの宿命。ロジックボードまで埃まみれになる内蔵ファンには正直ウンザリなので、早めに代替策を考えなければ……。

さて、今回はディスク管理用コマンド「diskutil」について。1年ほど前にも当コラムで取りあげたことがあるが、その後機能がいくつか追加されたため、ここに再登場させる次第だ。

ディクユーティリティの内側

Pantherには、「ディスクユーティリティ」というGUIベースのディスク管理ツールが付属している。ハードディスクや各種光学ディスクなどの初期化やパーティション設定、マウント/アンマウントの処理など、物理ディスクの管理が主な機能だ。Jaguar(サーバ版を除く)のときには有効化できなかったジャーナリング機能にも対応したほか、それまで「Disk Copy」として独立していたディスクイメージファイル管理ツールも統合され、物理/論理を問わずディスク管理はこれ1つでOKとなった。

しかし、ディスクユーティリティ自体は"張りぼて"であり、実際の処理(プロセス)はコマンドによって処理されている。/sbinディレクトリに置かれた「mount_***」や「newfs_***」(***部分にはファイルシステム名などが入る)など、そのコマンドは多数あるが、決して使いやすいとはいえない。

diskutilとhdiutilはそれらディスク管理用コマンドのなかでも比較的扱いやすく、しかもディスクユーティリティでは無効化されているPantherの隠し機能を利用できる。以下に、その利用例を示してみよう。

case-sensitiveなディスクイメージを作成する

HFS+では「Abc」と「abc」が同一のファイルであるとみなされる(case-insensitive)ため、同じフォルダ上に大文字/小文字が異なるだけのファイルは保存できないが、明確に区別する(case-sensitive)ファイルシステムならばそれが可能となる。もう1つのファイルシステムである「UFS」はcase-sensitiveだが、Mac OS X上ではファイルアクセス速度がHFS+に大きく見劣りするほか、Mac OS独特のファイル形式である複合フォークの扱いが完全ではないため、case-sensitiveなファイルシステムを必要とするユーザもHFS+を選択してきたことが実情だ。

Pantherでは、ついにHFS+でもcase-sensitiveをサポートするようになったが、ディスクユーティリティにそのような選択肢は存在しない(サーバ版を除く)。この仕様は多くのOS Xユーザにとって問題とはならないうえ、いったん初期化しなければならないなど導入時の障壁もあるため、敢えて外しているものと思われる。以下のようにdiskutilコマンドを実行すればcase-sensitiveなHFS+ボリューム(HFSX)を作成できるが、当然ながらすべてのデータは消去されるので注意してほしい。

$ sudo diskutil eraseVolume "Case-sensitive HFS+" VolName /Volumes/VolName

物理ディスク全体をcase-sensitiveにすることに抵抗を感じる場合には、適当なサイズのディスクイメージを作成し、それをHFSXでフォーマットすればいいだろう。たとえば、サイズ20MBの「sensitive」というボリューム名のHFSXディスクイメージを作成するには、以下のとおりコマンドを実行すればOK。これで、カレントディレクトリにHFSXフォーマットのディスクイメージ「Image.dmg」が作成されたはずだ。

$ hdiutil create Image -megabytes 20 -fs HFSX -volname "sensitive"

使い方は通常のディスクイメージと変わらず、Finderでアイコンをダブルクリックすればマウント処理は完了だ。Terminalから実行する場合には、openコマンドを使えばいいだろう。なお、Finderの情報ウインドウでは通常のHFS+と識別できないため、マウント後にはdiskutikコマンドでボリュームの情報を調べてほしい。File System欄に「Case-sensitive HFS+」、Partition Type欄には「Apple_HFSX」と表示されていればOKだ。

$ diskutil info /Volumes/sensitive

画像で見るニュース(パソコン)

スペシャル

  • Windows 7 大百科
  • パソコン/ビジネスPC メールマガジン創刊のお知らせ

特別企画


注目サイト