Mac OSX Mountain Lion のBOOTCAMP NTFSパーティションを書き込み可

Mac OSX Snow Leopard から OSX Mountain Lion にアップデーをしたところ、BOOTCAMP のNTFSパーティションMacから書き込み可能でマウントできなくなったのでそれをする方法を探していた所、完璧すぎる記事を見つけて、そこに何か加筆することも見当たらなかったのでかいつまんで翻訳した。

方法は2つあるみたい。

Paragon NTFS for Mac OSX 10 を使う

http://www.paragon-software.com/jp/home/ntfs-mac/
有料だがこいつを買えば誰でもマウントできる感じ(未確認)

macfuse + NTFS-3G でマウントする

無料でマウントするには macfuse + NTFS-3G という2つのアプリを使う。
http://code.google.com/p/macfuse/

macfuse

ところが、macfuse は2008年で更新が止まっているため、Mountain Lion では使えない(?未確認)
OSXFUSE というアプリを、macfuse 互換にチェックを入れてインストールする。
http://osxfuse.github.com/

NTFS-3G

NTFS-3GのMac用のバイナリで一番新しいのは
Tuxera NTFS for Mac(有償だが制限なし?)
http://macntfs-3g.blogspot.jp/
その他だと
http://sourceforge.net/projects/catacombae/files/NTFS-3G%20for%20Mac%20OS%20X/2010.10.2/
MacPorts でも有るらしいのだが、動かなかったそうです


ちなみにこの方法でマウントをすると以下のエラーが出る。
NTFS-3G could not mount /dev/ at /Volumes/BOOTCAMP because the following problem occurred:
Did not receive a signal within 15.000000 seconds Exiting...

無視すればそのまま書き込みで使うことができるのだが、毎回出るので、頻繁に使うとかなりうざい。
それを解決するプログラムが下記のgit から落とせるのでビルドすると幸せになれるかも(未確認 そのうちやる予定)。導入した。
https://gist.github.com/1100318

最近のXCodeだとパスとかが若干違うので修正

#!/bin/sh -x

# These variables are always passed to build.sh
DIST_DIR="$1"
TMP_DIR="$2"
ROOT_DIR="$3"

PROJNAME="fuse_wait"

DESTDIR="usr/local/bin"

CC=llvm-gcc

OSX_TARGET=10.8
SDK=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk
TARGET_FLAGS="-arch i386 ${OSX_TARGET:+-mmacosx-version-min=${OSX_TARGET}}"
COMPILE_FLAGS="${TARGET_FLAGS} ${SDK:+-isysroot ${SDK}} -Wl,-syslibroot,${SDK}} -g -Wall -fconstant-cfstrings -framework CoreFoundation"

${CC} ${COMPILE_FLAGS} -o "${TMP_DIR}/${PROJNAME}" "${DIST_DIR}/${PROJNAME}.c" && \
    sudo cp "${TMP_DIR}/${PROJNAME}" "${ROOT_DIR}/${DESTDIR}" && \
    sudo chmod 755 "${ROOT_DIR}/${DESTDIR}/${PROJNAME}" && \
    sudo chown root:wheel "${ROOT_DIR}/${DESTDIR}/${PROJNAME}"

exit $?

ビルドはこんな感じ

sudo sh build.sh . . /

元記事にはNTFSのパフォーマンス改善の記事もあるので、気になる人は読んで下さい。
(僕は書ければよかったので割愛しました)