Dispositivi USB visualizzati in sola lettura


123

Sto usando Ubuntu 14.04.

Ho una chiavetta USB FAT32 da 8 GB e un HDD FAT32 da 500 GB; entrambi questi sono improvvisamente diventati dispositivi di sola lettura.

Ho provato a eliminare la directory all'interno /mediae quindi a crearla di nuovo, rinominandola, quindi concedendole le autorizzazioni complete. Tuttavia, questo non ha funzionato.

Risultati di 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)

Risultati di 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

Risultati di 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 

Test di scrittura USB:

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

Risultati di 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)

chown, quando montato? Come lo monti? Come radice? Auto-mount con automount del file manager?
davidbaumann,

Di solito collego le chiavette USB e poi si apre la finestra o è disponibile per me aprire e trascinare e rilasciare i file. Normalmente non utilizzo il terminale per nessuna copia o qualcosa del genere.
oodles2do

Collegare, aprire e aggiungere il risultato di per mountfavore.
davidbaumann,

Non intendo sembrare stupido, ma cosa intendi esattamente? Quale codice devo inserire nel terminale? Se è questo che intendi fare. Grazie!
oodles2do

mountesattamente;)
davidbaumann il

Risposte:


249

Vedi questo bug .

Esegui questo comando per uccidere Nautilus (File):

killall nautilus

45
Wow, non posso credere che abbia funzionato
JeD

11
Sarò dannato, funziona ahah
Tek,

6
Sto usando nemo, quindi l'ho fatto killall nemoe funziona.
Oki Erie Rinaldi,

14
È triste che funzioni ancora nel 2018 (Ubuntu 16.04.3 LTS)
Andrew,

2
La soluzione più strana che abbia mai visto. Funziona ancora su Ubuntu 18.04
CodeMonkey,

74

Quando si collega la chiave USB al laptop:

  • esegui sudo -i(in modo da non digitare sempre la password)
  • corri df -Th(per vedere dove è montata la tua chiavetta USB)
  • smontare la chiavetta USB
  • esegui dosfscksul dispositivo che hai visto dal tuo comando precedente. Esempio:dosfsck /dev/sdc1
  • rimuovere e ricollegare la chiavetta USB

Il problema dovrebbe essere risolto ora.

Ora, per il tuo HDD, segui la risposta a questa domanda . Si tratta di un HDD esterno ma è la stessa cosa per il tuo caso.


1
Grazie per l'aiuto! Ho provato a fare quello che hai detto, digitando umount / dev / sdb1 è corretto per smontare la mia chiavetta USB? Inoltre, non so come usare dosfsck. Grazie anche per il link
oodles2do

3
@SimonBremford se la tua USB è montata /dev/sdb1ovviamente il tuo comando è giusto. Per l'altra domanda, basta digitare:dosfsck -a /dev/sdb1

23
Grazie per il tuo aiuto, tuttavia non ha funzionato. La chiavetta USB è di sola lettura. Penso che sia un problema con Ubuntu piuttosto che con la chiavetta USB stessa, visto che è stato così improvviso. E il fatto che ha interessato più di un dispositivo USB contemporaneamente.
oodles2do

3
A volte la cosa più semplice da fare è riavviare
Gayan Weerakutti,

2
Sarebbe utile aggiungere alla risposta che un riavvio è effettivamente necessario.
Artem Pelenitsyn,

20

Ho avuto lo stesso errore quando ho usato GParted per impostare la tabella delle partizioni e formattare la mia chiavetta USB .. dopo che tutte le unità USB sono andate in "sola lettura".

Ma la copia sotto radice funzionava bene ...

Il problema era scomparso dopo il riavvio della macchina. Quindi immagino che questo problema possa verificarsi quando si utilizza GParted.


Vedi la soluzione funzionante di seguito pubblicata da Serranoe il mio commento al riguardo. Anche per me l'origine è venuta dall'uso GPated...
Antonio,

16

Ho avuto anche questo problema. Ho avuto un errore durante la copia sulla mia chiavetta USB, sto usando Mint 17.1 cinnamon, kernel 3.13.0-43 con caja file manager.

Quando ho guardato la directory multimediale nel terminale 'dir / media' ho visto che il layout è cambiato, normalmente ti aspetti di vedere le unità elencate qui, ma ora sono elencate sotto il tuo nome utente e indovina un po '? Quel nome utente ha solo autorizzazioni ROOT.

Quello che ho fatto è stato digitare

sudo chown [username] /media/[username]

e

sudo chgrp [username] /media/[username]

dove sostituisci [nome utente] con il tuo nome utente, rimuovi la chiavetta USB, attendi e rimetti, problema risolto, ora posso scrivergli!


Per me ha sudo chown [username] /media/[username]funzionato bene. Non ho nemmeno dovuto estrarre e inserire la chiavetta USB (né ne avevo bisogno chgrp- sono su Xubuntu 16.04)
Nicolas

Grazie per la tua risposta .. questa dovrebbe essere la risposta accettata, dal momento che non c'è davvero un problema con il supporto stesso ma con il punto di montaggio.
agim

chown può anche cambiare il gruppo, chown [username]:[groupname] filesequivale a correre chowne quindi chgrp. Vediman chown
Xen2050,

1
@ Xen2050, ancora meglio è che chown [username]: files`chown`` verrà impostato automaticamente sul gruppo di accesso degli utenti.
Lucas,

@Lucas grazie che è meglio. È abilmente nascosto nella manpagina, ma visibile nella infopagina [sarebbe davvero bello se le pagine man e info corrispondessero ...]
Xen2050,

11

Ho avuto lo stesso problema su Ubuntu, e nessuna delle risposte fornite finora ha funzionato per me. Ecco cosa ho provato:

  • Formatta il dispositivo usando GParted. Ho anche provato a ricreare la tabella delle partizioni, senza successo.
  • Controllare il dispositivo con fsck. Nessun problema riscontrato.
  • Risolti i permessi del punto di montaggio. Si scopre che il punto di montaggio era di proprietà di root, ma anche dopo essermi reso proprietario, ho potuto scrivere sul dispositivo solo dalla riga di comando (non riuscivo ancora a creare file dalla GUI).

Quando collego una chiavetta USB, questa viene montata sotto /media/<username>/<label>/, dove si <username>trova il mio nome utente ed <label>è l'etichetta della chiavetta USB o del dispositivo di archiviazione.

Ho guardato di nuovo le autorizzazioni:

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

Si noti che +alla fine delle autorizzazioni. È nuovo per me e non l'ho mai notato prima. Significa che la directory ha esteso le autorizzazioni chiamate Access Control List (ACL) (vedi questa domanda correlata ). Ho elencato i dettagli ACL per questa directory:

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

Come puoi vedere, c'è una voce aggiuntiva user:<username>:r-xper il mio nome utente, che mi dà solo accesso in lettura. Ho risolto questo problema con un semplice comando:

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

Ho staccato il mio devide USB, l'ho collegato di nuovo e il problema è stato risolto.


1
OK. Grazie, questa era la soluzione. Tuttavia, alla fine è necessario restart your computerper avere pieno accesso al mounted USBs. Un altro punto vale la pena credo, questo problema si è verificato dopo creating a new gpt partition tableuna USB stickcon GParted. Successivamente sono stati interessati tutti i miei USB. Sicuramente i ragazzi GParteddovrebbero comportarsi diversamente ...
Antonio

9

Ho formattato usando Gparted. Ciò ha cancellato tutti i dati sul disco e si è scoperto che ha anche risolto il problema.


1
Sì, funziona. È necessario creare una nuova tabella di partiton come msdostipo, quindi creare una grande parititon con fat32.
vskubriev,

1
Penso che questa risposta sia un troncone. Per favore, espanderlo.
Léo Léopold Hertz

6

Quando hai eseguito mountsolo sda5 (tuo /) è stato montato, ed era read-write ( rw), quindi dovresti essere in grado di scrivere su di esso. Normalmente, la maggior parte delle directory come /sys, /binsono scrivibili solo da root (dovresti sudoprima), ma la tua cartella home dovrebbe essere scrivibile per il tuo utente normale.

Puoi creare file nella tua cartella home? Forse il tuo file manager gui è bloccato pensando che siano di sola lettura, se provi in ​​un terminale funziona? Ad esempio, questi comandi funzionano ?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

Se funzionano correttamente, puoi scrivere sul tuo HD (sda5).


Per l'unità USB, dopo che è stata collegata e montata, cerca mountdi trovarla (la /dev/sdb1 ...linea) e vedi se l'opzione di montaggio in ()'s è rw(lettura-scrittura), quindi dovresti essere in grado di scrivere su di essa. Se è ro(sola lettura) prova questo e vedi se cambia:

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

Se il filesystem (fs) ha degli errori, potrebbe essere montato come ro, ci dovrebbero essere messaggi su di esso in dmesg& /var/log/syslogtoo. Ecco cosa mostrano i tuoi registri:

[  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

Ciò include un indizio su come la fs avrebbe potuto essere corrotta - "non correttamente smontata", dovresti sempre smontare prima di scollegare qualsiasi cosa. La maggior parte dei file manager ha un "espulsione" per aiutarlo.

Il dmesgregistro dice anche come risolverlo: fsckpuò provare a correggere gli errori fs, tenta di scegliere il programma di controllo giusto, oppure puoi sceglierne uno esplicitamente con fsck.vfato fsck.[other]premendo TABdopo fsck.dovrebbe elencare le opzioni.

  • Per un sistema FAT (spesso è necessario eseguirlo due volte, non sempre correggere tutti gli errori la prima volta)
    • fsck.vfat -vaV [device] dovrebbe funzionare automaticamente (-a) e visualizzare più informazioni (-v) ed eseguire un passaggio di "verifica" (-V), o semplicemente:
    • fsck.vfat -a [device]

NOTA : Questo non garantisce che il filesystem rimarrà fisso, potrebbe corrompersi di nuovo e potrebbe essere impossibile sapere esattamente perché. Smontare / "espellere" sempre prima di rimuovere le unità USB.

Nota se un fs si monta comerw , ma poi vengono visualizzati degli errori e viene rimontato automaticamente comero , il comando mount potrebbe comunque segnalare che è montatorw . Guardare questo file con less /proc/mountsdovrebbe di solito mostrare informazioni più affidabili (vedi man mount).


Se qualcosa è montato rwma non riesci ancora ad aggiungere / eliminare / modificare file, potresti non essere il proprietario dei file. In alcuni fs puoi chowndiventare il proprietario, ma un fAT32 come su sdb1 non ha questi permessi; sono impostati quando si monta con l'opzione mount uid=value(il valore è il tuo userid, imparalo con echo $UIDo id -u) quindi puoi provare questo e vedere se funziona in seguito:

sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • Nota: a volte, potrebbe essere necessario riavviare il file manager gui per farlo "notare" la modifica del mount che ti permette di scrivere sul filesystem / drive, ma un terminale dovrebbe sempre funzionare.

Oppure, se quanto sopra non funziona, provare sudo sua "diventare" root, per vedere se qualcosa può scrivere file sul USB (con touch, echoecc)?


Grazie per la tua risposta, ho eseguito i comandi newfile001 e ho ricevuto "roba" come risposta. Inoltre, dal comando mount c'è rw nella staffa per la chiavetta USB, quindi dovrei essere in grado di leggere-scrivere su di esso. Ho appena provato i comandi alla fine della tua risposta ma non ha funzionato, è ancora un dispositivo di sola lettura.
oodles2do

Almeno l'HD funziona ... USB dovrebbe essere scrivibile ... se ti trovi cdin una cartella USB, puoi scrivere file con echo stuff >> newusbfileo simili? Oppure echo stuff | sudo tee newusbfile? O prima corri sudo super "diventare" root, poi l'eco, il gatto, ecc.?
Xen2050,

Come si eseguono i comandi cd nella cartella USB? Penso di averlo appena fatto in / media / simon e ha funzionato, ma l'USB è / media / simon / LYDIA
oodles2do

Se l'USB non è montato, allora / media / simon / LYDIA è solo una cartella vuota (se è anche lì). Dopo che è montato puoi vedere dove si trova la cartella montata con mounto lsblk, quindi cd mounted_foldere provare a scrivere file mkdir, ecc ... e sudo suvedere se puoi scrivere anche come root ...
Xen2050

Grazie per tutto il vostro aiuto, ho appena provato a scrivere un file nel file USB ma non ha funzionato, dice che è un file system di sola lettura. Ho aggiunto il codice alla domanda in modo da poter vedere cosa ho fatto.
oodles2do

4

Vai a dischi .

Seleziona la tua unità USB.

Fai clic su Opzioni di partizione aggiuntive e seleziona Formatta partizione .

Quindi selezionare Cancella Sovrascrivi i dati esistenti con zero (lento) e digitare FAT .

Ho provato molte cose dopo aver cercato su internet ma questo ha funzionato per me.


1
Questo cancellerà tutti i dati sul disco.
cst1992,

Cosa succede se ho bisogno di NTFS? Lo stesso per NTFS non ha funzionato per me.
Vadim Kotov,


0

Metodi di correzione rapida:

Metodo 1

A volte possiamo svolgere il compito da bash senza problemi che di solito faccio (nessun sudo richiesto)

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

Tuttavia, a volte, quando devo usare il browser dei file,

sudo nautilus /media/$USER/mydrive/

Nota: questa è una soluzione rapida, usala solo se sei frustrato perché nessuna altra risposta sopra ha funzionato

Metodo 2

Riavvia il sistema operativo


0

prova sotto le strategie

  1. modifica /etc/fuse.conf come superutente

    cambia #user_allow_otherinuser_allow_other

  2. abilitare il supporto di scrittura per dispositivi esterni

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

0

Questo perché il tuo file system è NTFS ed è in uno stato non sicuro, forse stai usando il tuo disco in Windows, uno dei motivi è che hai ibernato le finestre o riavviato rapidamente., Quindi usa uno di questi passaggi:

  1. smonta il supporto utilizzando il comando seguente, vai a Windows (forse in modalità Dual boot o forse in un altro computer) e spegni completamente Windows, non ibernare o riavviare rapidamente,

    sudo umount /media/"your media label"

quindi vieni di nuovo su Linux e monta i tuoi media usando questo comando:

'sudo mount -o rw,mount /your media'
  1. se stai usando macOs, collega i tuoi media al tuo dispositivo mac e usa questo comando:

    'sudo / usr / sbin / diskutil disableJournal / Volumes / name-of-media'


0

Tutto ciò che serve è seguire 3 comandi.

  1. df -Th

risultato - inserisci qui la descrizione dell'immagine

  1. umount /media/user/KINGSTON (questo è mount on path)
  2. dosfsck -a /dev/sdb1 (questo è il percorso del filesystem)

0

Esegui i seguenti comandi sul terminale (ubuntu) per dare il permesso di scrittura a un Pendrive.

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

    • "/ media / madusanka / KINGSTON" è il valore "Montato su" che viene dato dal primo comando
  3. sudo dosfsck -a /dev/sdb1

    • "/ dev / sdb1" è il valore "Filesystem" che viene dato dal primo comando.
  4. Inserisci la tua password

  5. Controlla Pendrive incollando o creando un nuovo file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.