Question Périphériques USB en lecture seule


J'utilise Ubuntu 14.04.

J'ai une clé USB FAT32 de 8 Go et un disque dur FAT32 de 500 Go; tous deux sont soudainement devenus des appareils en lecture seule.

J'ai essayé de supprimer le répertoire à l'intérieur /media puis en le créant à nouveau, en le renommant, puis en lui donnant des autorisations complètes. Cependant, cela n'a pas fonctionné.

Resultats 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)

Resultats 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

Resultats 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 

Resultats 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)

90
2017-12-20 20:00


origine


chown il, quand monté? Comment le montez-vous? En tant que root? Montage automatique avec le montage automatique du gestionnaire de fichiers? - davidbaumann
Je branche normalement les clés USB, puis la fenêtre s’ouvre ou est disponible pour que je puisse ouvrir et glisser des fichiers. Je n'utilise normalement pas le terminal pour la copie ou quelque chose du genre. - oodles2do
Branchez, ouvrez et ajoutez le résultat de mount S'il vous plaît. - davidbaumann
Ne signifie pas avoir l'air stupide, mais que veux-tu dire exactement? Quel code dois-je mettre dans le terminal? Si c'est ce que vous voulez dire, merci! - oodles2do
mount exactement ;) - davidbaumann


Réponses:


Regarde ça punaise.

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

killall nautilus

173
2017-09-09 21:11



Wow, je ne peux pas croire que cela a fonctionné - JeD
Je serai damné, ça marche haha - Tek
heh, ça a marché! - John Doe
j'utilise nemo, donc je l'ai fait killall nemo et il fonctionne. - Oki Erie Rinaldi
C'est triste que ça marche encore en 2018 (Ubuntu 16.04.3 LTS) - Andrew


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

  • courir sudo -i (pour ne pas taper votre mot de passe tout le temps)
  • courir df -Th(pour voir où votre clé USB est montée)
  • démonter votre clé USB
  • courir dosfsck sur l'appareil que vous avez vu depuis votre commande précédente. Exemple: dosfsck /dev/sdc1
  • retirez et rattachez votre clé USB

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

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


61
2017-12-20 20:28



Merci de votre aide! J'ai essayé de faire ce que tu as dit, taper umount / dev / sdb1 est-il correct pour démonter ma clé USB? Aussi, je ne sais pas comment utiliser dosfsck. Merci pour le lien aussi - oodles2do
@SimonBremford si votre clé USB est installée dans /dev/sdb1 Bien sûr, votre commande a raison. Pour votre autre question, tapez simplement: dosfsck -a /dev/sdb1
Merci pour votre aide, mais cela n'a pas fonctionné. La clé USB est en lecture seule. 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 qu'il affecte plus d'un périphérique USB en même temps. - oodles2do
Parfois, le plus simple est de redémarrer - Gayan Weerakutti
Il serait utile d'ajouter à la réponse qu'un redémarrage est en effet nécessaire. - Artem Pelenitsyn


J'ai eu la même erreur en utilisant 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 copie racine a bien fonctionné ...

Le problème a disparu après le redémarrage de la machine. Donc, je suppose que ce problème peut se produire lors de l'utilisation de GParted.


18
2017-11-07 20:11



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


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

Quand j'ai regardé le répertoire des médias dans le terminal 'dir / media', j'ai vu que la mise en page a changé, normalement vous vous attendez à voir les lecteurs listés ici, mais maintenant ils sont listés sous votre nom d'utilisateur et devinez quoi? Ce nom d'utilisateur n'a que des 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, retirez la clé USB, attendez et remettez-la en place, le problème résolu, je peux maintenant y écrire!


13
2018-06-07 09:23



Pour moi sudo chown [username] /media/[username] a bien fonctionné. Je n'avais même pas besoin de sortir la clé USB et je n'avais pas besoin chgrp - Je suis sur Xubuntu 16.04) - Nicolas
Merci pour votre réponse .. cela devrait être la réponse acceptée, car il n'y a pas vraiment de problème avec le média lui-même mais avec le point de montage. - agim
chown peut changer le groupe aussi, chown [username]:[groupname] files est équivalent à courir chown et alors chgrp. Voir man chown - Xen2050
@ Xen2050, encore mieux est chown [username]: files depuis `chown`` par défaut au groupe de connexion des utilisateurs. - Lucas
@Lucas merci c'est mieux. Il est intelligemment caché dans le man page, mais visible dans le info page [serait vraiment bien si les pages de man & info correspondent ...] - Xen2050


J'ai formaté en utilisant Gparted. Cela a effacé toutes les données du disque et il s'avère que cela a également résolu le problème.


8
2017-07-07 14:48



Oui, ça marche. Vous devez créer une nouvelle table de partition comme msdos tapez, puis créez une grande parititon avec fat32. - vskubriev
Je pense que cette réponse est un bout. S'il vous plaît, développez-le. - Léo Léopold Hertz 준영


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

  • Formatez le périphérique à l'aide de GParted. J'ai même essayé de recréer le 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 était la propriété de la racine, mais même après en être devenu le propriétaire, je ne pouvais écrire sur le périphérique qu'à 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, celle-ci est montée sous /media/<username>/<label>/, où <username> est mon nom d'utilisateur et <label> est l'étiquette de la clé USB ou du périphérique de stockage.

J'ai encore regardé les permissions:

$ 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'ai jamais remarqué auparavant. Cela signifie que le répertoire a des autorisations étendues appelées liste de contrôle d'accès (ACL) (voir ceci question connexe). J'ai listé 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 voir, il y a une entrée supplémentaire user:<username>:r-x pour 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, l'ai attaché à nouveau et le problème a été résolu.


7
2018-03-04 17:56



D'ACCORD. Merci, c'était la solution. Cependant, à la fin, vous devez restart your computer afin d'avoir un accès complet à la mounted USBs. Un autre point en vaut la peine je crois, ce problème est survenu après creating a new gpt partition table sur un USB stick avec GParted. Par la suite tous mes USB ont été affectés. Définitivement les gars à GParted devrait se comporter différemment ... - Antonio


Quand tu as couru mount seulement sda5 (votre /) était monté, et il était en lecture-écriture (rw) Vous devriez donc pouvoir y écrire. Normalement, la plupart des répertoires comme /sys, /bin ne sont accessibles en écriture que par root (il vous faudrait sudo en premier), mais votre dossier personnel doit être accessible en écriture à votre utilisateur habituel.

Pouvez-vous créer des fichiers dans votre dossier personnel? Peut-être que votre gestionnaire de fichiers d'interface graphique est coincé en pensant qu'ils sont en lecture seule, si vous essayez dans un terminal, est-ce que cela fonctionne? Par exemple, ces commandes fonctionnent-elles?:

cd ~
touch newfile001
echo stuff >> newfile001
cat newfile001

Si ceux-ci fonctionnent correctement, vous pouvez écrire sur votre HD (sda5).


Pour le lecteur USB, une fois branché et monté, regardez mount pour le trouver (le /dev/sdb1 ... ligne) et voir si l’option de montage du ()est est rw (lecture-écriture) alors vous devriez pouvoir y écrire. Si c'est ro (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) comporte des erreurs, il peut être monté en tant que ro, il devrait y avoir des messages à ce sujet dmesg Et /var/log/syslog aussi. 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 façon dont les fs auraient pu être corrompus - "pas correctement démonté", vous devriez toujours démonter avant de débrancher quoi que ce soit. La plupart des gestionnaires de fichiers ont un "éjection" pour aider à cela.

le dmesg journal aussi dire comment le réparer: fsck peut essayer de corriger les erreurs de fs, il tente de choisir le bon programme de vérification, ou vous pouvez en choisir un explicitement avec fsck.vfat ou fsck.[other] pressage LANGUETTE après fsck. devrait lister les options.

  • Pour un système FAT (il faut souvent le lancer deux fois, ne corrige pas toujours toutes les erreurs la première fois)
    • fsck.vfat -vaV [device] devrait fonctionner automatiquement (-a) et afficher plus d'informations (-v) et effectuer un passage de "vérification" (-V), ou simplement:
    • fsck.vfat -a [device]

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

Remarque si une fs monte comme rw, mais alors les erreurs sont vues et ça devient remonté automatiquement comme ro, la commande mount peut encore signaler qu'il est monté rw. En regardant ce fichier avec less /proc/mounts devrait normalement montrer des informations plus fiables (voir man mount).


Si quelque chose est monté rw mais vous ne pouvez toujours pas ajouter / supprimer / éditer des fichiers, vous n'êtes peut-être pas le propriétaire des fichiers. Dans certains cas, vous pouvez chown pour devenir le propriétaire, mais un FAT32 fs comme sur sdb1 n'a pas ces autorisations; ils sont réglés quand il est monté avec l'option de montage uid=value (la valeur est votre identifiant, apprenez-le avec echo $UID ou id -u) alors 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 d'interface pour qu'il "remarque" le changement de montage qui vous permet d'écrire sur le système de fichiers / lecteur, mais un terminal doit toujours fonctionner.

Ou si ce qui précède ne fonctionne pas, essayez sudo su pour "devenir" root, pour voir si quelque chose peut écrire dans des fichiers sur la clé USB (avec touch, echo, etc)?


4
2017-12-20 21:19



Merci pour votre réponse, j'ai fait les commandes newfile001 et j'ai eu des "trucs" comme réponse. De plus, depuis la commande mount, il y a rw dans le support pour la clé USB, alors je devrais pouvoir y lire et é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 la HD fonctionne ... USB devrait être accessible en écriture ... si vous cd dans un dossier USB, pouvez-vous écrire des fichiers avec echo stuff >> newusbfile ou similaire? Ou echo stuff | sudo tee newusbfile? Ou première course sudo su "devenir" racine, puis l'écho, chat, etc.? - Xen2050
Comment faire les commandes cd dans le dossier USB? Je pense que je viens de le faire dans / media / simon et ça a fonctionné, mais l'USB est / media / simon / LYDIA - oodles2do
Si l'USB n'est pas monté, alors le fichier / media / simon / LYDIA est juste un dossier vide (s'il existe même). Après son montage, vous pouvez voir où se trouve le dossier monté mount ou lsblk, puis cd mounted_folder et essayez d'écrire des fichiers, mkdir, etc ... et comme sudo su pour voir si vous pouvez aussi écrire en tant que root ... - 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 que c'est 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