Snow LeopardではNTFSをサポート--その源流を訪ねる(2)
Snow Leopardに収録されているNTFSドライバ(/System/Library/Extensions/ntfs.kext)に、Linux-NTFSベースのソースコードが採用されていることは前回お伝えした通り。ということは、仮想ファイルシステムとの接続などカーネルに近い部分を除いた仕様と機能は、Linux-NTFSに準じるものと解釈でき、文献もLinux-NTFSのものが参考になると考えられる。
ありがたいことに、Linux-NTFSプロジェクトの文献には邦訳があるため、労せずその機能の詳細を知ることができる。
しかし、原文が記述された時期は書き込みがサポートされる以前らしく、書き込みがとても不安定な機能として紹介されている。一方、Snow Leopardに採用されたコードを調べてみると、いずれも2008年以降のもので、Linux-NTFSプロジェクトのトップページにある「We have recently released ntfsprogs 2.0.0 with full read/write support!」という文言とは馴染まない。
さらにLinuxカーネルのドキュメントに目を移すと、違ったものが見えてくる。Kernel.orgのサイトにあるこちらの情報をもとに、Snow Leopardのntfs.kextと共通していると考えられる特徴をまとめてみよう。
- すべてのバージョンのNTFS(1.2/3.0/3.1)を読み取りできる
- 書き込みもサポートされるが、機能は限定的(ただし安全)
- NTFS 3.xのスパースファイルはフルサポートされる
- 圧縮されたファイルには書き込めない
- 暗号化されたファイルは読み書きできない
ほかにも、旧バージョンに比べて20%高速化されているなどの興味深い記述もあるが、Linuxとの実装の違いがあるうえ、Snow Leopardに採用されたコードがどの時点でフォークしたのかが判明していないため、そのまま類推適用するのは乱暴だろう。次回は、マウントしたNTFSボリュームへの書き込みをテストする予定だ。
- ホワイトペーパー

