以前作成した「MACOSでNTFSドライブを読み書き可能で再マウントする PERLスクリプト」の改修版です。
もくじ
配布物
perlスクリプト(ダウンロード)
usage: remount.pl
※ 内部で sudoを使っているので、実行時にパスワード入力が必要になります。
特徴
- 非常駐
- セキュリティを落とすような設定変更を行わない
- たまにしか使わない人向け
– 無料で安全にやりたいので、よく使われている一般的なソフトでなんとかする (OS附属のPerl, macFUSE, Homebrew を利用)
– ただし毎回コマンドラインから起動する必要がある
以下は前提や、動作環境など。
前提
- macFUSEが pkgでインストールされているか、”brew install –cask macfuse” されている。
- 以下が実施されている。
brew tap gromgit/homebrew-fuse
brew install ntfs-3g-mac - 私の環境で実験しただけなので無保証です。
動作確認環境
- macFUSE 4.2.3
- Homebrew 3.3.8
- ntfs-3g-mac 2021.8.22
- macOS Monterey (ver. 12.1), perl v5.30.3
- macOS BigSur (ver.11.6.2), perl v5.30.3
- macOS Catalina (ver.10.15.7), perl v5.18.4
※ macOS Catalinaより前のバージョンでも、sw_vers コマンドの結果が 10以上なら mountまで走るようにしていますが、動いてくれるかはわかりません。
ざれ言
ずいぶん前に作った、余計な常駐物を導入せず、かつ無料で割りとらくちんに使えることを目指した NTFSの再マウントスクリプトですが、なぜかうまく動かなくなってから、結構な期間に渡って放置してました。
Finderでは正しく表示されないものの、コマンドラインからは使えるし、有料のアプリに手を出すのもどうかなと思いながら。
昨日 brew upgrade してる時に気付いたのですが、どうやら ntfs-3gが使えなくなっていたようです。かなり前からだったようですが、全く気付きませんでした。
それでは今はどうなっているのだろうと、macFUSEのサイトとかを調べに行きました。
osxfuse の NTFS 3Gによると、以下をやれということでした。
brew tap gromgit/homebrew-fuse
brew install ntfs-3g-mac
こいつがうまく導入できたからと言って、そうは問屋が卸してくれません。macOS Montereyで mountコマンドで確認すると、こんな感じに表示されました。
mount 実施結果
$mount
/dev/disk1s5s1 on / (apfs, sealed, local, read-only, journaled)
:
ntfs://disk■s■/XXXXXX on /Volumes/XXXXXX (lifs, local, read-only, noowners, noatime)
今までに無い表示です。何だよ lifsって。でも ntfsなのかよ。みたいな。以前苦労した nodevも nousuidもありません。
だからと言って、ntfs-3g-mac に、素直に表示された文字列を与えても動作してくれません。
色々試したところ、以下なら動きます。
手マウント
$ sudo mount -t ntfs-3g -o umask=022 "/dev/disk■s■" "/Volumes/XXXXXX"
というわけで、以前作ったスクリプトを書き直したら Finderでも動作するようになりましたとさ。
念のため BigSurでも ntfs-3g-macを入れて確認しておきました。(こちらの mountコマンド実施結果は従来通りでした)
何となく使って問題が無さそうなので公開としました。