No se puede eliminar el atributo de solo lectura de la tarjeta Micro SD después de la imagen de Ubuntu

16

No puedo eliminar el atributo de solo lectura de una tarjeta Micro SD de 32 GB de Kingston. Quiero limpiar toda la tarjeta.

Me dieron una Raspberry Pi 3 y una tarjeta Micro SD de 32 GB y un Echo para jugar. La tarjeta Micro SD era nueva cuando la obtuve. Descargué una nueva imagen de Ubuntu 16.04 y formateé la tarjeta usando Etcher en Windows 10. Después de que terminé, conecté todo para que la Raspberry funcionara y noté que no pasó nada. Empecé a entrar en pánico un poco y pensé: "Buen trabajo Scrat, idiota. ¿Por qué no puedes simplemente esperar un poco y buscar un tutorial en Google?"

Busqué en Google lo que podría haber salido mal y lo que debería haber hecho, y tuve que descubrir que no se puede poner ninguna imagen aleatoria de Ubuntu en él. Tiene que ser una de las imágenes que proporciona el creador (en mi caso Ubuntu Mate o Raspbian).

Intento de arreglos con Windows

Al intentar volver a formatear haciendo clic derecho y reformateando a través del Explorador de Windows, lo primero que encontré fue que la tarjeta estaba en modo de solo lectura. Intentar acceder a él en el Explorador de Windows solo me mostró el directorio EFI, del cual no me sorprendió.

Lo primero que encontré en Internet es sobre un interruptor / bloqueo en la tarjeta, pero mi tarjeta no tiene ningún bloqueo. Ni la tarjeta en sí, ni el Robson Mini Card Reader que uso para leer.

Luego intenté recordar cómo editar discos.
Tenga en cuenta que todavía estoy usando Windows 10 en ese momento, porque habría tenido que copiar mi viejo VM-Ware y la imagen del sistema desde mi disco externo, y no sabía dónde estaba.

Abrí una línea de comando, ejecuté diskpart y enumeré todos mis discos a través de

list disk

Lo que produjo mi HDD de 931 GB, mi SSD de 119 GB (donde está instalado Windows) y la tarjeta Micro SD de 29 GB:

Datenträger ### Estado Größe Frei Dyn GPT  
--------------- ------------- ------- ------- --- ---   
Datenträger 0 En línea 119 GB 0 B *  
Datenträger 1 En línea 931 GB 0 B *  
Datenträger 2 en línea 29 GB 29 GB

Siguiendo la información que tengo, supe que Datenträger 2, también conocido como Disco 2, es la tarjeta que quería editar haciendo:

select disk 2

Hasta aquí todo bien. Luego quise eliminar el atributo de solo lectura haciendo:

attributes disk clear readonly

Que también se ejecutó con éxito.

Pero cuando intenté hacer:

clean

Recibí un "Mensaje de error de hardware" (en alemán, por eso no lo estoy copiando aquí, pero esencialmente solo decía Error de hardware). Ese error también siguió al intentar crear una partición primaria o hacer otras cosas.

En este punto, el pánico en mí comenzó a crecer más y más. Pero traté de mantener la calma porque todavía tenía algunos trucos bajo la manga.

Intenté usar los programas: EaseUS Partition Master, Etcher (nuevamente) y SD Card Formatter, que fallaron debido a que la tarjeta estaba protegida (solo lectura, protegida contra escritura).

También intenté usar la edición del registro para cambiar el comportamiento de Windows hacia los dispositivos de almacenamiento creando la clave (que todavía no estaba allí):

Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\StorageDevicePolicies

y creando una nueva palabra clave (DWORD WriteProtect) y configurándola a 0, lo que significa que no es de solo lectura.

Intento de arreglos con Linux

Eso tampoco funcionó y comencé a perder los nervios con Windows, así que salí de mi trasero y busqué mi unidad externa e instalé VM-Ware y ejecuté la máquina virtual Ubuntu 16.04 que uso para la escuela.

Al iniciar la máquina virtual, ya noté que Ubuntu podía ayudarme mucho más que Windows (o al menos eso pensaba, porque mis habilidades con Linux son limitadas en este aspecto). Lo primero que veo es un icono vinculado en el escritorio a la tarjeta llamada "Ubuntu 16.04.2 LTS amd64" en el que están contenidas las diversas cosas que Ubuntu necesita para trabajar que se ven en la imagen aquí .

Pero eso no me ayudaría. Así que seguí adelante y comencé una terminal y escribí:

lsblk

Lo que confirmó que la tarjeta es visible (sdb):

NOMBRE MAJ: MIN RM TAMAÑO RO TIPO MOUNTPOINT
sda 8: 0 0 30G 0 disco 
Dasda1 8: 1 0 30G 0 parte /
SDB 8:16 1 29,2G 1 disco 
├─sdb1 8:17 1 1,5G 1 parte / media / pose / Ubuntu 16.04.2 LTS amd64
└─sdb2 8:18 1 2,4M 1 parte 
sr0 11: 0 1 1024M 0 rom  

Pero lsblk no era muy preciso, así que también usé el comando que aprendimos en la escuela:

fdisk -l

Lo cual fue un poco más preciso:

Disco / dev / sda: 30 GiB, 32212254720 bytes, 62914560 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño del sector (lógico / físico): 512 bytes / 512 bytes
Tamaño de E / S (mínimo / óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0xa14a8cb2

Dispositivo Arranque Inicio Fin Sectores Tamaño Id Tipo
/ dev / sda1 2048 62914559 62912512 30G 83 Linux


Disco / dev / sdb: 29,2 GiB, 31306285056 bytes, 61145088 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño del sector (lógico / físico): 512 bytes / 512 bytes
Tamaño de E / S (mínimo / óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x15e2543d

Dispositivo Arranque Inicio Fin Sectores Tamaño Id Tipo
/ dev / sdb1 * 0 3035519 3035520 1,5G 0 Vacío
/ dev / sdb2 14432 19295 4864 2,4M ef EFI (FAT-12/16/32)

Y estaba eufórico porque pensé que finalmente descifré el maldito código Davinci o algo así, así que corrí

dividido

Que se abrió inmediatamente con un mensaje de error:

El descriptor del controlador dice que el tamaño del bloque físico es de 2048 bytes, pero Linux dice que es de 512 bytes.

Lo que ignoré porque pensé que no era gran cosa, pero justo después de ignorar el anterior, apareció el siguiente mensaje de error:

Las particiones 1 en / dev / sdb se han escrito, pero no hemos podido informar al núcleo del cambio, probablemente porque están en uso. Como resultado, las particiones antiguas permanecerán en uso. Debe reiniciar ahora antes de realizar más cambios.

Entonces hice lo que me decía el mensaje y reinicié. Pero tampoco fue útil, porque los mismos dos errores aparecieron nuevamente. Los ignoré a ambos esta vez y se abrió la buena y vieja ventana dividida de confianza que sabía de la escuela.

Una vez que cambié a / dev / sdb se volvió confuso realmente rápido. Como puede ver aquí , las cosas son bastante extrañas, porque ahora sdb de alguna manera se considera mi SSD en lugar de la tarjeta, pero la imagen de la tarjeta todavía está montada. En este punto, estaba demasiado angustiado como para seguir haciendo algo más por miedo a arruinar accidentalmente mi computadora portátil también.

Por cierto, también he intentado darme permisos para acceder al disco e intentar usar el ddcomando, pero con el mismo mensaje de error (Acceso denegado, solo lectura o algo así, no estoy exactamente seguro, pero algo en esta dirección )

Ya he pedido otra tarjeta Micro SD de 32 GB de Amazon, en caso de que no haya más esperanza para la anterior. Pero no me estoy rindiendo todavía.

(Lamento que algunas cosas estén en alemán, pero creo que en su mayor parte se explican por sí mismas).

LordScrat
fuente
Los discos probablemente cambiaron de orden porque reinició con la tarjeta SD conectada (la próxima vez reinicie sin ella conectada). Su segunda imagen es muy interesante ... Si entiendo correctamente, ¿eso es desde la VM? ¿La VM que solo tiene un disco de 30GiB y la tarjeta SD de 29.2GiB?
Attie
Sí, desde dentro de la VM. Sin embargo, reinicié sin que estuviera conectado, así que no sé si eso fue todo. En / dev / sda es el espacio de memoria atribuido que puede darle a su VM al instalarlo, que debería ser el 30GiB. Pero de alguna manera todo se mezcló con esta maldita tarjeta conectada.
LordScrat

Respuestas:

6

Bueno, tu publicación fue ciertamente lo suficientemente entretenida. Gracias por eso.

Sé que no es la respuesta que estás buscando. Pero parece que la tarjeta SD está atascada en modo de solo lectura. Has hecho todo lo que puedes. Realmente no es tan difícil.

Actúa como si hubiera un interruptor de protección contra escritura en la tarjeta. Parece que confirmó que no lo hizo, pero tal vez solo verifique dos veces, una vez más. La idea que se me ocurrió fue que tal vez está utilizando una tarjeta mini-SD en un adaptador mini-sd a sd. ¿Y tal vez buscó en el adaptador, pero no en la tarjeta mini-sd en sí? No sé, solo tirar eso por ahí. Si hay un adaptador, ¿tal vez el adaptador en sí salió mal? No recuerdo si mencionaste si probaste un lector de tarjetas diferente. Tal vez el lector salió mal?

Aparte de eso, es una falla bastante común que algo como esto "falle" en un modo de solo lectura. Entonces, mi instinto me dice que la tarjeta salió mal.

Parece que estás en el camino correcto, simplemente reemplazándolo. Tal vez pueda reemplazar el malo en garantía, ya que es nuevo. Háganos saber lo que descubre.

Appleoddity
fuente
Creo que esta es una buena respuesta, pero que en realidad no es una respuesta, sino un comentario y una esperanza. :)
Xavierjazz
Sí, le diré a mi jefe que la tarjeta ya no se puede escribir y que simplemente la envíe de regreso a Amazon (la recibió como el jueves anterior al último, así que creo que no hay problema) y le devolveremos su dinero. Subiré a la debacle con mi propio dinero, por lo tanto, probablemente sea mi culpa instalar el Ubuntu incorrecto y tal vez bloquearlo suavemente. Supongo que tendré 16 dólares menos para gastar jaja. Gracias por tu comentario, sin embargo. Agradezco cada comentario que recibo.
LordScrat
2
Bueno, eso es encomiable de tu parte. Pero, nada de lo que haga con el software destruirá el hardware. A veces las cosas simplemente van mal.
Appleoddity
4

Tales problemas de solo lectura me ocurren todo el tiempo cuando uso imágenes iso.

Lo que hago para solucionar estos problemas:

Tenga en cuenta que <yoursdcard>es un dispositivo y no una partición, por ejemplosdc

  1. Arrancar algún tipo de linux
  2. Abrir una terminal
  3. Averigüe qué dispositivo es su tarjeta SD y verifíquelo usando sudo fdisk /dev/<yoursdcard> -lo para obtener el nombre del dispositivo, también podría usarsudo parted /dev/<yoursdcard> -l

ADVERTENCIA: ¡El siguiente comando destruirá todos los datos, /dev/<yoursdcard>así que asegúrese de que <yoursdcard>sea ​​el dispositivo correcto!

  1. Ejecutar sudo dd if=/dev/zero of=/dev/<yoursdcard> bs=1000000 count=50
  2. Ejecutar sudo fdisk /dev/<yoursdcard>
  3. Ahora use el comando opara crear una nueva tabla de particiones MSDOS en su tarjeta sd, luego use el ncomando para agregar una nueva partición y use wpara escribir los cambios en su tarjeta sd y salir de fdisk
  4. Ahora use sudo mkfs -t <filesystem you want> /dev/<yoursdcard>1para formatear su partición
  5. Ahora tu tarjeta sd debería funcionar de nuevo

Si eso no funciona:

  1. Terminal abierta
  2. Descubre qué dispositivo <yoursdcard>es
  3. Ejecutar sudo su
  4. Ejecutar echo "0" > /sys/block/<yoursdcard>/ro
testeaxeax
fuente
Me encantaría probar eso, pero como puede ver en mi segunda imagen, Ubuntu confunde un poco a / dev / sdb, que debería ser mi Micro SD, como mi SSD (o al revés, pero está mal, eso es lo que sé) , y realmente no quiero que eliminar por accidente, yo también
LordScrat
Por supuesto que no quiere, pero fdiskes mucho más confiable gpartedy vería si detecta su tarjeta SD correctamente o no. (Vea el paso 3)
testeaxeax
1
Puede usar los alias de / dev / disk / by-id que se crean automáticamente. Tienen el fabricante y el bus de conexión en ellos para que sepa con seguridad qué dispositivo es.
John Keates
3

Tenga en cuenta que la tarjeta simplemente podría estar rota. Tienen algo de flash y un controlador a bordo. Si la tarjeta cree que tiene problemas, se desconectará por completo o pasará a solo lectura si no tiene suficientes celdas flash que funcionen para escribir. A veces, el controlador mantiene información contable para el chip flash, que puede corromperse y provocar que se inicie en modo seguro y no permita nada. Para superar este tipo de cosas, necesita un lector de tarjetas SD 'verdadero', no un lector de almacenamiento masivo. Las interfaces SD 'reales' tienen acceso al controlador y pueden brindarle la información que necesita.

John Keates
fuente
1

Ah, sí. La imagen de Ubuntu usa algún tipo de formato extraño que rompe la mayoría de las utilidades de formato. Me imagino que es algo que hacen para que las imágenes funcionen en DVD. Lo sé bien (léase: sigo necesitando hacer que Ubuntu instale discos, y odio formatearlos después), y es muy molesto.

Use Gparted en Ubuntu (la VM) para eliminar todas las particiones en el disco, luego agregue una nueva partición FAT32. Nota: Estoy bastante seguro de que GParted usa la contraseña de root, no la normal que usa para iniciar sesión. Si no conoce su contraseña de root, es probable que no la haya configurado. Ejecute "sudo passwd" para establecer una contraseña de root y luego úsela para abrir GParted. También puedes usar "sudo gparted".

O bien, busque e instale el programa gratuito SDFormatter4 en Windows (Nota: también funciona bajo WINE en Ubuntu) y úselo para formatear la tarjeta en modo de sobrescritura. Esto tiene una mejor oportunidad de funcionar, por mucho que no me guste el software propietario.

Ambos tienen mejor suerte al formatear las tarjetas que las utilidades integradas.

Por supuesto, las tarjetas SD y las unidades USB fallan deliberadamente en el modo de solo lectura para darle la oportunidad de recuperar datos. Si esa tarjeta es remotamente nueva, esto no debería suceder, pero es posible. También sugiero tarjetas Samsung o Sandisk, ya que las tarjetas Kingston a menudo son falsas y fallan rápidamente. En realidad tuve este mismo problema una vez, y en realidad fue un fallo de la tarjeta. Espero que este no sea el caso para ti.

RDragonrydr
fuente
-1

Hmmm Debería vincular esta publicación porque comencé aquí y de alguna manera terminé en otra publicación.

ingrese la descripción del enlace aquí

¡Primero asegúrese de que no sea el lector de tarjetas!

Este problema es causado por un sistema de archivos dañado muy fácilmente. El problema podría ser causado por muchas cosas. Si lo formatea en Linux sin desmontarlo o si vuelve a particionarlo, se montará o si las particiones están dañadas, esto podría suceder. Lo mejor que puede hacer es usar el comando Linux fsck /dev/sdb1o la designación de su unidad /dev/sdd1. Puede verlo como /dev/sdb1si el sistema de archivos estuviera dañado en una microSD. Este error es fácil de cometer porque mira esto ...

root@w3tech-Satellite-C655:/home/w3tech# umount /dev/sdc*
umount: /dev/sdc: not mounted.
umount: /dev/sdc2: not mounted.
root@w3tech-Satellite-C655:/home/w3tech# umount /dev/sdc*
umount: /dev/sdc: not mounted.
umount: /dev/sdc1: not mounted.
umount: /dev/sdc2: not mounted.
root@w3tech-Satellite-C655:/home/w3tech#

Tuve que desmontar la unidad dos veces para desmontar ambas particiones ... y sí que es una microSD que debería ser /dev/sdd, /dev/sdeo después.

Sin embargo, solo ejecutar fsckpodría no eliminar el bit sucio si cree que es de solo lectura. Hasta entonces, el kernel de Linux seguirá utilizando la partición anterior, lo que significa que obtendrá el error de solo lectura porque no hay forma de que un usuario pueda obtener permisos para una partición antigua. A veces, arrancar la unidad permitirá que el núcleo cambie a la nueva partición, como si usara un programa para crear una nueva tabla de partición.

w3techie
fuente