UbuntuのFAT32パーティションの読み取りおよび書き込み権限


16

これは奇妙な問題です。私は次のパーティションテーブルを持っています

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          13      102400    7  HPFS/NTFS
Partition 1 does not end on cylinder boundary.
/dev/sda2              13        5737    45978624    7  HPFS/NTFS
/dev/sda3            5738       10600    39062047+  83  Linux
/dev/sda4           10601       19457    71143852+   5  Extended
/dev/sda5           10601       11208     4883728+  82  Linux swap / Solaris
/dev/sda6           11209       15033    30720000    b  W95 FAT32
/dev/sda7           15033       19457    35537920    7  HPFS/NTFS

Win7(sda2)とUbuntu(sda3)をデュアルブートし、FAT32パーティションを使用して2つのOS間でファイルを共有したかった。

私はいくつかのオンラインチュートリアルに従って、これらを実行しました。

sudo mkdir /media/FAT32
sudo chmod 777 /media/FAT32
sudo mount /dev/sda6/ /media/FAT32

ファイルをマウントした後、読み取りはできるが書き込みはできません。

ファイルの許可を確認すると、次のようになります。

drwxr-xr-x

しかし、私はそれをアンマウントした後になります

drwxrwxrwx

読み書きできます。

どこが間違っているのかわかりません。

回答:


18

rwでマウントして、タイプを指定してみてください。

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx

ここで、uidとgidはユーザーアカウントのものです。


umaskは、新しいファイルを作成するときに効果があります。
オタク

userおよびエントリのautoオプションですfstab。コマンドラインではあまり有用ではありません。
いんちきのキホーテ2009

はい、fstabエントリの1つをコマンドラインに変換しました。役に立たないビットもいくつか残っていますが、どちらもまったく有害ではありません。
ジョンT

2
sudo mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)
チェファロフ

1

FATファイルシステムの場合、読み取り/書き込みの可用性はマウントオプションによって決まります。

マウントについてはマンページを参照し、FATのuidおよびgidマウントオプションについてお読みください。


1

sudoコマンドを使用してファイルに書き込みを試みましたか?これ現在の設定で動作するはずです。

通常のユーザーのファイル書き込みを取得するには、uidとのgidオプションを使用mountして、パーティション上のファイルの所有者を現在のユーザーIDに設定する必要があります。おそらく、また、どちらか欲しいumaskdmaskfmaskオプション。

あなたのmountコマンドは次のようになります。

sudo mount -t vfat /dev/sda6 /media/FAT32 -o uid=1000,gid=1000,umask=022
# assuming your user's UID is 1000, GID is 1000
# umask=022 sets permission mode 755 for all files on the partition

1

必要なコマンドの順序が間違っています:

sudo mkdir /media/FAT32
sudo mount /dev/sda6 /media/FAT32
sudo chmod 777 /media/FAT32

何が起こっているのかというと、/ media / FAT32はマウントの前後で異なるディレクトリを表します。作成したディレクトリの前で、777をchmodしたものです。その後、/ dev / sda6のファイルシステムのルートディレクトリになります。


1

コマンドラインを忘れてNautilusでマウントする場合は、必要に応じて設定する必要があります。

ターミナルからは、マウントする前のフォルダーの権限は関係ありません。重要なのはマウントオプションです。試してください:

mount -t vfat /dev/sda6 /media/FAT32 -o rw,uid=xxx,gid=xxx,umask=133,dmask=022

これによりrw-r--r--、ファイルとフォルダがに設定されますrwxr-xr-x

他のユーザー/グループとパーミッションが必要な場合、たとえば、ファイルをfat32からext4パーティションに目的の属性でコピーするには、mountマンページを参照してください。大体あなたは自分が着るumaskものの反対を着るchmod


0

次の例のように、LinuxからWindowsディスクを紛失し、「-o force」でマウントを使用して解決したことがあります。

sudo mount -t ntfs-3g /dev/sda1 /media/win -o force

あなたの場合、FAT32であることについて読む必要がありますが、私はこのヒントヘルプです。とにかく、自己責任で試してください!


0

私はまったく同じ問題を抱えていましたが、実際に機能したのは次のとおりです。

sudo mount -t vfat  /dev/sda6 /media/FAT32 -o rw,umask=0000

その答えもご覧ください


私はこれを行いました、USBキーはまだ書き込み保護されています
Eildosa

試しましたchmod 777 /media/FAT32か?
ラウハブ

1
何らかの理由で「、umask = 0000」の削除が機能した
Eildosa

0

手動でマウントせずに、fstab行でトリックを行います。

UUID = 1DD9-0D44 / media / exthd / TERABYTE_G vfat rw、noatime、uid = 1000、gid = 1000、user 0 0

(uid、gidはユーザーのものです。/media/exthd/TERABYTE_Gは事前に作成する必要があります)

ただし、mount -aは新しいfstab行のテストに適切に適用されていないようですので、完全な再起動が役立ちます。


0

Linuxで使用する前に、Windowsでディスクを非常に重要な修復/チェックします。デフォルトでは、fat / ntfsドライバーは、ディスクでエラーが見つかった場合に書き込みを無効にします

chkdsk d: /f 

それから

sudo mount -t vfat /dev/sdc1 /media/FAT32 -o rw,uid=$(id -u),gid=$(id -g)

前に申し上げたとおり

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.