web-dev-qa-db-ja.com

USBデバイスが読み取り専用として表示される

Ubuntu 14.04を使用しています。

8gb FAT32 USBスティックと500gb FAT32 HDDがあります。どちらも突然読み取り専用デバイスになりました。

/media内のディレクトリを削除してから再度作成し、名前を変更してから、そのディレクトリに完全なアクセス許可を与えようとしました。しかし、これは機能しませんでした。

mountの結果:

$ mount
/dev/sda5 on / type ext4 (rw,errors=remount-ro) 
proc on /proc type proc (rw,noexec,nosuid,nodev) 
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev) 
none on /sys/fs/cgroup type tmpfs (rw)
none on /sys/fs/Fuse/connections type fusectl (rw) 
none on /sys/kernel/debug type debugfs (rw) 
none on /sys/kernel/security type securityfs (rw)
udev on /dev type devtmpfs (rw,mode=0755) 
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=0620) 
tmpfs on /run type tmpfs (rw,noexec,nosuid,size=10%,mode=0755) 
none on /run/lock type tmpfs (rw,noexec,nosuid,nodev,size=5242880) 
none on /run/shm type tmpfs (rw,nosuid,nodev)
none on /run/user type tmpfs (rw,noexec,nosuid,nodev,size=104857600,mode=0755) 
none on /sys/fs/pstore type pstore (rw) 
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
systemd on /sys/fs/cgroup/systemd type cgroup (rw,noexec,nosuid,nodev,none,name=systemd)
gvfsd-Fuse on /run/user/1000/gvfs type Fuse.gvfsd-Fuse (rw,nosuid,nodev,user=simon)

Sudo parted -lの結果:

Model: ATA ST9500325AS (scsi)
Disk /dev/sda: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End    Size    Type      File system     Flags
 4      1049kB  500GB  500GB   extended
 5      2097kB  496GB  496GB   logical   ext4
 6      496GB   500GB  4238MB  logical   linux-swap(v1)


Model: Verbatim STORE N GO (scsi)
Disk /dev/sdb: 8028MB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type     File system  Flags
 1      24.6kB  8028MB  8028MB  primary  fat32        boot

lsblkの結果:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465.8G  0 disk 
├─sda4   8:4    0     1K  0 part 
├─sda5   8:5    0 461.8G  0 part /
└─sda6   8:6    0     4G  0 part [SWAP]
sdb      8:16   1   7.5G  0 disk 
└─sdb1   8:17   1   7.5G  0 part /media/simon/LYDIA
sr0     11:0    1  1024M  0 rom 

USB書き込みテスト:

$ cd /media/simon/LYDIA
$ touch newfile001
touch: cannot touch ‘newfile001’: Read-only file system 

dmesgの結果:

[  159.366772] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be       corrupt. Please run fsck.
[  159.383252] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.383258] FAT-fs (sdb1): Filesystem has been set read-only
[  159.383571] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.384251] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.384319] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.475111] systemd-hostnamed[2966]: Warning: nss-myhostname is not installed.
Changing the local hostname might make it unresolveable. Please install nss-myhostname!
[  159.480141] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480224] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480497] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.480516] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[ 2893.091767] wlan0: deauthenticating from c0:3e:0f:31:21:05 by local choice   (reason=3)
121
oodles2do

これを参照してください bug

次のコマンドを実行して、Nautilus(ファイル)を強制終了します。

killall nautilus
246
wayofthefuture

USBキーをラップトップに接続する場合:

  • Sudo -iを実行します(常にパスワードを入力しないようにします)
  • df -Thを実行します(USBスティックがマウントされている場所を確認します)
  • uSBスティックをアンマウントします
  • 前のコマンドで見たデバイスでdosfsckを実行します。例:dosfsck /dev/sdc1
  • uSBスティックを取り外して再度取り付けます

今すぐ問題を解決する必要があります。

さて、あなたのHDDについては、これに対する答えに従ってください 質問 。外付けHDDについてですが、あなたの場合も同じです。

74
user284234

GPartedを使用してパーティションテーブルを設定し、USBスティックをフォーマットすると、同じエラーが発生しました。その後、すべてのUSBドライブが「読み取り専用」になりました。

しかし、ルートコピーでは正常に動作しました...

マシンの再起動後に問題はなくなりました。したがって、GPartedを使用すると、この問題が発生する可能性があります。

20
Koyot

私もこの問題を抱えていました。 usbスティックへのコピー中にエラーが発生しました。Mint17.1 cinnamon、カーネル3.13.0-43とcajaファイルマネージャを使用しています。

ターミナル 'dir/media'のメディアディレクトリを見ると、レイアウトが変更されていることがわかりました。通常、ここにリストされているドライブが表示されるはずですが、ユーザー名の下にリストされます。そのユーザー名にはROOT権限しかありません。

入力したのは

Sudo chown [username] /media/[username]

そして

Sudo chgrp [username] /media/[username]

[ユーザー名]をユーザー名に置き換え、USBスティックを取り外し、待ってから元に戻すと、問題が解決したので、書き込みができます。

15
hillsongperth

Ubuntuでも同じ問題を抱えていますが、ここで挙げた答えはどれもうまくいきませんでした。ここに私が試したものがあります:

  • GPartedを使用してデバイスをフォーマットします。パーティションテーブルを再作成しようとしても成功しませんでした。
  • fsckでデバイスを確認します。問題は見つかりませんでした。
  • マウントポイントの権限を修正しました。マウントポイントはルート所有でしたが、自分を所有者にした後でも、コマンドラインからしかデバイスに書き込むことができませんでした(GUIからファイルを作成できませんでした)。

USBスティックを接続すると、/media/<username>/<label>/の下にマウントされます。<username>はユーザー名で、<label>はUSBスティックまたはストレージデバイスのラベルです。

私は再びアクセス許可を見ました:

$ ls -ld /media/<username>
drwxrwx---+ 2 <username> <username> 4096 Mar  4 18:32 /media/<username>

許可の最後にある+に注意してください。それは私にとって新しいことであり、以前は気づかなかった。これは、ディレクトリにアクセス制御リスト(ACL)と呼ばれる拡張アクセス許可があることを意味します(これを参照してください 関連する質問 )。このディレクトリのACLの詳細をリストしました。

$ getfacl /media/<username>
# file: <username>/
# owner: <username>
# group: <username>
user::rwx
user:<username>:r-x
group::---
mask::r-x
other::---

ご覧のとおり、追加のエントリuser:<username>:r-xが私のユーザー名にあり、読み取りアクセスのみを許可します。簡単なコマンドでこれを修正しました:

setfacl -m u:<username>:rwx /media/<username>

USBデバイスを取り外し、再度接続すると、問題は解決しました。

11
Serrano

Gpartedを使用してフォーマットしました。これでディスク内のすべてのデータが消去され、問題も解決されたことがわかりました。

9
Adrian Lopez

mountを実行したとき、sda5(/)のみがマウントされ、読み取り/書き込み(rw)であったため、書き込みができるはずです。通常、/sys/binなどのほとんどのディレクトリはルートのみが書き込み可能です(最初にSudoが必要です)が、ホームフォルダーは通常のユーザーが書き込み可能である必要があります。

ホームフォルダーにファイルを作成できますか?たぶん、あなたのGUIファイルマネージャは、それらが読み取り専用だと思って立ち往生しています、あなたが端末で試してみるとうまくいきますか?たとえば、これらのコマンドは機能しますか?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

これらが正常に機能する場合、HD(sda5)に書き込むことができます。


USBドライブの場合は、プラグインしてマウントした後、mountを見て(/dev/sdb1 ...行)、()のマウントオプションがrwであるかどうかを確認します。 (読み書き可能)それからあなたはそれに書き込むことができるはずです。 ro(読み取り専用)の場合、これを試して、変化するかどうかを確認します。

Sudo mount -o remount,rw /dev/sdb1 /media/simon/LYDIA

ファイルシステム(fs)にエラーがある場合、roとしてマウントされる可能性があり、dmesg/var/log/syslogにもメッセージがあります。これはあなたのログが示すものです:

[  159.366772] FAT-fs (sdb1): Volume was not properly unmounted. Some data may  
be corrupt. Please run fsck.
[  159.383252] FAT-fs (sdb1): error, fat_get_cluster: invalid cluster chain (i_pos 0)
[  159.383258] FAT-fs (sdb1): Filesystem has been set read-only

これには、fsが破損した可能性のある手がかりが含まれます-「正しくマウント解除されていない」ため、プラグを抜く前に常にマウント解除する必要があります。ほとんどのファイルマネージャには、それを支援する「イジェクト」があります。

dmesgログには修正方法も記載されています。fsckはfsエラーの修正を試みることができます。適切なチェックプログラムを選択するか、fsck.vfatまたはfsck.[other]を押す TAB fsck.の後にオプションをリストする必要があります。

  • FATシステムの場合(多くの場合、2回実行する必要がありますが、最初にすべてのエラーを常に修正するとは限りません)
    • fsck.vfat -vaV [device]は自動的に動作し(-a)&より多くの情報を表示し(-v)& "検証"パスを実行します(-V)、または単に:
    • fsck.vfat -a [device]

NOTE:これは、ファイルシステムが修正されたままになることを保証するものではなく、再び破損する可能性があり、正確な理由を知ることは不可能かもしれません。 USBドライブを取り外す前に、常にアンマウント/「イジェクト」してください。

fsの場合rwとしてマウント、ただしエラーが発生して取得されるroとして自動的に再マウント、マウントコマンドはまだマウントされていると報告しますrwless /proc/mountsでこのファイルを見ると、通常、より信頼できる情報が表示されます(man mountを参照)。


何かがrwマウントされているが、それでもファイルを追加/削除/編集できない場合は、ファイルの所有者ではない可能性があります。一部のfsでは、chownを使用して所有者になることができますが、sdb1のようなFAT32 fsにはこれらの権限がありません。マウントオプションuid=value(値はユーザーIDで、echo $UIDまたはid -uで学習する)でマウントするときに設定されます。これを試して、後で動作するかどうかを確認できます。

Sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • 注:場合によっては、guiファイルマネージャーを再起動して、ファイルシステム/ドライブへの書き込みを許可するマウントの変更を "通知"する必要がありますが、端末は常に動作するはずです。

または、上記が機能しない場合、Sudo suを試してルートになり、USB上のファイルに何か書き込むことができるかどうかを確認します(touchechoなど)。

6
Xen2050

Goto ディスク

USBドライブを選択します。

追加のパーティションオプションをクリックし、パーティションのフォーマットを選択します。

次に、消去を選択し、既存のデータをゼロで上書き(遅い)し、タイプFAT

私はインターネットで検索した後、多くのことを試しましたが、これは私のために働いた。

4
Mahmud

wayofthefutureの答え のように、Nemoを使用している場合(私のように、Cinnamonデスクトップ環境を使用している場合)、試してください:

killall nemo
1
Christian Opitz

これは、ファイルシステムがNTFSであり、安全でない状態にあるためです。Windowsでディスクを使用している可能性があります。その理由の1つは、Windowsを休止状態または高速再起動したためです。したがって、次のいずれかの手順を使用します。

  1. 以下のコマンドを使用してメディアをアンマウントし、ウィンドウ(デュアルブートモードまたは別のコンピューターの場合があります)に移動して、休止状態または高速再起動ではなく、ウィンドウを完全にシャットダウンします。

    Sudo umount /media/"your media label"

その後、再度Linuxにアクセスし、次のコマンドを使用してメディアをマウントします。

'Sudo mount -o rw,mount /your media'
  1. macOsを使用している場合、メディアをMacデバイスに接続し、次のコマンドを使用します。

    「Sudo/usr/sbin/diskutil disableJournal/Volumes/name-of-media」

0
Nima Ghoroubi

必要なのは、次の3つのコマンドだけです。

  1. df -Th

結果- enter image description here

  1. umount /media/user/Kingston(これはパスにマウントされます)
  2. dosfsck -a /dev/sdb1(これはファイルシステムのパスです)
0
Mahendra Pratap

以下の戦略を試してください

  1. /etc/Fuse.confをスーパーユーザーとして編集します

    #user_allow_otheruser_allow_otherに変更します

  2. 外部デバイスの書き込みサポートを有効にします

    • Sudo apt-get install ntfs-config
    • Sudo ntfs-config
0

クイック修正方法:

方法1

時々私は通常私が行うトラブルなしにbashからタスクを達成することができます(Sudoは必要ありません)

mkdir /media/$USER/mydrive/myfolder
cp -r src/ /media/$USER/mydrive/myfolder

ただし、ファイルブラウザを使用する必要がある場合、

Sudo nautilus /media/$USER/mydrive/

注:これは簡単な修正です。上記の他の回答が機能しなかったためにイライラする場合にのみ使用してください

方法2

OSを再起動

0
Thamme Gowda