web-dev-qa-db-fra.com

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

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 dans /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)
116
oodles2do

Voir ceci bug .

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

killall nautilus
237
wayofthefuture

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

  • lancez Sudo -i (pour ne pas taper votre mot de passe tout le temps)
  • lancez df -Th (pour voir où votre clé USB est montée)
  • démontez votre clé USB
  • exécutez dosfsck sur le périphérique que vous avez vu à partir 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, suivez la réponse à cette question question . Il s’agit d’un disque dur externe, mais c’est la même chose pour votre cas.

69
user284234

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.

20
Koyot

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 ils sont maintenant répertoriés sous votre nom d'utilisateur. 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!

15
hillsongperth

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 le périphérique 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 m'être nommé 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ù <username> est mon nom d’utilisateur et <label> est 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 ceci 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-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, je l'ai connecté à nouveau et le problème a été résolu.

11
Serrano

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

9
Adrian Lopez

Lorsque vous exécutiez mountname__, seul sda5 (votre /) était monté et en lecture-écriture (rwname__). Vous devriez donc pouvoir y écrire. Normalement, la plupart des répertoires tels que /sys, /bin ne sont accessibles en écriture qu’à la racine (vous avez d’abord besoin de Sudoname__), 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 ceux-ci fonctionnent avec succès, vous pouvez écrire sur votre disque dur (sda5).


Pour le lecteur USB, une fois qu'il est branché et monté, examinez mountpour le trouver (la ligne /dev/sdb1 ...) et voyez si l'option de montage dans le () est rw(lecture-écriture), alors vous devriez pouvoir l'écrire. S'il s'agit de 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) contient des erreurs, il peut être monté en tant que roname__, des messages à ce sujet devraient également figurer dans dmesg& /var/log/syslog. 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 devriez 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 journal dmesgindique également comment y remédier: fsckpeut essayer de corriger les erreurs fs, il essaie de choisir le bon programme de vérification ou vous pouvez en choisir un explicitement avec fsck.vfat ou fsck.[other] TAB aprè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 la première fois)
    • fsck.vfat -vaV [device] devrait fonctionner automatiquement (-a) et afficher plus d'informations (-v) & effectuer 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.

Note si un fs monte comme rwname __, mais alors les erreurs sont vues et il obtient automatiquement remonté comme roname __, la commande mount peut indique toujours qu'il est monté rwname __ . En regardant ce fichier avec less /proc/mounts devrait normalement montrer des informations plus fiables (voir man mount).


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

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 ce qui précède ne fonctionne pas, essayez de Sudo su pour "devenir" root, pour voir si quelque chose peut écrire dans les fichiers de la clé USB (avec touchname__, echoname__, etc.)?

6
Xen2050

Goto Disks .

Sélectionnez votre clé USB.

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

Sélectionnez ensuite effacer Remplacez les données existantes par des zéros (lent) et tapez FAT.

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

4
Mahmud

Comme dans réponse de wayofthefuture ci-dessus lorsque vous utilisez Nemo (comme moi, si vous utilisez l'environnement de bureau Cinnamon), essayez:

killall nemo
1
Christian Opitz

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
Nima Ghoroubi

essayez des stratégies ci-dessous

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

    remplacez #user_allow_other par 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
Oshan Wisumperuma

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
Thamme Gowda