どうやら答えはここにあります: https://superuser.com/questions/251537/mount-specific-ntfs-directory-on-linux しかしそれは期待どおりに動作しません。
Windows 7とUbuntu 13.04(12.10からアップグレード)のデュアルブートシステムがあり、読み取りと書き込みの両方のためにWindows 7の個人用フォルダーにアクセスしたい。与えられたリンクに従って指示に従いましたが、私の/etc/fstab
ファイルは次のようになります。
/dev/sda1 /media/windows ntfs ro,umask=0222,defaults 0 0
/media/windows/Users/MyUser/ /home/myuser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows ntfs-3g rbind,user,umask=0222,defaults 0 0
ほぼ期待どおりに機能します。 Windowsパーティションは/media/windows/
にあり、読み取り専用のアクセス許可があり、Windows個人用フォルダーは~/Windows
にあります。ただし、この個人用フォルダーも読み取り専用です。
注私はこれをマルチセッション環境で構成しているため、自分のセッションおよび他のユーザーのセッションで機能するためにこれが必要です。各ユーザーがLinuxからWindowsフォルダーにアクセスし、書き込みおよび読み取りができる必要があります。
上記のリンクされたスーパーユーザーの質問は、パーティションとサブディレクトリをread onlyモードでマウントするためのものです。サブディレクトリ(個人フォルダ)のみが読み書き可能です。
最初に、システムがntfsパーティションを読み書きモードでマウントできることを確認します
mount -t ntfs-3g -o rw /dev/sda1 /media/windows
次に、マウントされたfsが書き込み可能かどうかをテストします。ここでやめない場合は、このサイトで別の質問をしてください。
問題は、ROマウントされたパーティションのサブディレクトリがRWにないことです。そのため、RWのWindowsパーティションを非表示でアクセスできない場所にマウントします。それでは、/ root/winにマウントしてみましょう。これは、非rootユーザーはアクセスできません(Sudo
なし)
rootユーザーとして以下を行います
手順
1。 RWにWindowsパーティションをマウントする
mount -t ntfs-3g -o rw /dev/sda1 /root/win
2.バインドする
mount --bind /root/win/Users/MyUser/ /home/myuser/Windows
3. Windowsパーティションの読み取り専用インスタンスをバインドします
mount --bind /root/win /media/windows
mount -o remount,ro /media/windows
これですべてが正常になります。さらに、Windowsパーティションをアンマウントできますが、一部のシステムではバインドされたパーティション(@home)にアクセスできなくなると警告しています。コードはumount /root/win
です
または、RWのWindowsパーティションを/ media/windows(/ root/winの代わりに)にマウントし、すぐに同じマウントポイントにバインドマウントできます。 (/ media/windows)。だれも(rootでさえ)パーティション(ただし、ユーザーフォルダー)に書き込むことができません。
リンクされたスーパーユーザーの回答が有効なものであるとは思わない。 (私はそれを試すことはできませんが。)man mount
から:
ファイルシステムのマウントオプションは元のマウントポイントのオプションと同じままであり、-binオプションと--bind /-rbindを渡すことで変更できないことに注意してください。マウントオプションは、別のremountコマンドで変更できます。次に例を示します。
mount --bind olddir newdir
mount -o remount,ro newdir
また、ファイルシステムの一部を別のファイルシステムドライバー(ntfsとntfs-3g)で--rbind
できることも疑っています。
rbind
を指定すると、mountコマンドはすべてのオプションを無視するため、読み取り/書き込みは行われません。また、カーネルntfsドライバーは書き込みをサポートしていないため、明らかにrw
オプションもその書き込みに役立ちません。 ntfs-3gドライバーを使用します。
基本的にあなたがすべきことはこれです(ターミナルで):
mount -t ntfs-3g -o ro /dev/sda1 /media/windows
mount --bind /media/windows/Users/MyUser/ /home/myuser/Windows
mount -o remount,rw /home/myuser/Windows
(--rbind
も不要で、--bind
で十分だと思います。)
そして、質問の下にあるコメントに関して:もちろん、テストのためにシステムを再起動する必要はありません。上記のようにmount
コマンドを使用してください。 (そして、umount
コマンドでアンマウントします。)
これが意図したとおりに機能することを確認したら、マウントを変更し、必要なオプション(uid、gid、umaskなど)を追加するだけです。
これが役立つかどうかを確認してください...
sda1
が既に/media/windows
にマウントされている場合は、次の方法でアンマウントできます。
Sudo umount /media/windows
次に、/media/
にwindows
ディレクトリを作成します。
Sudo mkdir /media/windows
/etc/fstab
を次のように編集します。
/dev/sda1 /media/windows ntfs-3g rw,nodev,noexec,auto,nouser,async,locale=en_US.utf8,uid=1000,gid=1000,umask=0002 0 0
/media/windows/Users/MyUser/ /home/myuser/Windows ntfs-3g rbind,user,rw,nodev,noexec,auto,async,uid=1000,gid=1000,umask=0002 0 0
/media/windows/Users/OtherUser/ /home/otheruser/Windows rbind,user,rw,nodev,noexec,auto,async,uid=1001,gid=1001,umask=0002 0 0
(注:変更uidおよびgidユーザーの値。ユーザーのuidおよびgidを取得するには、id -u username
およびid -g username
の各コマンドを使用できます。
次のコマンドでこれらをマウントできます:
Sudo mount -a
rebindedディレクトリに移動して、ファイルを編集できるかどうかを確認します。これで完了です。
Fstab構成ファイルを編集する前に、すべてのテストを行ってください。
おそらく、ファイルシステムにダーティのフラグが付けられている場合、ntfsファイルシステムは読み取り専用で自動的にマウントされることをご存じでしょう。答えを試す前にまずしなければならないことは、Windowsでディスクをマウントし、chkdskを実行してから再度マウントすることです。
また、rwでのマウントがまだ失敗する場合は、Sudo mount -t ntfs
やSudo mount -t ntfs-3g
などの異なるマウントタイプオプションでマウントしてみてください。
fsがrwにマウントされると、次のことができます:
mount --bind /media/MOUNTPOINT/TARGETFOLDER /home/SHAREDDIRECTORY/
mount -o remount,ro /home/SHAREDDIRECTORY/
または
Sudo gksu nautilus
またはSudo gksu dolphin
は、su権限でエクスプローラーを開きます
読み取りおよび書き込み属性でマウントしようとしないのはなぜですか:rw
?
/ dev/sda1/media/windows ntfs rw、umask = 0222、defaults 0 0
しかし、私はよくわかりません、これを試してみてください。ドライブがマウントされたら、端末で次のコマンドを実行します
Sudo gksu nautilus
管理者パスワードを入力し、開いたグラフィカルウィンドウで、ドライブをクリックして読み取り/書き込み権限を変更できるはずです。
これが機能するかどうかを教えてください。 root権限のグラフィカルインターフェイスでnautilusを使用するために利用できるヘルプがあります。
Sudo chmod.666〜/ Windowsを使用することをお勧めします
Windowsを読み書き可能としてマウントする最も簡単な方法は、単に再起動するか、完全にシャットダウンすることです。 「高速シャットダウン」が使用されている場合のNTFSパーティションhibernates。この原則の詳細については、 このリンク。