HFSX(エイチエフエスエックス)

米Appleより開発、提供等が行われていた、32bitファイルシステム テクノロジ。macOS(Mac OS X)を対象プラットフォームとし、「Hierarchical File System eXtended」の略称で「Mac OS拡張フォーマット(大文字/小文字を区別)」とも称されている。

ファイル名における英大文字/小文字を別の文字として認識可能な「case-sensitive」に対応

米国時間1998年1月19日付にてリリースされた「Mac OS 8.1 Bride of Buster」から「macOS Sierra 10.12.6」において、システム標準のファイルシステムとして採用された「HFS Plus(Mac OS拡張フォーマット)」の拡張版として、「Mac OS X Server 10.3 Panther」以降においてサポートされていた。「HFS Plus」と同様に、米国時間2017年9月26日付にて「APFS(Apple File System)」がリリースされた事に伴い、一部のmacOSの土台を支え続けてきた 約14年に渡る役目を終えている。

HFS Plusと比較した場合の大きな相違として、ファイル名における英大文字/小文字の取り扱いが挙げられる。

HFS Plusが英大文字/小文字の違いを識別しつつ、ファイルシステムにおいては それらの違いを吸収し、同一の文字として扱う仕様(case-insensitive)となっているのに対して、HFSXでは ファイル名における英大文字/小文字を別の文字として認識させる仕様(case-sensitive)を採用している。

HFSXでのFinder表示
↑HFSX適用時(イメージファイル)におけるFinderウインドウの表示。英大文字/小文字を別の文字として認識するため、「MacOSX」と「macosx」という名称のフォルダを 同一の階層に配置する事ができる

適用方法と互換性

米国時間2003年10月24日付にてリリースされた「Mac OS X Server 10.3 Panther」、米国時間2005年4月29日付にてリリースされた「Mac OS X 10.4 Tiger」以降では、「Disk Utility(ディスクユーティリティ、/Applications/Utilities/Disk Utility.app)」のオプション(Mac OS Extended (Case-sensitive, Journaled)、Mac OS 拡張(大文字と小文字を区別/ジャーナリング))を通じたGUI環境による設定が可能となっている。

クライアント版の「Mac OS X 10.3 Panther」では、「Terminal(ターミナル、/Applications/Utilities/Terminal.app)」におけるコマンドラインユーティリティーを使用する事により、HFSXに対応したボリュームを作成する事が可能となっていた(この場合には、事前にボリュームの初期化が必要とされていた)。実際のコマンドは以下の通り。

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

※「VolName」には、任意のボリューム名が入る。

また、HFSXに対応したイメージファイルを作成(カレントディレクトリーに、5MB容量のイメージファイルを作成すると仮定)するためには、同様に「Terminal(ターミナル、/Applications/Utilities/Terminal.app)」にて、以下のコマンドを実行する。

hdiutil create Image -megabytes 5 -fs HFSX -volname "imagename"

※「imagename」には、任意のイメージ名が入る。

尚、HFSXは機能性の実現に際して、一部の互換性を破棄しており、Classic Mac OSからは HFSXでフォーマットされたボリュームを認識する事ができなくなっていた。また、一部のアプリケーション(Adobe CS(Adobe Creative Suite)等)や周辺機器のドライバ等との互換性にも問題が生じていた。

UFSとの比較について

Mac OS Xがサポートしていた もう一つのファイルシステム「UFS(UNIX File System)」においても、HFSXと同様に case-sensitiveによるファイル名の取り扱いが可能となっていたが、UFSをMac OS Xで使用するに際しては、以下のような制限事項が生じていた。

  • ファイルアクセスのパフォーマンスが、HFS Plusとの比較において大きく見劣りする
  • Air Macが機能しない
  • ボリューム名を変更する事ができない
  • ファイルタイプとクリエーターコードをサポートしていない
  • 動作が保障されていないアプリケーションが多い(インストールすら不可能な場合もある)

従って、UNIXベースのリソースを必要としない環境において、case-sensitiveの機能性を要するのであれば、HFSXの使用をもって実現するのが良いとされていた(最終更新日 2021年1月24日)。