web-dev-qa-db-ja.com

Ubuntuで書き込み権限を持つWindowsフォルダーをマウントする

どうやら答えはここにあります: 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でさえ)パーティション(ただし、ユーザーフォルダー)に書き込むことができません。

6
totti

リンクされたスーパーユーザーの回答が有効なものであるとは思わない。 (私はそれを試すことはできませんが。)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など)を追加するだけです。

5
falconer

これが役立つかどうかを確認してください...

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ディレクトリに移動して、ファイルを編集できるかどうかを確認します。これで完了です。

3
precise

Fstab構成ファイルを編集する前に、すべてのテストを行ってください。

おそらく、ファイルシステムにダーティのフラグが付けられている場合、ntfsファイルシステムは読み取り専用で自動的にマウントされることをご存じでしょう。答えを試す前にまずしなければならないことは、Windowsでディスクをマウントし、chkdskを実行してから再度マウントすることです。

また、rwでのマウントがまだ失敗する場合は、Sudo mount -t ntfsSudo 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権限でエクスプローラーを開きます

3
yilmi

読み取りおよび書き込み属性でマウントしようとしないのはなぜですか:rw

/ dev/sda1/media/windows ntfs rw、umask = 0222、defaults 0 0

2
user189541

しかし、私はよくわかりません、これを試してみてください。ドライブがマウントされたら、端末で次のコマンドを実行します

Sudo gksu nautilus

管理者パスワードを入力し、開いたグラフィカルウィンドウで、ドライブをクリックして読み取り/書き込み権限を変更できるはずです。

これが機能するかどうかを教えてください。 root権限のグラフィカルインターフェイスでnautilusを使用するために利用できるヘルプがあります。

2
KSR

Sudo chmod.666〜/ Windowsを使用することをお勧めします

https://help.ubuntu.com/community/FilePermissions

1
user1553176

Windowsを読み書き可能としてマウントする最も簡単な方法は、単に再起動するか、完全にシャットダウンすることです。 「高速シャットダウン」が使用されている場合のNTFSパーティションhibernates。この原則の詳細については、 このリンク。

0
user728899