なげやりろぐ

フテイキコウシン

 MacFUSEとNTFS-3G

結構前のエントリーでNTFS-3Gを使ってNTFSフォーマットのドライブへ読み書きを可能にしたことを書いたけど、SubSystemの方には未導入だったので改めてインストールしようと思ったのですが・・・

NTFS-3G導入後の設定を楽にしてくれるMacFUSE Toolsを求めて配布元へいってみたらなんと公開が停止されていました。
なんでも仕事先からの圧力によるものらしいのですが・・・ 


しばらくみないうちにMacFUSEのコアがかなりアップデートされていますし、書き込みスピードなどの改善も見込めそうなのでメンドクサイんですがここは思い切ってコマンドラインから直接マウントさせてみることにしました。
後でそのあたりの設定をファイルにしておき、ログオン時に読み込ませるようにすれば次回からは自動でマウントされるようになりますしね。(方法は脚注のリンク先参照)

まず、必要なファイルを集めてきます。
  • MacFUSE Core 以前使用していたのは0.2.2でしたが現在のバージョンは0.4.0になっていました。
  • NTFS-3G 以前はリリース間もないバージョンを使っていましたが、こちらはかなりバージョンがあがっています。現時点で1.710になっていました。ページの中程にあるリンクからMac OS X Binary Packageを入手します。
インストール
  • 最初にMacFUSE-Core 0.4.0.dmgをマウント後、MacFUSE Core.pkgをインストールしたらいったんSystemを再起動しておきます。
  • 次にNTFS-3G.pkgをインストール。これで準備は完了。
設定
  • terminal.appを起動して、diskutil listコマンドでNTFSドライブのディスクにつけられているデバイス名(BSDネーム)を確認しておきます。
    ワタシの環境だとこんな感じ。アンダーライン部分が後で必要になるのでメモしておきます。

  • もし、この時点でFinderにNTFSドライブが見えている場合にはOSXの機能によってReadonlyのままマウントされていますのでいったんNTFSドライブをunmountする必要があります。
    ふつうにunmountコマンドを使ってもとりあえず大丈夫ですが、diskutilのコマンドを使用した方が確実らしいです。*1
diskutil unmount /Volumes/ボリューム名
  • NTFS-3Gによるドライブのマウントは、まずマウントポイントを作成することから始めます。
    ここでは例としてXP_sp2のdisk2s1をマウントしてみることにします。NTFSドライブのボリュームラベルはMacFUSE Tools使用時と違って自動的には取得してくれませんので、コマンド中で任意の文字を指定してやる必要があります。ここではボリュームラベルをXPとしました。
    マウントポイントはどこに作ってもいいので管理しやすいように自分のホームフォルダ以下に作るというのもアリですが、あとでログオン時に有効にさせるための場合を考慮してここでは通常通り/Volumesディレクトリ以下にNTFSというディレクトリを作ることにしました。ただしマウントポイントというのはヒトツのドライブに対して一対となるようにしなくてはいけないのでマウントするドライブが複数ある場合にはその都度新たなマウントポイントを用意する必要があります。
    terminalからmkdir /Volumes/NTFSと打ち込みディレクトリを作成。つづいてスーパーユーザー権限で以下のコマンドを実行します。
sudo /usr/local/bin/ntfs-3g /dev/disk2s1 /Volumes/NTFS -o volname="XP",ping_diskarb,umask=0

※ 赤字の部分はそれぞれの環境に合わせて適宜変更が必要。
※ オレンジ色の部分のオプションはFinderでの表示に必要だったり、書き込み権限のFixだったりしますので省略不可。また、まれに日本語表示に不具合があるケースもあるらしい*2ので、必要なら,locale=ja_JP.UTF-8を追加します。

  • 以上のコマンドを打ち込むとパスワードプロンプトが出ますので、認証をすませるとFinderにマウントされたXPドライブが現れて使用可能になります。

  • マウント前(左)とマウント後(右)のFinderでの表示。ネットワークドライブとしてマウントされます。


で、それぞれのファイルが更新されていたこともあり、気になるファイルの転送スピードを検証してみました。
以前は700MBくらいのムービーファイルをコピーするのに10分近くかかっていましたが、今回は12GB強のアーカイブファイルを作って試してみました。

  • なんという進歩! 12分となっていますが実際には6分強でコピーが完了しました。

しかし問題がないわけでもありません。特にNTFS5のドライブに対してはまだまだな部分が多く見受けられます。
たとえば未だに暗号化されているディレクトリやファイルは扱えないし、いくつかのサブフォルダを持つフォルダをディレクトリ構造を保ったままコピーしようとすると時々失敗します。サブフォルダが細分化されているときに顕著な感じで、アクセス権が適切ではないとかワケのワカランエラーを吐いてストップしちゃうんですが神様権限でやっているワケなのでそんなことはあり得ないし〜(笑)
とりあえずの回避策としては一手間増えますがそのフォルダをアーカイブしてやると問題なく成功します。
とまぁこんな感じでもう少しな部分もあったりしますがおおむね満足できるものになってきているんじゃないかなと。あとは設定の簡素化を実現するアプリの登場を待ちたいですね。
ていうかMacFUSE Toolsの開発再開と配布を切に望みます・・・


ログオン時にNTFS-3G経由でマウントさせる方法については脚注のリンク先を参照のこと。

追記

NTFS-3G関係の情報や使用時の問題の解決にはこちらのサポートフォーラムが大変参考になります。

さらに追記

某所からMacFUSE Toolsの最終配布版である0.3.0を入手することが出来ましたが、現在のMacFUSE Core 0.4.0とNTFS-3G 1.710との組み合わせでは残念ながら動作してくれませんでした。まぁMacFUSE-Core0.3.0にあわせてBuildしたモノでしょうから当然なんですけどね。
同時に手に入れることが出来たMacFUSE-Core0.3.0.dmgとNTFS-3G 1.0との組み合わせならバッチリなのですが・・・スピードがヤハリいまいち(それでも以前と比べるとかなり早い)でしたので、当分今の方法でいこうかと。

*1:参考1:http://www.yansite.net/ntfsrw.html

*2:参考2:http://blog.goo.ne.jp/pcqanda/e/12d0acf70d793dfc9f4979898dbdd7ca