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)
USBキーをラップトップに接続する場合:
Sudo -i
を実行します(常にパスワードを入力しないようにします)df -Th
を実行します(USBスティックがマウントされている場所を確認します)dosfsck
を実行します。例:dosfsck /dev/sdc1
今すぐ問題を解決する必要があります。
さて、あなたのHDDについては、これに対する答えに従ってください 質問 。外付けHDDについてですが、あなたの場合も同じです。
GPartedを使用してパーティションテーブルを設定し、USBスティックをフォーマットすると、同じエラーが発生しました。その後、すべてのUSBドライブが「読み取り専用」になりました。
しかし、ルートコピーでは正常に動作しました...
マシンの再起動後に問題はなくなりました。したがって、GPartedを使用すると、この問題が発生する可能性があります。
私もこの問題を抱えていました。 usbスティックへのコピー中にエラーが発生しました。Mint17.1 cinnamon、カーネル3.13.0-43とcajaファイルマネージャを使用しています。
ターミナル 'dir/media'のメディアディレクトリを見ると、レイアウトが変更されていることがわかりました。通常、ここにリストされているドライブが表示されるはずですが、ユーザー名の下にリストされます。そのユーザー名にはROOT権限しかありません。
入力したのは
Sudo chown [username] /media/[username]
そして
Sudo chgrp [username] /media/[username]
[ユーザー名]をユーザー名に置き換え、USBスティックを取り外し、待ってから元に戻すと、問題が解決したので、書き込みができます。
Ubuntuでも同じ問題を抱えていますが、ここで挙げた答えはどれもうまくいきませんでした。ここに私が試したものがあります:
fsck
でデバイスを確認します。問題は見つかりませんでした。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デバイスを取り外し、再度接続すると、問題は解決しました。
Gpartedを使用してフォーマットしました。これでディスク内のすべてのデータが消去され、問題も解決されたことがわかりました。
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.
の後にオプションをリストする必要があります。
fsck.vfat -vaV [device]
は自動的に動作し(-a)&より多くの情報を表示し(-v)& "検証"パスを実行します(-V)、または単に:fsck.vfat -a [device]
NOTE:これは、ファイルシステムが修正されたままになることを保証するものではなく、再び破損する可能性があり、正確な理由を知ることは不可能かもしれません。 USBドライブを取り外す前に、常にアンマウント/「イジェクト」してください。
注 fsの場合rw
としてマウント、ただしエラーが発生して取得されるro
として自動的に再マウント、マウントコマンドはまだマウントされていると報告します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
または、上記が機能しない場合、Sudo su
を試してルートになり、USB上のファイルに何か書き込むことができるかどうかを確認します(touch
、echo
など)。
Goto ディスク 。
USBドライブを選択します。
追加のパーティションオプションをクリックし、パーティションのフォーマットを選択します。
次に、消去を選択し、既存のデータをゼロで上書き(遅い)し、タイプFAT。
私はインターネットで検索した後、多くのことを試しましたが、これは私のために働いた。
wayofthefutureの答え のように、Nemoを使用している場合(私のように、Cinnamonデスクトップ環境を使用している場合)、試してください:
killall nemo
これは、ファイルシステムがNTFSであり、安全でない状態にあるためです。Windowsでディスクを使用している可能性があります。その理由の1つは、Windowsを休止状態または高速再起動したためです。したがって、次のいずれかの手順を使用します。
以下のコマンドを使用してメディアをアンマウントし、ウィンドウ(デュアルブートモードまたは別のコンピューターの場合があります)に移動して、休止状態または高速再起動ではなく、ウィンドウを完全にシャットダウンします。
Sudo umount /media/"your media label"
その後、再度Linuxにアクセスし、次のコマンドを使用してメディアをマウントします。
'Sudo mount -o rw,mount /your media'
macOsを使用している場合、メディアをMacデバイスに接続し、次のコマンドを使用します。
「Sudo/usr/sbin/diskutil disableJournal/Volumes/name-of-media」
以下の戦略を試してください
/etc/Fuse.confをスーパーユーザーとして編集します
#user_allow_other
をuser_allow_other
に変更します
外部デバイスの書き込みサポートを有効にします
Sudo apt-get install ntfs-config
Sudo ntfs-config
時々私は通常私が行うトラブルなしにbashからタスクを達成することができます(Sudoは必要ありません)
mkdir /media/$USER/mydrive/myfolder
cp -r src/ /media/$USER/mydrive/myfolder
ただし、ファイルブラウザを使用する必要がある場合、
Sudo nautilus /media/$USER/mydrive/
注:これは簡単な修正です。上記の他の回答が機能しなかったためにイライラする場合にのみ使用してください
OSを再起動