USB-Geräte werden als schreibgeschützt angezeigt

122

Ich benutze Ubuntu 14.04.

Ich habe einen 8-GB-FAT32-USB-Stick und eine 500-GB-FAT32-Festplatte. Beide sind plötzlich schreibgeschützte Geräte geworden.

Ich habe versucht, das darin enthaltene Verzeichnis zu löschen /media, es dann erneut zu erstellen, umzubenennen und diesem Verzeichnis dann die vollständigen Berechtigungen zu erteilen. Dies hat jedoch nicht funktioniert.

Ergebnisse von 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)

Ergebnisse von 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

Ergebnisse von 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-Schreibtest:

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

Ergebnisse von 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)
oodles2do
quelle
wenn montiert? Wie montierst du es? Als root? Auto-Mount mit dem Auto-Mount des Dateimanagers?
Davidbaumann
Normalerweise stecke ich die USB-Sticks ein und dann öffnet sich entweder das Fenster oder es steht mir zum Öffnen und Ziehen und Ablegen von Dateien zur Verfügung. Normalerweise benutze ich das Terminal nicht zum Kopieren oder ähnliches.
oodles2do
Plug-in, öffnen und fügen Sie das Ergebnis mountbitte.
Davidbaumann
Ich will nicht dumm klingen, aber was genau meinst du damit? Welchen Code soll ich in das Terminal eingeben? Wenn es das ist, worauf du hinaus willst. Danke!
oodles2do
mountgenau;)
Davidbaumann

Antworten:

248

Siehe diesen Fehler .

Führen Sie diesen Befehl aus, um Nautilus (Dateien) zu beenden:

killall nautilus
wie in der Zukunft
quelle
45
Wow, ich kann nicht glauben, dass das funktioniert hat
JeD 22.10.17
11
Ich werde verdammt sein, das funktioniert haha
Tek
6
Ich benutze nemo, also habe ich killall nemound es funktioniert.
Oki Erie Rinaldi
14
Es ist traurig, dass das im Jahr 2018 noch funktioniert (Ubuntu 16.04.3 LTS)
Andrew
2
Seltsamste Lösung, die ich gesehen habe. Funktioniert immer noch auf Ubuntu 18.04
CodeMonkey
74

Wenn Sie Ihren USB-Stick an Ihren Laptop anschließen:

  • run sudo -i(damit du dein Passwort nicht die ganze Zeit eingibst)
  • run df -Th(um zu sehen, wo dein USB-Stick hängt)
  • Trennen Sie Ihren USB-Stick
  • laufen dosfsckauf dem Gerät, das Sie von Ihrem vorherigen Befehl gesehen haben. Beispiel:dosfsck /dev/sdc1
  • Entfernen Sie den USB-Stick und schließen Sie ihn erneut an

Problem sollte jetzt gelöst sein.

Befolgen Sie nun für Ihre Festplatte die Antwort auf diese Frage . Es geht um eine externe Festplatte, aber für Ihren Fall ist es dasselbe.

Gemeinschaft
quelle
1
Danke für Ihre Hilfe! Ich habe versucht, das zu tun, was Sie gesagt haben. Ist die Eingabe von umount / dev / sdb1 für das Abmelden meines USB-Sticks korrekt? Außerdem weiß ich nicht, wie man Dosfsck benutzt. Danke auch für den Link
oodles2do
3
@SimonBremford wenn dein USB angeschlossen ist ist /dev/sdb1dein Befehl natürlich richtig. dosfsck -a /dev/sdb1
23
Vielen Dank für Ihre Hilfe, aber es hat nicht funktioniert. Der USB-Stick ist nur noch lesbar. Ich denke, es ist eher ein Problem mit Ubuntu als mit dem USB-Stick selbst, da es so plötzlich war. Und die Tatsache, dass es mehr als ein USB-Gerät gleichzeitig betrifft.
oodles2do
3
Manchmal ist es am einfachsten, neu zu starten
Gayan Weerakutti
2
Es wäre nützlich, der Antwort hinzuzufügen, dass tatsächlich ein Neustart erforderlich ist.
Artem Pelenitsyn
20

Ich habe die gleiche Fehlermeldung erhalten, als ich GParted zum Einstellen der Partitionstabelle und zum Formatieren meines USB-Sticks verwendet habe. Danach gingen alle USB-Laufwerke auf "Nur Lesen".

Aber unter root hat das Kopieren prima geklappt ...

Das Problem wurde nach dem Neustart des Computers behoben. Ich vermute also, dass dieses Problem bei der Verwendung von GParted auftreten kann.

Koyot
quelle
Siehe die unten stehende funktionierende Lösung von Serranound meinen Kommentar dazu. Auch für mich kam der Ursprung mit GPated...
Antonio
16

Ich hatte auch dieses Problem. Beim Kopieren auf meinen USB-Stick ist ein Fehler aufgetreten. Ich verwende Mint 17.1 Cinnamon, Kernel 3.13.0-43 mit caja file manager.

Als ich mir das Medienverzeichnis im Terminal 'dir / media' ansah, stellte ich fest, dass sich das Layout geändert hat. Normalerweise erwarten Sie, dass die hier aufgelisteten Laufwerke angezeigt werden, aber jetzt sind sie unter Ihrem Benutzernamen aufgeführt. Dieser Benutzername hat nur ROOT-Berechtigungen.

Was ich tat, war zu tippen

sudo chown [username] /media/[username]

und

sudo chgrp [username] /media/[username]

wo du [username] durch deinen benutzernamen ersetzst, den usb stick entfernst, wartest und dann wieder einsteckst, problem gelöst, kann ich jetzt darauf schreiben!

Hillsongperth
quelle
Bei mir hat das sudo chown [username] /media/[username]prima geklappt. Ich musste nicht einmal den USB-Stick aus- und einstecken (noch brauchte ich chgrp- ich bin auf Xubuntu 16.04)
Nicolas
Vielen Dank für Ihre Antwort. Dies sollte die akzeptierte Antwort sein, da es kein wirkliches Problem mit dem Medium selbst gibt, sondern mit dem Montagepunkt.
am
chown kann auch die Gruppe wechseln, chown [username]:[groupname] filesist gleichbedeutend mit running chownund then chgrp. Sieheman chown
Xen2050
1
@ Xen2050, noch besser ist, chown [username]: filesda "chown" standardmäßig die Anmeldegruppe des Benutzers ist.
Lucas
@ Lucas danke das ist besser. Es ist geschickt in der manSeite versteckt , aber sichtbar auf der infoSeite [wäre sehr schön, wenn man & Infoseiten übereinstimmen ...]
Xen2050
11

Ich habe unter Ubuntu das gleiche Problem gehabt und keine der hier gegebenen Antworten hat für mich funktioniert. Folgendes habe ich versucht:

  • Formatieren Sie das Gerät mit GParted. Ich habe sogar erfolglos versucht, die Partitionstabelle neu zu erstellen.
  • Überprüfen Sie das Gerät mit fsck. Es wurden keine Probleme gefunden.
  • Die Berechtigungen des Einhängepunkts wurden korrigiert. Es stellte sich heraus, dass der Mount-Punkt im Besitz von root war, aber selbst nachdem ich mich selbst zum Besitzer gemacht hatte, konnte ich nur über die Befehlszeile auf das Gerät schreiben (ich konnte immer noch keine Dateien über die GUI erstellen).

Wenn ich einen USB - Stick anschließen, wird es angebracht unter /media/<username>/<label>/, wo <username>ist mein Benutzername und <label>das Etikett der USB - Sticks oder Speichergerätes.

Ich habe mir nochmal die Berechtigungen angeschaut:

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

Beachten Sie die +am Ende der Berechtigungen. Das ist neu für mich und ich habe es noch nie bemerkt. Dies bedeutet, dass das Verzeichnis erweiterte Berechtigungen hat, die als Zugriffssteuerungsliste (Access Control List, ACL) bezeichnet werden (siehe diese verwandte Frage ). Ich habe die ACL-Details für dieses Verzeichnis aufgelistet:

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

Wie Sie sehen, gibt es user:<username>:r-xfür meinen Benutzernamen einen zusätzlichen Eintrag , der mir nur Lesezugriff gewährt. Ich habe das mit einem einfachen Befehl behoben:

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

Ich habe mein USB-Gerät getrennt und erneut angeschlossen, und das Problem wurde behoben.

Serrano
quelle
1
OKAY. Danke, das war die Lösung. Am Ende müssen Sie jedoch, restart your computerum vollen Zugriff auf die zu haben mounted USBs. Ein weiterer Punkt, den es meiner Meinung nach wert ist, dieses Problem trat auf, nachdem creating a new gpt partition tableein USB stickmit GParted. Anschließend waren alle meine USBs betroffen. Auf jeden Fall GPartedsollten sich die Jungs bei anders verhalten ...
Antonio
9

Ich habe mit Gparted formatiert. Das löschte alle Daten auf der Festplatte und es stellte sich heraus, dass es auch das Problem behoben hat.

Adrian Lopez
quelle
1
Ja, das funktioniert. Sie müssen eine neue Partitionstabelle als msdosTyp erstellen und dann mit fat32 eine große Partition erstellen.
Vskubriev
1
Ich denke, diese Antwort ist ein Stummel. Bitte erweitern Sie es.
Léo Léopold Hertz 준영
6

Wenn Sie ausgeführt haben, wurde mountnur sda5 (Ihr /) eingehängt, und es war read-write ( rw), so dass Sie in der Lage sein sollten, darauf zu schreiben. Normalerweise ist die meisten der Verzeichnisse wie /sys, /binsind nur beschreibbar durch root (Sie müssen sudozuerst), aber Ihre Home - Ordner sollten Sie mit Ihrem normalen Benutzer beschreibbar sein.

Können Sie irgendwelche Dateien in Ihrem Home-Ordner erstellen? Vielleicht steckt Ihr GUI-Dateimanager fest und denkt, dass er schreibgeschützt ist. Wenn Sie es in einem Terminal versuchen, funktioniert es? Funktionieren diese Befehle beispielsweise ?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

Wenn diese erfolgreich funktionieren, können Sie auf Ihre Festplatte (sda5) schreiben.


Wenn das USB-Laufwerk eingesteckt und gemountet ist, suchen mountSie es (die /dev/sdb1 ...Zeile) und prüfen Sie, ob die Mount-Option in der ()ist rw(Lese- / Schreibzugriff), dann sollten Sie in der Lage sein, darauf zu schreiben. Wenn dies ro(schreibgeschützt) ist, probieren Sie es aus und prüfen Sie, ob es sich ändert:

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

Wenn das Dateisystem (fs) Fehler aufweist, wird es möglicherweise wie folgt eingebunden: roIn dmesg& sollte es auch Meldungen darüber geben /var/log/syslog. In Ihren Protokollen wird Folgendes angezeigt:

[  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

Dazu gehört auch ein Hinweis darauf, wie die fs möglicherweise beschädigt wurden - "nicht ordnungsgemäß abgemeldet". Sie sollten immer abmelden, bevor Sie den Stecker abziehen. Die meisten Dateimanager haben ein "Auswerfen", um dies zu unterstützen.

Das dmesgProtokoll sagt auch, wie es behoben werden kann: Es fsckkann versuchen, fs-Fehler zu beheben, es versucht, das richtige Prüfprogramm auszuwählen, oder Sie können explizit eines auswählen, indem Sie auf fsck.vfatoder fsck.[other]drücken, TABnachdem fsck.die Optionen aufgelistet werden sollen.

  • Für ein FAT-System (muss oft zweimal ausgeführt werden, behebt nicht immer alle Fehler beim ersten Mal)
    • fsck.vfat -vaV [device] sollte automatisch funktionieren (-a) und weitere Informationen anzeigen (-v) und einen "Verifizierungs" -Pass durchführen (-V), oder einfach:
    • fsck.vfat -a [device]

HINWEIS : Dies garantiert nicht, dass das Dateisystem repariert bleibt, es könnte wieder beschädigt werden und es ist möglicherweise unmöglich, genau zu wissen, warum. Immer aushängen / "auswerfen", bevor USB-Laufwerke entfernt werden.

Beachten Sie , dass der Befehl mount möglicherweise weiterhin meldet, dass eine fs gemountet istrw , aber dann Fehler angezeigt werden und automatisch erneut rogemountet wirdrw . Das Betrachten dieser Datei mit less /proc/mountssollte normalerweise zuverlässigere Informationen enthalten (siehe man mount).


Wenn etwas gemountet ist rw, Sie jedoch weiterhin keine Dateien hinzufügen / löschen / bearbeiten können, sind Sie möglicherweise nicht der Eigentümer der Dateien. In einigen Fs können Sie chownEigentümer werden, aber eine FAT32-Fs wie in sdb1 verfügt nicht über diese Berechtigungen. Sie werden gesetzt, wenn es mit der mount-Option gemountet wird uid=value(Wert ist Ihre Benutzer-ID, lernen Sie es mit echo $UIDoder id -u). Dann können Sie dies versuchen und sehen, ob es danach funktioniert:

sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • Hinweis: Manchmal müssen Sie Ihren GUI-Dateimanager neu starten, damit er die Mount-Änderung "bemerkt", mit der Sie auf das Dateisystem / Laufwerk schreiben können. Ein Terminal sollte jedoch immer funktionieren.

Oder wenn die oben nicht funktioniert, versuchen Sie sudo suzu root „werden“, um zu sehen , ob etwas zu Dateien auf dem USB schreiben kann (mit touch, echousw.)?

Xen2050
quelle
Vielen Dank für Ihre Antwort, ich habe die newfile001-Befehle ausgeführt und als Antwort "stuff" erhalten. Außerdem befindet sich vom Befehl mount rw in der Halterung für den USB-Stick, sodass ich in der Lage sein sollte, darauf zu lesen und zu schreiben. Ich habe gerade die Befehle am Ende Ihrer Antwort ausprobiert, aber es hat nicht funktioniert, es ist immer noch ein schreibgeschütztes Gerät.
oodles2do
Zumindest funktioniert die Festplatte ... USB sollte beschreibbar sein ... können Sie cdin einem USB-Ordner Dateien mit echo stuff >> newusbfileoder ähnlichem schreiben ? Oder echo stuff | sudo tee newusbfile? Oder erst laufen sudo su, um root zu werden, dann das Echo, die Katze usw.?
Xen2050
Wie mache ich die CD-Befehle in den USB-Ordner? Ich glaube, ich habe es gerade in / media / simon gemacht und es hat funktioniert, aber der USB ist / media / simon / LYDIA
oodles2do
Wenn der USB nicht gemountet ist, ist / media / simon / LYDIA nur ein leerer Ordner (wenn er überhaupt vorhanden ist). Nachdem es angebracht ist können Sie sehen , wo es angebracht Ordner mit ist mountoder lsblkdann cd mounted_folderund versuchen , Dateien zu schreiben, mkdiretc ... und wie sudo suzu sehen , ob Sie auch als root schreiben kann ...
Xen2050
Vielen Dank für all Ihre Hilfe. Ich habe gerade versucht, eine Datei in die USB-Datei zu schreiben, aber es hat nicht funktioniert. Es heißt, es ist ein schreibgeschütztes Dateisystem. Ich habe der Frage den Code hinzugefügt, damit Sie sehen können, was ich getan habe.
oodles2do
4

Gehe zu Festplatten .

Wählen Sie Ihr USB-Laufwerk.

Klicken Sie auf Zusätzliche Partitionsoptionen und wählen Sie Partition formatieren .

Wählen Sie dann Löschen Vorhandene Daten mit Nullen überschreiben (langsam) und geben Sie FAT ein .

Ich habe nach der Suche im Internet viele Dinge ausprobiert, aber das hat bei mir funktioniert.

Mahmud
quelle
1
Dadurch werden alle Daten auf dem Laufwerk gelöscht.
cst1992
Was ist, wenn ich NTFS brauche? Das gleiche für NTFS hat bei mir nicht funktioniert.
Vadim Kotov
0

Schnellkorrekturmethoden:

Methode 1

Manchmal können wir die Aufgabe von der Bash ohne Probleme erledigen, die ich normalerweise mache (kein Sudo erforderlich)

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

Manchmal jedoch, wenn ich den Dateibrowser verwenden muss,

sudo nautilus /media/$USER/mydrive/

Hinweis: Dies ist eine schnelle Lösung. Verwenden Sie sie nur, wenn Sie frustriert sind, weil keine der oben genannten Antworten funktioniert hat

Methode 2

Starten Sie das Betriebssystem neu

Thamme Gowda
quelle
0

Versuche die folgenden Strategien

  1. Bearbeiten Sie /etc/fuse.conf als Superuser

    wechseln #user_allow_otherzuuser_allow_other

  2. Aktivieren Sie die Schreibunterstützung für externe Geräte

    • sudo apt-get install ntfs-config
    • sudo ntfs-config
Oshan Wisumperuma
quelle
0

Dies liegt daran, dass Ihr Dateisystem NTFS ist und sich in einem unsicheren Status befindet. Möglicherweise verwenden Sie Ihre Festplatte in Windows. Einer der Gründe ist, dass Sie die Fenster in den Ruhezustand versetzt oder schnell neu gestartet haben. Führen Sie daher einen der folgenden Schritte aus:

  1. Hängen Sie den Datenträger mit dem folgenden Befehl aus, wechseln Sie zu Windows (möglicherweise im Dual-Boot-Modus oder auf einem anderen Computer) und fahren Sie die Fenster vollständig herunter.

    sudo umount /media/"your media label"

Komme dann wieder zu Linux und mounte deine Medien mit dem folgenden Befehl:

'sudo mount -o rw,mount /your media'
  1. Wenn Sie MacOs verwenden, schließen Sie Ihre Medien an Ihr Mac-Gerät an und verwenden Sie diesen Befehl:

    'sudo / usr / sbin / diskutil disableJournal / Bände / Medienname'

Nima Ghoroubi
quelle
0

Sie müssen lediglich drei Befehlen folgen.

  1. df -Th

Ergebnis - Bildbeschreibung hier eingeben

  1. umount /media/user/KINGSTON (Dies ist Mount on Path)
  2. dosfsck -a /dev/sdb1 (Dies ist der Dateisystempfad)
Mahendra Pratap
quelle
0

Führen Sie die folgenden Befehle auf dem Terminal (ubuntu) aus, um einem Pendrive die Schreibberechtigung zu erteilen.

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

    • "/ media / madusanka / KINGSTON" ist der Wert "Mounted on", der durch den ersten Befehl angegeben wird
  3. sudo dosfsck -a /dev/sdb1

    • "/ dev / sdb1" ist der "Dateisystem" -Wert, der durch den ersten Befehl angegeben wird.
  4. Geben Sie Ihr Passwort ein

  5. Überprüfen Sie das Pendrive, indem Sie eine neue Datei einfügen oder erstellen.

Shirantha Madusanka
quelle