Périphériques USB affichés en lecture seule


123

J'utilise Ubuntu 14.04.

J'ai une clé USB 8gb FAT32 et un disque dur FAT32 500gb; les deux sont soudainement devenus des périphériques en lecture seule.

J'ai essayé de supprimer le répertoire à l'intérieur /media, puis de le créer à nouveau, de le renommer, puis de lui attribuer toutes les autorisations. Cependant, cela n'a pas fonctionné.

Résultats de 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)

Résultats de 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

Résultats de 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 d'écriture USB:

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

Résultats de 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, quand monté Comment le montes-tu? En tant que root? Monter automatiquement avec le montage automatique du gestionnaire de fichiers?
davidbaumann

Je branche normalement les clés USB, puis la fenêtre s’ouvre ou il m'est possible d’ouvrir et de faire glisser des fichiers. Je n'utilise normalement pas le terminal pour effectuer des copies ou quoi que ce soit du genre.
oodles2do

Branchez, ouvrez et ajoutez le résultat de mounts'il vous plaît.
davidbaumann

Ne voulez pas paraître stupide, mais que voulez-vous dire exactement? Quel code dois-je mettre dans le terminal? Si c'est ce que vous voulez faire. Merci!
oodles2do

mountexactement;)
davidbaumann

Réponses:


249

Voir ce bug .

Exécutez cette commande pour tuer Nautilus (Fichiers):

killall nautilus

45
Wow, je ne peux pas croire que cela a fonctionné
JeD

11
Je serai damné, ça marche haha
Tek

6
J'utilise nemo, alors je l'ai fait killall nemoet ça marche.
Oki Erie Rinaldi

14
C'est triste que cela fonctionne encore en 2018 (Ubuntu 16.04.3 LTS)
Andrew

2
La solution la plus étrange que j'ai vue.
Fonctionne

74

Lorsque vous connectez votre clé USB à votre ordinateur portable:

  • courir sudo -i(pour ne pas taper ton mot de passe tout le temps)
  • lancez df -Th(pour voir où votre clé USB est montée)
  • démontez votre clé USB
  • exécuter dosfscksur le périphérique que vous avez vu de votre commande précédente. Exemple:dosfsck /dev/sdc1
  • retirer et rattacher votre clé USB

Le problème devrait être résolu maintenant.

Maintenant, pour votre disque dur, veuillez suivre la réponse à cette question . Il s’agit d’un disque dur externe, mais c’est la même chose pour votre cas.


1
Merci de votre aide! J'ai essayé de faire ce que vous avez dit: taper umount / dev / sdb1 est-il correct pour démonter ma clé USB? De plus, je ne sais pas comment utiliser dosfsck. Merci pour le lien aussi
oodles2do

3
@SimonBremford si votre clé USB est installée, /dev/sdb1bien sûr, votre commande est exacte . Pour votre autre question, tapez simplement:dosfsck -a /dev/sdb1

23
Merci pour votre aide, mais cela n'a pas fonctionné. La clé USB est en lecture seule encore. Je pense que c'est un problème avec Ubuntu plutôt que la clé USB elle-même, vu que c'était si soudain. Et le fait que cela affecte plus d'un périphérique USB en même temps.
oodles2do

3
Parfois, la chose la plus facile à faire est de redémarrer
Gayan Weerakutti

2
Il serait utile d'ajouter à la réponse qu'un redémarrage est effectivement nécessaire.
Artem Pelenitsyn

20

La même erreur s'est produite lors de l'utilisation de GParted pour définir la table de partition et formater ma clé USB. Après cela, tous les lecteurs USB sont passés en "lecture seule".

Mais sous la racine, la copie a bien fonctionné ...

Le problème avait disparu après le redémarrage de la machine. Je suppose donc que ce problème peut survenir lors de l’utilisation de GParted.


Voir la solution de travail ci-dessous publiée par Serranoet mon commentaire à ce sujet. Pour moi aussi, l'origine est venue de l'utilisation GPated...
Antonio

16

J'ai eu ce problème également. Une erreur est survenue lors de la copie sur ma clé USB. J'utilise Mint 17.1 Cinnamon, noyau 3.13.0-43 avec le gestionnaire de fichiers caja.

Lorsque j'ai consulté le répertoire de supports dans le terminal 'dir / media', j'ai constaté que la disposition avait changé. Normalement, vous vous attendez à voir les lecteurs répertoriés ici, mais à présent, ils sont répertoriés sous votre nom d'utilisateur, et devinez quoi? Ce nom d'utilisateur ne dispose que d'autorisations ROOT.

Ce que j'ai fait était de taper

sudo chown [username] /media/[username]

et

sudo chgrp [username] /media/[username]

où vous remplacez [nom d'utilisateur] par votre nom d'utilisateur, avez retiré la clé USB, attendu et ensuite remis le, problème résolu, je peux maintenant y écrire!


Pour moi sudo chown [username] /media/[username]a bien fonctionné. Je n'ai même pas eu à sortir le stick USB et à entrer (je n'en avais pas besoin chgrp- je suis sur Xubuntu le 16.04)
Nicolas

Merci pour votre réponse .. cela devrait être la réponse acceptée, car il n’ya pas vraiment de problème avec le support lui-même mais avec le point de montage.
Août

chown peut aussi changer le groupe, chown [username]:[groupname] filesest équivalent à courir chownet ensuite chgrp. Voirman chown
Xen2050

1
@ Xen2050, c'est encore mieux chown [username]: filespuisque `chown`` sera par défaut le groupe de connexion des utilisateurs.
Lucas

@ Lucas merci c'est mieux. Il est intelligemment caché dans la manpage, mais visible dans la infopage [ce serait vraiment bien si les pages man & info
étaient identiques

11

J'ai eu le même problème sur Ubuntu, et aucune des réponses données ici jusqu'ici n'a fonctionné pour moi. Voici ce que j'ai essayé:

  • Formatez le périphérique en utilisant GParted. J'ai même essayé de recréer la table de partition, sans succès.
  • Vérifiez l'appareil avec fsck. Aucun problème n'a été trouvé.
  • Correction des autorisations du point de montage. Il s'avère que le point de montage appartenait à la racine, mais même après en être devenu propriétaire, je ne pouvais écrire que sur le périphérique à partir de la ligne de commande (je ne pouvais toujours pas créer de fichiers à partir de l'interface graphique).

Lorsque je connecte une clé USB, elle est montée sous /media/<username>/<label>/, où se <username>trouve mon nom d'utilisateur et <label>l'étiquette de la clé USB ou du périphérique de stockage.

J'ai regardé à nouveau les autorisations:

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

Notez le +à la fin des autorisations. C'est nouveau pour moi et je ne l'avais jamais remarqué auparavant. Cela signifie que le répertoire dispose d'autorisations étendues appelées liste de contrôle d'accès (ACL) (voir cette question connexe ). J'ai répertorié les détails de la liste de contrôle d'accès pour ce répertoire:

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

Comme vous pouvez le constater, il existe une entrée supplémentaire user:<username>:r-xpour mon nom d'utilisateur, qui ne me donne qu'un accès en lecture. J'ai corrigé cela avec une simple commande:

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

J'ai détaché mon périphérique USB, je l'ai connecté à nouveau et le problème a été résolu.


1
D'ACCORD. Merci, c'était la solution. Cependant, à la fin, vous devez restart your computeravoir un accès complet à la mounted USBs. Un autre point qui en vaut la peine je crois, ce problème est survenu après creating a new gpt partition tableun USB stickavec GParted. Par la suite, toutes mes clés USB ont été touchées. Les gars de chez GParteddevraient se comporter différemment ...
Antonio

9

J'ai formaté en utilisant Gparted. Cela a effacé toutes les données du disque et le problème a également été résolu.


1
Ouais, ça marche. Vous devez créer une nouvelle table de partiton en tant que msdostype, puis créer un grand parititon avec fat32.
vskubriev

1
Je pense que cette réponse est un talon. S'il vous plaît, développez-le.
Léo Léopold Hertz

6

Lorsque vous avez exécuté mountuniquement sda5 (votre /) a été monté et qu'il était en lecture-écriture ( rw), vous devriez donc pouvoir y écrire. Normalement, la plupart des répertoires tels que /sys, /binne sont accessibles en écriture qu’à la racine (vous en aurez besoin au sudopréalable), mais votre dossier personnel devrait être accessible en écriture à votre utilisateur habituel.

Pouvez-vous créer des fichiers dans votre dossier personnel? Peut-être que votre gestionnaire de fichiers gui est bloqué en pensant qu'il est en lecture seule. Si vous essayez dans un terminal, est-ce que ça marche? Par exemple, ces commandes fonctionnent-elles ?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

Si cela fonctionne avec succès, vous pouvez écrire sur votre disque dur (sda5).


Pour le lecteur USB, une fois qu'il est branché et monté, cherchez- mountle (la /dev/sdb1 ...ligne) et voyez si l'option de montage dans le ()(s) est rw(lecture-écriture), vous devriez pouvoir y écrire. Si c'est ro(en lecture seule), essayez ceci et voyez si cela change:

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

Si le système de fichiers (fs) a des erreurs, il peut être monté comme ro, il devrait y avoir des messages à ce sujet dans dmesget /var/log/syslogaussi. Voici ce que montrent vos journaux:

[  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

Cela inclut un indice sur la manière dont le fs aurait pu être corrompu - "pas correctement démonté", vous devez toujours le démonter avant de débrancher quoi que ce soit. La plupart des gestionnaires de fichiers ont un "éjecter" pour aider avec cela.

Le dmesgjournal dit aussi comment le résoudre: fsckpeut essayer de corriger les erreurs de fs, il tente de choisir le programme de vérification à droite, ou vous pouvez choisir un explicitement fsck.vfatou en fsck.[other]appuyant sur TABaprès fsck.devrait lister les options.

  • Pour un système FAT (il faut souvent l'exécuter deux fois, ne corrige pas toujours toutes les erreurs du premier coup)
    • fsck.vfat -vaV [device] devrait fonctionner automatiquement (-a) & afficher plus d'informations (-v) & faire un "test de vérification" (-V), ou simplement:
    • fsck.vfat -a [device]

NOTE : Cela ne garantira pas que le système de fichiers restera fixe, il pourrait être à nouveau corrompu et il pourrait être impossible de savoir exactement pourquoi. Toujours démonter / "éjecter" avant de retirer les clés USB.

Notez que si un fs monte en tant querw , mais ensuite des erreurs sont constatées et qu'il est automatiquement remonté en tant quero , la commande mount peut toujours signaler qu'elle est montéerw . En regardant ce fichier avec less /proc/mountsdevrait normalement montrer des informations plus fiables (voir man mount).


Si quelque chose est monté rwmais que vous ne pouvez toujours pas ajouter / supprimer / éditer des fichiers dessus, vous n'êtes peut-être pas le propriétaire des fichiers. Dans certains fs, vous pouvez chowndevenir propriétaire, mais un fs FAT32 comme sur sdb1 ne dispose pas de ces permissions; ils sont définis quand il monte avec l'option de montage uid=value(la valeur est votre ID utilisateur, apprenez-le avec echo $UIDou id -u) puis vous pouvez essayer ceci et voir si cela fonctionne après:

sudo mount -o remount,rw,uid=[userid] /dev/sdb1 /media/simon/LYDIA
  • Remarque: Parfois, vous devrez peut-être redémarrer votre gestionnaire de fichiers gui pour qu'il "remarque" le changement de montage qui vous permet d'écrire sur le système de fichiers / lecteur, mais un terminal devrait toujours fonctionner.

Ou si le ne fonctionne pas, essayez sudo sude « devenir » root, pour voir si quelque chose peut écrire des fichiers sur la clé USB (avec touch, echoetc.)?


Merci pour votre réponse, j'ai fait les commandes newfile001 et j'ai reçu des "trucs" en réponse. De plus, à partir de la commande mount, il y a rw dans le support de la clé USB, je devrais donc être capable de le lire / écrire. Je viens d'essayer les commandes à la fin de votre réponse mais cela n'a pas fonctionné, c'est toujours un périphérique en lecture seule.
oodles2do

Au moins, le disque dur fonctionne ... La clé USB doit être accessible en écriture ... Si vous êtes cddans un dossier USB, pouvez-vous écrire des fichiers avec echo stuff >> newusbfileou similaire? Ou echo stuff | sudo tee newusbfile? Ou bien, commencez sudo supar "devenir" la racine, puis l'écho, le chat, etc.?
Xen2050

Comment puis-je faire les commandes cd dans le dossier USB? Je pense que je viens de le faire dans / media / simon et cela a fonctionné, mais la clé USB est / media / simon / LYDIA
oodles2do

Si la clé USB n'est pas montée, le dossier / media / simon / LYDIA est simplement un dossier vide (s'il existe même). Une fois monté, vous pouvez voir où se trouve le dossier monté avec mountor lsblk, puis cd mounted_folderessayer d’écrire des fichiers mkdir, etc ... et sudo suvoir si vous pouvez écrire en tant que root aussi.
Xen2050

Merci pour toute votre aide, j'ai juste essayé d'écrire un fichier dans le fichier USB mais cela n'a pas fonctionné, il est dit qu'il s'agit d'un système de fichiers en lecture seule. J'ai ajouté le code à la question pour que vous puissiez voir ce que j'ai fait.
oodles2do

4

Allez aux disques .

Sélectionnez votre clé USB.

Cliquez sur Options de partition supplémentaires et sélectionnez Formater la partition .

Sélectionnez ensuite effacer Écraser les données existantes avec des zéros (lents) et tapez FAT .

J'ai essayé beaucoup de choses après une recherche sur Internet, mais cela a fonctionné pour moi.


1
Cela effacera toutes les données du disque.
cst1992

Et si j'ai besoin de NTFS? La même chose pour NTFS n'a pas fonctionné pour moi.
Vadim Kotov


0

Méthodes de réparation rapide:

Méthode 1

Parfois, nous pouvons accomplir la tâche de bash sans peine je fais habituellement (aucun sudo requis)

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

Cependant, parfois, lorsque je dois utiliser un navigateur de fichiers,

sudo nautilus /media/$USER/mydrive/

Remarque: ceci est une solution rapide, utilisez-le uniquement si vous êtes frustré car aucune autre réponse ci-dessus n'a fonctionné

Méthode 2

Redémarrer l'OS


0

essayez des stratégies ci-dessous

  1. éditer /etc/fuse.conf en tant que superutilisateur

    changer #user_allow_otheràuser_allow_other

  2. activer le support en écriture pour les périphériques externes

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

0

Cela est dû au fait que votre système de fichiers est NTFS et qu’il figure dans une statistique non sécurisée. Vous utilisez peut-être votre disque dans Windows. L’une des raisons est que vous avez hiberné les fenêtres ou l’a redémarré rapidement., Utilisez donc l’une des étapes suivantes:

  1. démontez le support à l'aide de la commande ci-dessous, accédez à Windows (peut-être en mode de démarrage double ou éventuellement sur un autre ordinateur) et fermez complètement la fenêtre, sans mise en veille prolongée ni redémarrage rapide,

    sudo umount /media/"your media label"

puis revenez sur Linux et montez votre média en utilisant cette commande:

'sudo mount -o rw,mount /your media'
  1. si vous utilisez macOs, branchez votre support sur votre périphérique mac et utilisez cette commande:

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


0

Tout ce dont vous avez besoin est de suivre 3 commandes.

  1. df -Th

résultat - entrez la description de l'image ici

  1. umount /media/user/KINGSTON (c'est monter sur le chemin)
  2. dosfsck -a /dev/sdb1 (c'est le chemin du système de fichiers)

0

Exécutez les commandes suivantes sur le terminal (ubuntu) pour donner l’autorisation d’écriture à un Pendrive.

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

    • "/ media / madusanka / KINGSTON" est la valeur "Monté sur" donnée par la première commande
  3. sudo dosfsck -a /dev/sdb1

    • "/ dev / sdb1" est la "valeur du système de fichiers" donnée par la première commande.
  4. Tapez votre mot de passe

  5. Vérifiez le Pendrive en collant ou en créant un nouveau fichier.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.