web-dev-qa-db-fra.com

USB désactiver la protection en écriture

J'ai une clé USB protégée en écriture:

dmesg | tail

[10098.126089] sd 7:0:0:0: [sdb] Write Protect is on
[10098.126098] sd 7:0:0:0: [sdb] Mode Sense: 23 00 80 00
[10098.126779] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.126788] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.131418] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.131425] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.133335]  sdb: sdb1
[10098.135509] sd 7:0:0:0: [sdb] No Caching mode page present
[10098.135515] sd 7:0:0:0: [sdb] Assuming drive cache: write through
[10098.135521] sd 7:0:0:0: [sdb] Attached SCSI removable disk

Comment puis-je désactiver la protection en écriture?

ce que j'ai essayé

  1. Vérifié s'il y a un commutateur matériel - non
  2. J'ai essayé de le formater sous Windows et sous Linux (via un terminal aussi)
  3. Essayé fdisk___ | chmodname__
  4. J'ai essayé de résoudre ce problème avec plusieurs outils du centre logiciel Ubuntu
  5. A utilisé Google et a assisté à environ 10 000 discussions sur ce problème, mais elles n'ont jamais été résolues

informations complémentaires

fsck -n /dev/sdb1

fsck from util-linux 2.19.1
dosfsck 3.0.9, 31 Jan 2010, FAT32, LFN
There are differences between boot sector and its backup.
Differences: (offset:original/backup)
  65:01/00
  Not automatically fixing this.
Free cluster summary wrong (968250 vs. really 911911)
  Auto-correcting.
Leaving file system unchanged.
/dev/sdb1: 50 files, 93653/1005564 clusters

fdisk -l

   Device  boot.   Start        End      Blocks   Id  System
/dev/sdb1            32     8060927     4030448    b  W95 FAT32

umount /dev/sdb1

mkfs -t vfat /dev/sdb1

mkfs.vfat 3.0.9 (31 Jan 2010)
mkfs.vfat: unable to open /dev/sdb1
88
noob

Pour désactiver la protection en écriture du périphérique de disque, nous utilisons l’utilitaire système de bas niveau hdparm comme suit:

Sudo hdparm -r0 /dev/sdb

où nous supposons que /dev/sdb est le périphérique de disque physique sur lequel nous travaillons. Si le périphérique a des partitions montées en lecture seule, vous devez les remonter en lecture-écriture afin de pouvoir y écrire des données.

J'espère que cela pourra aider.

78
Angel Genchev

Après avoir étudié votre question, il semble que ce soit un problème courant avec certaines marques de clés USB (certains Samsung plus anciens, un modèle Kingston) qui ne ferait que "gâcher" pour aucune raison connue. Les gens avaient essayé de les ouvrir et de sauter deux leads (peut-être d'un commutateur floconneux?) En vain. Si vous avez toujours ce lecteur et qu'il est toujours sous garantie, je le renverrai et un remplacement.

Je n'aime pas vous annoncer la mauvaise nouvelle = \, mais il semble que vous n’ayez pas de chance dans cette situation, car tout ce que j'ai lu indique une défaillance matérielle.

Edit 27/05/2016: J'ai personnellement rencontré un problème avec une clé USB qui s'est échappée récemment. Dans mon cas, c’était un Corsair Flash Voyager 128 Go qui commençait à ralentir considérablement. Même s'il ne présentait pas les symptômes mentionnés ici, il ne montait parfois pas et apparaissait comme un périphérique "Silicon Power". Cela s'explique par le fait que le lecteur a accumulé un grand nombre de secteurs défectueux et est passé en mode de diagnostic/programmation. Étant donné que c’est l’une de mes réponses les plus populaires et qu’elle entre également dans la catégorie des "lecteurs flash défaillants", j’ai pensé que je l’inclurais ici à titre de référence.

30
Chuck R

en utilisant fdisk -l localisez le lecteur, par exemple:/dev/sdc1

à présent

umount /dev/sdc1

Enfin, reformatez le lecteur flash

Sudo mkfs -t vfat /dev/sdc1

J'ai trouvé cela rapide et facile. Assurez-vous de démonter le lecteur avant d'essayer de formater.

19
Ringtail

La réponse d'Angel est bonne, mais les commandes réelles n'étaient pas si faciles pour moi. Voici ce qui a fonctionné: Branchez la carte (la mienne est une carte SD dotée d’un commutateur manuel de protection en écriture, mais le commutateur est désactivé et il est possible d’inscrire en écriture sur une machine Windows). Ubuntu l'a monté automatiquement sur/media/andrew/6AB0-1FD91, et dmesg a montré que la partition était/dev/sdb1.

Démontez-le et faites-le en écriture.

Sudo umount /dev/sdb1
Sudo hdparm -r0 /dev/sdb

Créez un nouveau point de montage et montez-le à cet endroit (mon ID utilisateur de/etc/passwd est 1000)

Sudo mkdir /media/andrew/temp
Sudo mount -o uid=1000 /dev/sdb1 /media/andrew/temp

ça va quand même se plaindre que c'est en lecture seule. Je ne sais pas pourquoi j'ai dû changer ce drapeau avant ET après le montage, mais c'est la seule façon dont cela a fonctionné pour moi. Remettez-le en écriture et remettez-le au même endroit.

Sudo hdparm -r0 /dev/sdb1
Sudo mount -o remount,rw /dev/sdb1

Maintenant, je peux écrire sur le disque en tant qu'utilisateur normal. Je suis très prudent avec lui au cas où il échouerait, mais ces commandes m'ont permis de finir ce que je faisais.

12
andrew lorien

Aucune des réponses fournies jusqu’à présent n’est correcte.

Pour que cela fonctionne réellement, vous pouvez annuler la détection du disque USB annonçant qu'il est en lecture seule avec un paramètre USB excentrique. Voici comment ça fonctionne.

1) Branchez le périphérique USB et effectuez un lsusb, exemple:

$ lsusb
Bus 002 Device 012: ID 0781:5583 SanDisk Corp. 

2) Prenez note de ces deux codes entre les deux points (appelés idVendor et idProduct). Débranchez le périphérique USB.

3) Supprimez le module de noyau usb_storage (en supposant qu'il soit compilé en tant que module)

$ Sudo modprobe -r $(lsmod | sed -n 's:,: :g ; s,^usb_storage[ 0-9]*,,p') usb_storage

4) Nous allons maintenant remettre le module en utilisant un paramètre de mode quirks pour remplacer la détection du drapeau en écriture seule du périphérique.

De source/drivers/usb/storage/usb.c # L572 extrait de la v4.19, vous pouvez voir que le paramètre de mode quirks que nous recherchons est w. Voici comment nous allons recharger le module du noyau:

$ Sudo modprobe usb_storage quirks=0781:5583:w

Remplacez les nombres entre les deux points par ceux que vous avez vus à l'étape (1) ci-dessus.

5) rebranchez le périphérique de stockage usb. Nous pouvons maintenant confirmer avec dmesg que cela a fonctionné:

Avant: broken write only

Et après: working read/write

Également après avoir émis une commande de montage, vous verrez:

/dev/sdb1 on /usb type ext4 (rw,relatime)

Maintenant, va chercher tes affaires sur ce disque immédiatement, ça échoue.

5
kristopolous

Eh bien, c'est un peu dommage.

J'ai tout essayé ici et ailleurs et rien travaillé.

Le formatage sur l'ordinateur portable Windows d'un ami - fonctionne bien maintenant. FFS!

Soupir .... (je me demandais maintenant si j'aurais peut-être pu le réparer dans mon Win 7 VM sur mon bureau Mint?).

1
Tracy LF