パソコンよろずQ&A

よろずと言いつつ、すっかりBoot Camp Only Blogです。現在、更新・コメント返信は一時休止しております。

Mac OS XからWindowsのNTFSパーティションに書き込めるようにするには(3)

2007年02月13日 | Mac
より簡単に導入できる手順を「Mac OS XからWindowsのNTFSパーティションに書き込めるようにするには(改訂版)」として公開いたしました。こちらの一連の記事は、ソースコードからコンパイルしたい方のみお読みください。

前回まででインストール作業は完了していますので、いよいよntfs-3gを使って書き込み可能なNTFSパーティションをマウントする手順をご紹介します。まだこれ以前の記事をご覧になっていない方は、先に「Mac OS XからWindowsのNTFSパーティションに書き込めるようにするには(1)」と「Mac OS XからWindowsのNTFSパーティションに書き込めるようにするには(2)」の手順をすべて済ませてからお読みください。

あらためて、危険度の高い作業であることをご了解いただいた上で、お進みください。

【注意!】ここで紹介している手順は私の環境での動作実績はありますが、必ずしも皆様の環境で同様に行えることを保証するものではありません。Apple、Microsoft、各種ソフトウェア作者、ならびにパソコンよろずQ&A管理人のいずれも、この情報を元に実施した作業のいかなる責任の一切を負わないことを、あらかじめご承知おきください。

■NTFSパーティションを読み書き可能な状態でマウントし直す
何度も申し上げて食傷気味とは存じますが、このntfs-3gは自由度が高いため、使用にあたっては十分な注意が必要です。現時点での懸念事項は以下の通りです。

・NTFSパーティションに書き込んだファイルは、Windows側ではEveryone(ユーザー全員)に対してフルコントロール(読み書き、権限変更などのすべての操作が自由)に設定されてしまう
・同様に、Mac OS X側でも所有権やアクセス権の設定は全くできず、フルアクセスが可能になってしまう
・Windows側を休止状態にしていると、マウントできない
・ファイルの削除はゴミ箱に移動せず、直接削除されてしまう

上記の理由により、ここではMac OS Xのファイルシステムによって読み込み専用でマウントした状態から、必要に応じてntfs-3gを使ってマウントし直す、という手順を紹介いたします。

 マウントされている読み取り専用のNTFSパーティションを取り出す
  

 「アプリケーション」フォルダの「ユーティリティ」フォルダから、「ターミナル」をダブルクリックして起動する
  

 下記のコマンドと注記(赤字)を参考に入力
macbook:~ user$ diskutil list ←NTFSパーティションのブロックデバイス名を調べる
/dev/disk0
   #:                   type name               size      identifier
   0:  GUID_partition_scheme                    *55.9 GB  disk0
(表示内容一部省略)
   3:   Microsoft Basic Data Windows Vista      25.5 GB   disk0s3 ←この場合、NTFSパーティションのブロックデバイス名は「disk0s3」
macbook:~ user$ mkdir "/Volumes/Windows Vista" ←NTFSパーティションをマウントするディレクトリを作成する
macbook:~ user$ sudo /usr/local/bin/ntfs-3g /dev/disk0s3 "/Volumes/Windows Vista" -o default_permissions,locale=ja_JP.UTF-8,volname="Windows Vista" ←ntfs-3gによって、NTFSパーティションのブロックデバイス(/dev/disk0s3)を「Windows Vista」ディレクトリにマウントする
Password:  ←管理者権限を持つユーザーのパスワードを入力
macbook:~ user$

※上記の例の「Windows Vista」のように、ボリュームラベルに空白が含まれる場合は、ダブルクオート(")でくくってください。
※上記の内容は一般的な Boot Camp環境に合わせていますが、一部異なる場合があります。あくまでも、ご自分の環境に合わせて読み替えてください。

【07/09/19訂正】ディレクトリ名に含まれるスペースの記述方法をエスケープ(¥)からダブルクオート(")による記述に改めました。貴重な気づきを与えていただきました隊長@やから建設様におかれましては、この場を借りて御礼申し上げます。

【07/09/04 訂正】ntfs-3g 1.826のリリースに伴い、オプションを全面的に見直しました。ping_diskarbとumaskの指定が不要になり、 default_permissionsの指定が必要になりました。ご指摘をいただきましたMagnum様におかれましては、この場を借りて御礼申し上げます。

これでデスクトップに書き込み可能なNTFSパーティションがマウントされます。ウィンドウを開いてみると、左下に「書き込み禁止」のアイコンが表示されていないことが確認できるかと思います。

■NTFSパーティションを読み込み専用でマウントし直す
ntfs-3gによる NTFSパーティションへの書き込み作業が終了したら、読み込み専用でマウントし直しましょう(あまり支持されない使い方とは思いますが……)。

 マウントされている書き込み可能なNTFSパーティションを取り出す
  

 「アプリケーション」フォルダの「ユーティリティ」フォルダから、「ディスクユーティリティ」をダブルクリックして起動し、NTFSパーティションを選択して「マウント」ボタンをクリック
  

これでデスクトップに以前と同じように読み込み専用でNTFSパーティションがマウントされます。ウィンドウを開いて、左下に「書き込み禁止」のアイコンが表示されていることを確認しましょう。


【補足:Mac OS X起動時から読み書き可能な状態でマウントするには】
「Windowsは休止状態にしない、メインは Mac OS Xで、NTFSパーティションにフルアクセスする必要がある、だからMac OS X起動時から読み書きできる状態にしたい!」という方も中にはいらっしゃると思います。「Mac OS XからWindowsのNTFSパーティションに書き込めるようにするには(1)」でもご紹介した、Yan様のWebページ「NTFSファイル書き込み」にその方法が記されておりますので、下記に手順化して掲載させていただきます。

 「アプリケーション」フォルダの「ユーティリティ」フォルダから、「ターミナル」をダブルクリックして起動する
  

 ターミナルで以下のコマンドを入力して、fstabファイルを作成する(既にある場合は編集になる)
macbook:~ user$ sudo vi /etc/fstab
Password: ←管理者権限を持つユーザーのパスワードを入力

< span style="font-weight: bold;">3 vim(ターミナル上で動作するテキストエディタ)が起動したら、aキー(挿入入力に切り替えるキー)を押す

 最下行に「- INSERT -」と表示されたら、下記の1文を追加
LABEL=Windows¥040Vista none ntfs rw,noauto

※上記の例の「Windows」と「Vista」の間のように、ボリュームラベルに空白が含まれる場合は、¥(ターミナル内はバックスラッシュで表示)+「040」と入力してください。

< span style="font-weight: bold;">5 入力し終わったら、ESCキー(編集操作に切り替えるキー)を押し、続けて「:wq」(上書き保存して終了するコマンド)と入力してenterキーを押す

 ターミナルで以下のコマンドを入力して、mountwinファイルを作成する
macbook:~ user$ sudo mkdir /usr/local/sbin
Password: ←管理者権限を持つユーザーのパスワードを入力
macbook:~ user$ sudo vi /usr/local/sbin/mountwin

 vimが起動したら、aキーを押す

 最下行に「- INSERT -」と表示されたら、下記の文字列を入力
if [ -d /Volumes/Windows¥ Vista ]; then
/usr/sbin/diskutil unmount disk0s3 > /dev/null 2>&1
/bin/rmdir /Volumes/Windows¥ Vista > /dev/null 2>&1
fi
/bin/mkdir "/Volumes/Windows Vista"
if /usr/local/bin/ntfs-3g /dev/disk0s3 "/Volumes/Windows Vista" -o default_permissions,locale=ja_JP.UTF-8,volname="Windows Vista"; then
:
else
/bin/rmdir "/Volumes/Windows Vista" > /dev/null 2>&1
/usr/sbin/diskutil mount disk0s3 > /dev/null 2>&1
fi

※上記の例の「Windows Vista」のように、ボリュームラベルに空白が含まれる場合は、ダブルクオート(")でくくってください。

【07/09/19訂正】上記コマンド中、下から2行目のdiskutilコマンドのパスが「/usr/bin/diskutil」と誤っておりました。誤記によりご迷惑をおかけし誠に申し訳ございません。

【07/09/04訂正】ntfs-3g 1.826のリリースに伴い、オプションを全面的に見直しました。ping_diskarbとumaskの指定が不要になり、 default_permissionsの指定が必要になりました。

 入力し終わったら、ESCキーを押し、続けて「:wq」と入力してenterキーを押す

10 ターミナルで以下のコマンドを入力して、mountwinに実行属性を付ける
macbook:~ user$ sudo chmod a+x /usr/local/sbin/mountwin
Password: ←管理者権限を持つユーザーのパスワードを入力

< span style="font-weight: bold;">11 ターミナルで以下のコマンドを入力して、mountwin.plistファイルを作成する
macbook:~ user$ sudo vi /Library/LaunchDaemons/mountwin.plist
Password: ←管理者権限を持つユーザーのパスワードを入力

< span style="font-weight: bold;">12 vimが起動したら、aキーを押す

13 最下行に「- INSERT -」と表示されたら、下記の文字列を入力
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>jp.yansite.mountwin</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/sbin/mountwin</string>
</array>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>

14 入力し終わったら、ESCキーを押し、続けて「:wq」と入力してenterキーを押す

15 Mac OS Xを再起動して、起動時にマウントされたNTFSパーティションが読み書き可能かを確認する

以上で、 NTFSパーティションを書き込み可能にするための手順は完了です。私の知識不足で説明が不十分な点も多々あるかと存じますが、不明な点があればコメントなりメールなりでご連絡ください。わかる範囲で調べてお答えしつつ、記事に反映させてまいりたいと思います。

それでは、また。


最新の画像もっと見る

33 コメント

コメント日が  古い順  |   新しい順
マウントが出来ません。。 (kohdai)
2007-03-26 16:49:27
はじめまして。
こちらの記事を参考に、MacBookPro(C2D)にVistaをインストールさせていただきました。
インストール後、NTFSの読み書きをするための作業を続けておりましたが、どうにもうまくいきません。

症状としては、nrfs-3gを使って改めてディスクをマウントする際に「command not found」が出てしまいます。
そのままを読み取ると、ntfs-3gが正常にインストールできていないと考えられますが、少なくとも画面上はこちらのページ通りに作業が進んでおりました。ただ、こちらのページもターミナルの画面は一部省略されていますから、完全に一致しているかは分かりませんが。

もし、一度全てアンインストールして最初から作業をしてみましたが、やはり同様の症状が出てしまいました。

初めての中、大変恐縮ですが、何か解決策が在ればご教授いただければ幸いです。
よろしくお願いいたします。
返信する
フルパスでの実行をお試しください。>kohdai様 (管理人)
2007-03-26 21:14:54
コメントありがとうございます。>kohdai様

インストール完了後、Mac OS Xの再起動でntfs-3gの実行ファイルのあるディレクトリにはパスが通るはずですが、もしも再起動後にもパスが通っていないようでしたら、下記の通り実行ファイルのあるディレクトリのパスを直接指定してお試しいただければと思います。

/usr/local/bin/ntfs-3g /dev/disk0s3 /Volumes/Windows\ Vista -o ping_diskarb,locale=ja_JP.UTF-8,volname="Windows Vista"

全く同じご質問をメールでもいただいておりますので、ひょっとすると何度か検証した際に、私が個人的にパスの設定などをしてしまっている可能性もございます。ご不便をおかけして申し訳ございません。

念のため、記事もフルパスでの実行方法に変更させていただきます。よろしくお願いいたします。
返信する
返信ありがとうございます。 (kohdai)
2007-03-26 23:10:49
先ほどの件、フルパスでコマンドを入力したところ解決しましたっ!!
ありがとうございます。

引き続き、起動時に自動でマウントする設定を始めているのですが、こちらもまた手間取っています。。
mountwinファイルを作成しようとすると、
"/usr/local/sbin/mountwin" E212: Can't open file for writing
Hit ENTER or type command to continue
というメッセージが表示されてしまうのです。
……権限がないってことなんでしょうか??
返信する
こちらは自己解決。 (kohdai)
2007-03-26 23:47:12
自己解決しましたので、ご報告させていただきます。
どうやら、viコマンドからだと保存時にはねられてしまうようでした。
最初にmkdirでsbinフォルダを作成し、それからviにてmountwinを作成・保存したところ問題なく動作しています。
このたびは何度もこちらのページに助けていただいて、本当に感謝しております。

今後も更新を楽しみにしておりますので、よろしくお願いいたします。
返信する
解決されたとのこと何よりです。>kohdai様 (管理人)
2007-03-29 01:23:15
解決されたとのこと、何よりでございました。>kohdai様
お返事が大変遅くなり誠に申し訳ございません。

/usr/local/sbinディレクトリは、私の環境ではあらかじめございましたが、またも何らかの作業途中で作成してしまっていたかもしれません。大変失礼いたしました。
後ほど、記事にmkdirの手順を追加させていただきます。

今後ともよろしくお願いいたします。
返信する
mountwin作成 (sineria)
2007-04-13 12:40:21
初めまして。たびたびこちらを利用させていただいております。

私のパソコンでも、手順9の後に
"/usr/local/sbin/mountwin" E212: Can't open file for writing
Hit ENTER or type command to continue
と出てしまいます。
お忙しいとは思いますが、mkdirの手順追加をよろしくお願いいたします。
返信する
反映が遅くなり申し訳ございませんでした。>sineria様 (管理人)
2007-04-14 08:38:07
反映が遅くなり、ご迷惑をおかけいたしました。>sineria様
mkdirの手順を記事に反映させていただきました。

具体的には、

sudo vi /usr/local/sbin/mountwin

でmountwinファイルの作成・編集を行なう前に、

sudo mkdir /usr/local/sbin

を実行し、sbinディレクトリを作成していただければ手順通り進められます。

よろしくお願いいたします。
返信する
ありがとうございます! (sineria)
2007-04-14 13:04:17
おかげさまで無事できました!
ついでにiTunesライブラリの共有も行いました。
役立つ記事をいつもありがとうございます。

それでは。
返信する
.plistが・・・ (asmo)
2007-04-16 03:07:20
いつも参考にさせていただいています。
大変お世話になっております。

さて、【補足:Mac OS X起動時から読み書き可能な状態でマウントするには】の項で、マウントまではできているのですが、マウントしたボリュームの「情報を見る」で見ると「空き容量」が0(ゼロ)となっていて、書き込みができません。。。

起動時に自動ではなく、手動でマウントするとうまく読み書きできるのですが、何かヒントを頂けないでしょうか。Yan様のWebページの方も読んではみるのですが、できない理由が、どうしてもわかりません。

浅学にて大変ご迷惑をおかけしますが、よろしくお願いします。
返信する
書き込み可能NTFSボリュームの起動時マウントについて (まこと)
2007-04-18 20:39:40
いつもお世話になっております。
書き込み可能Vistaボリュームを起動時にマウントする方法において、私もasmoさんと同じ症状(空き0Kで)書き込みができない、が発生しました。

で、色々調べてみると/Volumes配下のマウントポイント「Windows Vista」が、アンマウント時に削除されているのようなので、スクリプトファイル
/usr/local/sbin/mountwin
を見直して、if文内のマウントポイントを削除している行
/bin/rmdir /Volumes/Windows¥ Vista > /dev/null 2>&1
を削除したところ、正常(?)に動作するようになったので報告します。

環境による動作の違いなど色々考えられますが、とりあえずの対処療法ではあると思います。

いつもわかりやすい説明、ありがとうございます。
これからもよろしくお願いします。
返信する