Protección USB contra escritura desactivada

92

Tengo un USB que está protegido contra escritura:

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

¿Cómo puedo desactivar la protección contra escritura?

Lo que he intentado

  1. Comprobado si tiene un interruptor de hardware: no
  2. Intenté formatearlo en Windows y en Linux (también a través de la terminal)
  3. Probado fdisk|chmod
  4. Intenté solucionar esto con varias herramientas del centro de software de Ubuntu
  5. Usé Google y he visto alrededor de 10,000 discusiones sobre este problema, pero nunca se resolvieron

Información Adicional

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
novato
fuente
77
No puedo formatearlo debido a la protección contra escritura.
noob
2
@micha, ¿qué tipo de dispositivo USB es? Obviamente, ¿ha verificado si tiene un interruptor de hardware? algún error si intentas montarlo? sudo mount /dev/sdb1 -v?
fossfreedom
1
micha, bastante justo ¿Has intentado ejecutar efsck o has utilizado la Utilidad de Discos de Ubuntu para verificar el estado del disco flash? Si funcionaba bien y luego dejaba de funcionar de repente, podría haber un mal funcionamiento del hardware.
kingmilo
1
@kingmilo e2fsck:Bad magic number in super-block while trying to open /dev/sdb1 SuperBlock is not readable.
noob
1
@micha: muy bien, todavía no significa que no sea defectuoso, desafortunadamente. Es común que los dispositivos de almacenamiento parezcan funcionar normalmente cuando de hecho tienen fallas, solo en una etapa diferente de falla. Creo que con toda la actividad sobre esta pregunta, debería pedir pequeñas donaciones para reemplazar la unidad, sería más fácil 😜
kingmilo

Respuestas:

81

Para desactivar la protección contra escritura del dispositivo de disco, utilizamos la utilidad de sistema de bajo nivel hdparm de esta manera:

sudo hdparm -r0 /dev/sdb

donde suponemos que /dev/sdbes el dispositivo de disco físico en el que estamos trabajando. Si el dispositivo tiene particiones que están montadas como de solo lectura, debe volver a montarlas como lectura-escritura para poder escribir datos en ellas.

Espero que ayude.

Angel Genchev
fuente
Eres mi héroe. ¿Dónde puedo saber qué sucedió después de este comando mágico mágico mágico?
Marcos Modenesi
3
Puede encontrar la explicación mediante la tipificación que mandan aquí> explainshell.com
bagustris
75
se muestra readonly = 0 (off)pero aún no puedo escribir o formatear.
shyammakwana.me
1
@OP Tenía lo mismo que tú, que es: tarjeta sdxc montada de solo lectura sea cual sea la computadora; hdparm -rmuestra "1 - r0activado" y luego después de desbloquear con : "0 - desactivado", pero de todos modos monta solo lectura. Pero montar mi tarjeta SD de SanDisk en otro adaptador y podría montarlo rw. Resulta que dos de mis adaptadores microSD a SD tienen un pin roto entre dos conectores. Y estos dos montarán solo lectura, haga lo que haga. Felicitaciones a @Angel_Genchev, la respuesta tiene el mayor comando.
tuk0z
2
@lliseil Es más que probable que el interruptor de protección contra escritura del lector esté siendo presionado por la tarjeta insertada en él, normalmente por la pestaña de la tarjeta, pero el interruptor (no la pestaña) puede doblarse y atascarse. puede reparar el lector de tarjetas SD cortando los pines del interruptor de protección contra escritura, los que hacen contacto físico con la pestaña de bloqueo de la tarjeta. Cuando el interruptor en el lector está abierto, la protección contra escritura está desactivada, cuando está cerrado (presionando la pestaña de la tarjeta) la protección contra escritura está activada. Al quitar uno o ambos brazos metálicos del interruptor se desactivará permanentemente la protección contra escritura en el lector.
Hydranix
31

Después de investigar su pregunta, parece que este es un problema no muy infrecuente con ciertas marcas de unidades flash USB (algunas Samsung más antiguas, un modelo Kingston) que esencialmente simplemente se "resolverían" sin ninguna razón conocida. La gente había intentado abrirlos y saltar dos pistas (¿tal vez desde un interruptor escamoso?) En vano. Si todavía tiene este disco y todavía está en garantía, lo devolveré y recibiré un reemplazo.

Odio decirte las malas noticias = \ pero parece que no tienes suerte en esta situación ya que todo lo que he leído apunta a una falla de hardware.

Edición 27/05/2016: Recientemente tuve un problema personal con una unidad flash que se me cayó. En mi caso, este fue un Corsair Flash Voyager de 128 GB que comenzó a disminuir drásticamente en mí. Si bien no mostraba los síntomas señalados aquí, ocasionalmente no se montaba y aparecía como un dispositivo "Silicon Power". Esto fue el resultado de que la unidad acumuló una gran cantidad de sectores defectuosos y cayó al modo de diagnóstico / programación. Dado que esta es una de mis respuestas más populares y también entra en la categoría de "unidades flash defectuosas", pensé que lo incluiría aquí como referencia.

Chuck R
fuente
55
@admins: quiero saber si este tipo de respuestas están permitidas o no :)
Tachyons
77
@AboobackerMk Si es la respuesta, entonces es la respuesta. :)
jrg
44
@Tachyons "si este tipo de respuestas están permitidas o no?" ¿Qué pasa con las personas en stackexchange constantemente tratando de desacreditar las preguntas o respuestas de otras personas? Esta respuesta es obviamente una respuesta válida; por la razón jrg dijo.
GoProCameraByGoPro
@GoProCameraByGoPro que es un comentario de 3 años, mi preocupación no era la calidad de la respuesta. y jrg ya respondió a mi pregunta :-)
Tachyons
@Tachyons Estoy haciendo mi parte para cuestionar la pretensión aquí en stackexchange. Si tuviera los datos, vería la tendencia demográfica de las personas que hacen eso y probablemente podría ignorarlos, pero por ahora tendré que hacerles preguntas tal como los veo.
GoProCameraByGoPro
21

utilizando fdisk -llocalizar la unidad, es decir: / dev / sdc1

ahora

umount /dev/sdc1

Finalmente, formatee la unidad flash

sudo mkfs -t vfat /dev/sdc1

Encontré esto rápido y fácil. Asegúrese de DESMONTAR la unidad antes de intentar formatear.

Cola de anillo
fuente
2
sudo mkfs -t vfat / dev / sdc1> la mayoría de los blogs dicen esto, pero la gente dice que no funciona, veamos si funciona.
One Zero
8
desmontado ... peromkfs.vfat 3.0.9 (31 Jan 2010) mkfs.vfat: unable to open /dev/sdb1
noob
funcionó para mí, solo tuve que usar -I para hacer una gran partición y en lugar de / dev / sdc1, / dev / sdc en su lugar.
mchid
Intenté todas las otras formas ( hdparm -r0, blockdev --setrw, remount,rw) pero nada resolvió mi problema, excepto esto.
Iman Mirzadeh
1
Dicemkfs.vfat: unable to open /dev/sdc: Read-only file system
Shayan
14

La respuesta de Angel es buena, pero los comandos reales no fueron tan fáciles para mí. Esto es lo que funcionó: conecte la tarjeta (la mía es una tarjeta SD con un interruptor manual de protección contra escritura, pero el interruptor está apagado y se puede escribir en una máquina con Windows). Ubuntu lo montó automáticamente en / media / andrew / 6AB0-1FD91, y dmesg mostró que la partición era / dev / sdb1.

Desmontarlo y hacerlo escribible

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

Crear un nuevo punto de montaje y montarlo allí (mi ID de usuario de / etc / passwd es 1000)

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

seguirá quejándose de que es de solo lectura. No sé por qué tuve que cambiar esta bandera antes Y después del montaje, pero esa fue la única forma en que funcionó para mí. Vuelva a configurarlo para que se pueda escribir y vuelva a montarlo en el mismo lugar

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

Ahora puedo escribir en el disco como mi usuario normal. Estoy teniendo mucho cuidado con eso en caso de que realmente esté fallando, pero esos comandos me permitieron terminar lo que estaba haciendo.

Andrew Lorien
fuente
NOTA: mi tarjeta en realidad estaba fallando (Ubuntu la monta como de solo lectura, pero mi cámara felizmente escribe en ella). Un par de meses después, está corrompiendo archivos, así que si bien esto funcionará, ¡tenga cuidado!
Andrew Lorien
Probé tus stpes obteniendo ... # sudo mount -o uid = 1000 / dev / sdc1 / mnt / Solo puedo abrir '/ dev / sdc1' como solo lectura El disco contiene un sistema de archivos no limpio (0, 0). El sistema de archivos no se cerró de forma segura en Windows. Fijación.
Ashish Karpe
1
eso funcionó para mí, y ninguno de los otros anteriores ...
Pierre
1
Esto funcionó después de probar muchas soluciones. Gracias @ andrewlorien
Abk
6

Ninguna de estas respuestas proporcionadas hasta ahora es correcta.

Para que realmente funcione, puede anular la detección del disco USB que anuncia su solo lectura con una configuración de peculiaridades de USB. Así es como funciona.

1) Conecte el dispositivo USB y haga un lsusbejemplo:

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

2) Tome nota de esos dos códigos entre los dos puntos (llamados los idVendory idProduct). Desenchufe el dispositivo USB.

3) Elimine el usb_storagemódulo del núcleo (suponiendo que esté compilado como un módulo)

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

4) Ahora volveremos a colocar el módulo utilizando una configuración de modo peculiar para anular la detección de la marca de solo escritura del dispositivo.

Desde source / drivers / usb / storage / usb.c # L572 tomado de v4.19, puede ver que la configuración del modo peculiaridades que estamos buscando es w. Así es como volveremos a cargar el módulo del kernel:

$ sudo modprobe usb_storage quirks=0781:5583:w

Reemplace los números entre los dos puntos con los que vio en el paso (1) desde arriba.

5) vuelva a enchufar el dispositivo de almacenamiento usb. Ahora podemos confirmar con dmesg que esto funcionó:

Antes de: solo escritura rota

Y después: trabajo de lectura / escritura

Además, después de emitir un comando de montaje, verá:

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

Ahora ve a sacar tus cosas de ese disco inmediatamente, está fallando.

kristopolous
fuente
Muchas gracias por esta respuesta. Tuve un problema con una tarjeta Compact Flash en un lector USB que parecía estar protegida contra escritura y esta es la única solución que he encontrado que lo soluciona. Lo extraño es que otras tarjetas CF funcionan bien.
njh
1

Bueno, esto es un poco fastidioso.

Intenté todo aquí y en otros lugares y nada funcionó.

Formateado en la computadora portátil con Windows de un amigo, ahora funciona bien. FFS!

Suspiro ... (preguntándome ahora si podría haberlo arreglado en mi máquina virtual Win 7 en mi escritorio Mint).

Tracy LF
fuente
-1

Inserte la tarjeta de memoria y comience a separar. Selecciónelo a través del botón en la parte superior derecha. Debería ser obvio si está inspeccionando su dispositivo de memoria (el tamaño es una buena pista). Seleccione Partición -> desmontar.

Seleccione 'Dispositivo' en la parte superior, luego 'Crear tabla de particiones' y tome el valor predeterminado, que es msdos.

Ahora debería poder crear una nueva partición y formatearla f32. Si no puedes, es probable que sea un fracaso.

HTH

Vic
fuente
66
Las particiones no son editables debido a la protección contra escritura.
noob