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


122

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)

取り付けたとき、それをまく?どのようにマウントしますか?ルートとして?ファイルマネージャーの自動マウントで自動マウントしますか?
davidbaumann

通常、USBスティックを差し込み、ウィンドウがポップアップするか、ファイルを開いてドラッグアンドドロップできるようになります。私は通常、コピーなどの目的で端末を使用しません。
oodles2do 14

プラグインし、開いて、結果を追加してmountください。
davidbaumann

ばかげているとは限りませんが、正確にはどういう意味ですか?どんなコードを端末に入れるべきですか?それがあなたがそれをすることを意味するものであるならば。ありがとう!
oodles2do 14

mount正確に;)
davidbaumann 14

回答:


248

このバグをご覧ください。

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

killall nautilus

45
うわー、私が働いていたことを信じることができない
JED

11
私はのろわれます、これは笑笑
Tek

6
私が使用nemoしているので、私はやったkillall nemo、それは動作します。
沖エリーリナルディ

14
2018年(Ubuntu 16.04.3 LTS)でも機能するのは悲しいことです
アンドリュー

2
私が見た奇妙な修正。Ubuntu 18.04
CodeMonkey

74

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

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

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

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


1
ご協力いただきありがとうございます!私はあなたが言ったことをやろうとしましたが、umount / dev / sdb1と入力してUSBスティックをアンマウントするのは正しいですか?また、dosfsckの使用方法がわかりません。あまりにもリンクしてくれてありがとう
oodles2do

3
@SimonBremford USBがマウントされている場合/dev/sdb1、もちろんコマンドは正しいです。あなたの他の質問については、単に入力:dosfsck -a /dev/sdb1

23
あなたの助けをありがとう、しかしそれはうまくいかなかった。USBスティックはまだ読み取り専用です。USBスティック自体ではなく、Ubuntuの問題だと思います。そして、それが同時に複数のUSBデバイスに影響を与えているという事実。
oodles2do 14

3
時々、最も簡単なことは再起動することです
ガヤンウェラクッティ

2
リブートが実際に必要であるという答えに追加すると便利です。
アルテムペレニツィン

20

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

しかし、ルートコピーでは問題なく動作しました...

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


投稿された以下の実用的なソリューションSerranoとそれに関する私のコメントを参照してください。私にとっても、起源はGPated... を使用することから来ました。
Antonio

16

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

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

入力したのは

sudo chown [username] /media/[username]

そして

sudo chgrp [username] /media/[username]

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


私にとってsudo chown [username] /media/[username]はうまくいきました。USBスティックを出し入れする必要さえありませんでした(必要ありませんchgrp-Xubuntu 16.04を使用しています)
Nicolas

回答ありがとうございます。これは、メディア自体に問題はなく、マウントポイントに実際に問題があるため、受け入れられた回答である必要があります。
-agim

chownはグループを変更することもできます。chown [username]:[groupname] files実行してchownからに相当しchgrpます。Seeman chown
Xen2050

1
@ Xen2050、さらに良いのはchown [username]: files、 `chown``がデフォルトでユーザーログイングループになるためです。
ルーカス

@Lucasに感謝します。それはmanページに巧妙に隠されていますが、ページに表示されていinfoます[人と情報のページが一致すれば本当にいいでしょう...]
Xen2050

11

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

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

USBスティックを接続すると、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デバイスを取り外し、再度接続すると、問題は解決しました。


1
OK。おかげで、これが解決策でした。ただし、最後restart your computerにに完全にアクセスするために必要mounted USBsです。価値があるもう1つのポイントは、この問題creating a new gpt partition tableUSB stickwithの後に発生したことGPartedです。その後、すべてのUSBが影響を受けました。間違いなくの男たちはGParted異なる振る舞いをするはずです
アントニオ

9

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


1
ええ、うまくいきます。msdostype として新しいパーティションテーブルを作成してから、fat32を使用して1つの大きなパーティションを作成する必要があります。
vskubriev 16

1
この答えはスタブだと思います。展開してください。
レオレオポルトヘルツ준영

6

実行したのmountはsda5(your /)のみがマウントされ、読み取りと書き込み(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ログには、それを修正する方法を言う:fsckfsのエラーを修正しようとすることができ、それは右のチェックプログラムを選択しようとし、またはあなたが明示的に選ぶことができるfsck.vfatか、fsck.[other]を押しますTABた後にするfsck.オプションをリストする必要があります。

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

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

なお、 FSの場合のようにマウントrwが、その後のエラーが見られると、それが取得して自動的に再マウントro、mountコマンドがあり、まだそれがマウントされています報告rw。このファイルを見ると、less /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など)?


あなたの答えをありがとう、newfile001コマンドを実行し、応答として「もの」を得ました。また、mountコマンドでは、USBスティックのブラケットにrwが含まれているため、読み取りと書き込みができるはずです。私はあなたの答えの最後にコマンドを試しましたが、うまくいきませんでした、それはまだ読み取り専用のデバイスです。
oodles2do 14

少なくともHDは機能しています... USBは書き込み可能である必要があります... cdUSBフォルダーに入れた場合、任意のファイルを書き込むことができますecho stuff >> newusbfileか?またはecho stuff | sudo tee newusbfile?または、最初にsudo suルートになり、次にエコー、猫などになりますか?
Xen2050 14

USBフォルダーにcdコマンドを実行するにはどうすればよいですか?私は/ media / simonにそれをやっただけでうまくいったと思うが、USBは/ media / simon / LYDIA
oodles2do 14

USBがマウントされていない場合、/ media / simon / LYDIAは単なる空のフォルダーです(そこにある場合)。マウントされた後、mountまたはlsblkでマウントされたフォルダーの場所を確認し、cd mounted_folderファイルmkdirなどsudo suを書き込もうとします。また、rootとしても書き込めるかどうかを確認します。
Xen2050 14

あなたのすべての助けに感謝します、私はちょうどusbファイルにファイルを書き込もうとしましたが、うまくいきませんでした、それはそれが読み取り専用のファイルシステムだと言います。質問にコードを追加したので、私がしたことを確認できます。
oodles2do 14

4

Goto Disks

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

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

次に、[消去]を選択し、既存のデータをゼロで上書き(低速)しFATと入力します。ます。

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


1
これにより、ドライブ上のすべてのデータが消去されます。
cst1992

NTFSが必要な場合はどうなりますか?NTFSでも同じことがうまくいきませんでした。
ヴァディムコトフ


0

クイック修正方法:

方法1

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

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

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

sudo nautilus /media/$USER/mydrive/

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

方法2

OSを再起動


0

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

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

    変更#user_allow_otheruser_allow_other

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

    • sudo apt-get install ntfs-config
    • sudo ntfs-config

0

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

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

    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

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

  1. df -Th

結果- ここに画像の説明を入力してください

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

0

ターミナル(ubuntu)で次のコマンドを実行して、Pendriveに書き込み許可を与えます。

  1. df -Th
  2. umount /media/madusanka/KINGSTON

    • 「/ media / madusanka / KINGSTON」は、最初のコマンドで指定された「マウントされた」値です
  3. sudo dosfsck -a /dev/sdb1

    • 「/ dev / sdb1」は、最初のコマンドで指定される「ファイルシステム」値です。
  4. パスワードを入力してください

  5. 新しいファイルを貼り付けるか作成して、Pendriveを確認します。

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