¿Mi Raspberry Pi daña permanentemente las tarjetas SD?

26

Mi Raspberry Pi estuvo funcionando bien durante dos meses. Luego, algunos archivos /usr/binse corrompieron y hubo muchos errores al reiniciar.

Traté de escribir una imagen nueva pero dd bloqueaba y no hacía nada.

sudo dd if=~/2013-02-09-wheezy-raspbian.img of=/dev/mmcblk0 bs=4M

Noté que mi tarjeta SD no figuraba como compatible, así que comencé con una nueva tarjeta SD compatible hace una semana y ahora ha sucedido lo mismo.

Las tarjetas parecen estar atascadas en un estado de solo lectura ddy fdiskno tienen ningún impacto.

Tiré del cable de alimentación varias veces para reiniciar después de sshdejar de funcionar; lo ejecuté sin monitor ni teclado.

¿Es posible dañar permanentemente una tarjeta SD tirando del cable de alimentación?

He leído sobre tarjetas SD dañadas y me gustaría llegar al fondo de ese problema, pero mi preocupación actual es que necesito comprar una nueva tarjeta SD cada vez que lo intento. Para otras personas, parecen poder comenzar de nuevo escribiendo una nueva imagen.

¿Hay algo más que pueda intentar para que las tarjetas SD vuelvan a funcionar?

Si trato de formatear la tarjeta con mi cámara, dice 'error de formato'.

Cuando inserto la tarjeta SD, dmesg muestra

...
[52254.614980] end_request: I/O error, dev mmcblk0, sector 1696056
[52254.614983] end_request: I/O error, dev mmcblk0, sector 1696064
[52254.614987] end_request: I/O error, dev mmcblk0, sector 1696072
[52254.615058] Aborting journal on device mmcblk0p2-8.
...
[52666.031183] journal commit I/O error
[52666.031186] journal commit I/O error
....
[52666.031220] journal commit I/O error
[52666.031227] journal commit I/O error
[52666.083902] EXT4-fs error (device mmcblk0p2): ext4_put_super:819:     
Couldn't clean up the journal
[52666.083910] EXT4-fs (mmcblk0p2): Remounting filesystem read-only

Actualización: He logrado escribir una imagen nueva en la segunda tarjeta SD, pero la primera tarjeta (Kingston 8 GB clase 4, no en la lista compatible) todavía está rota. Como es solo una tarjeta que parece rota, no estoy tan preocupado de que siga sucediendo. Supongo que esto fue excepcional.

Mi Raspberry Pi ahora rara vez arranca. Verifiqué el voltaje en la Raspberry Pi, y es bastante bajo, por lo que sospecho que es la causa de mis problemas. He ordenado una nueva fuente de alimentación. Sin embargo, no sé por qué Raspberry Pi funcionó durante tanto tiempo antes.

Thomas Rynne
fuente
1
¿Podría confirmar que cuando intenta escribir algo en tarjetas rotas está utilizando otra computadora con lector de tarjetas SD que funciona bien para otras tarjetas? ¿Podría proporcionar el ddcomando que está utilizando para escribir en la tarjeta? ¿Podría verificar dmesgsi hay algún error de E / S en su tarjeta?
Krzysztof Adamski
Si va a cortar la alimentación del Pi, asegúrese de que sea abruptamente y no lentamente. Tirar del cable lentamente puede y eventualmente dañará sus tarjetas SD. Sugiero encarecidamente obtener una fuente de alimentación con un interruptor de encendido. Una vez que comencé a usar un interruptor de encendido en lugar de simplemente tirar del cable de alimentación del Pi, nunca tuve una tarjeta SD dañada. Además, su elección de fuente de alimentación es muy importante. Asegúrese de que sea de al menos 1000 mA y que tenga una salida constante. Tampoco alimentaría el Pi desde el mismo concentrador USB que está utilizando para conectarlo a los dispositivos.
Jerry Gagnon
Tenía el mismo problema, una corrupción absolutamente extraña que hacía que arrancar fuera una mierda. Después de obtener una fuente de alimentación certificada Raspberry Pi dedicada y una nueva tarjeta SD, todos mis problemas desaparecieron. La vieja tarjeta SD solo se podría volver a usar después de encontrar una máquina con Windows y ejecutar el formateador de bajo nivel libre desde la asociación SD. Afirman que ningún formateador de nivel de bloque puede producir el verdadero formato de bajo nivel necesario para reparar completamente las tarjetas SD problemáticas. YMYV
robar el
Tengo tres Raspberry Pi y he tenido el mismo problema. Ahora he tenido dos tarjetas SD corruptas y de solo lectura y no se han solucionado los trucos con fsck, fdisk o cualquier otra utilidad en Linux o Windows. Por capricho, decidí tirar una de las tarjetas a mi cámara Samsung e intentar formatearla. Para mi sorpresa y deleite, la función de formato en la cámara restauró la tarjeta y se puede volver a usar. Desafortunadamente, no puedo recuperar la otra tarjeta con esto, ya que es una tarjeta SD de tamaño completo y no una MicroSD con un adaptador y mi cámara tiene la ranura MicroSD. La cámara es una Samsung ST72, solo para tu información.
Kelli Mac el

Respuestas:

11

Problemas y posibles daños

Sí, apagar la Raspberry Pi tirando del cable puede causar daños . De hecho, hubo una respuesta que detallaba exactamente este problema. Este problema no es específico de Raspberry Pi. Sacar el cable de alimentación sin avisar al sistema operativo puede causar problemas; de esa manera, corrompí mi kernel de Windows.

Como arreglar

  1. Mac

Conecte la tarjeta SD a la Mac. Luego, abra la utilidad Disco y elimine sus particiones. Luego restaurar. Finalmente, vuelva a crear la imagen de la tarjeta. Si necesita más ayuda, consulte este tutorial .

  1. Ventanas

Utilice el software Win32 Disk Imager . Nuevamente, elimine las particiones, restaure y luego vuelva a crear una imagen de la tarjeta.

  1. Linux

Para restablecer la SD a lectura-escritura, escriba hdparm -r0 /dev/xxxen el terminal. Puede que tenga que eliminar las particiones primero.

Como evitar

A partir de ahora, nunca debe apagar la Raspberry Pi desenchufándola . En su lugar, vaya a la consola y escriba:

sudo shutdown -h now

O, si está utilizando startx, haga clic en el botón Cerrar sesión y seleccione apagar.

xxmbabanexx
fuente
14
Por lo que sé, no es posible dañar la tarjeta SD en sí misma al desconectar la alimentación. Sin embargo, es posible dañar el sistema de archivos de la tarjeta.
Krzysztof Adamski
2
La mayoría de los sistemas de archivos modernos están recorriendo los sistemas de archivos y no se corromperán al perder energía de esta manera (aunque podrían perder los cambios más actuales). Sin embargo, las tarjetas de memoria tienden a mentirle al núcleo sobre lo que se ha sincronizado. ESTO conduce a sistemas de archivos corruptos.
DonGar
He tenido apagones inesperados que freían mi tarjeta SD donde ninguna cantidad de borrado y reimpresión podría "llevarse", parecía haber sectores defectuosos que harían fallar la reinstalación. Tuve que comprar una nueva tarjeta. Entonces sí, puedes dañar la tarjeta en sí.
Yamikuronue
Otra forma más corta de apagar el pi es 'sudo halt'.
Matthew
Una mejor manera de formatear las tarjetas SD en Windows y Mac OS es usar el formateador SD de la SD Association . Es la forma oficial en la que se supone que debes formatear las tarjetas.
scruss
5

El problema es que no puede ir a la consola ya que Raspberry Pi está bloqueado, SSH funciona en parte pero no acepta una contraseña, y el WebIDE de Adafruit está bloqueado y no aceptará entradas. No hay más remedio que tirar del enchufe. Alrededor del 25% de las veces esto funciona, pero es inevitable que el sistema de archivos se corrompa eventualmente. Se pone peor ya que aunque el gestor de arranque lo deja caer al kernel, también se cuelga y no puede escribir nada para fsck la tarjeta. Reimaginar significa perder todo tu trabajo. Definitivamente necesitamos una mejor solución.

usuario1718232
fuente
2

Puede usar 'hdparm -r0 / dev / xxx' para restablecerlo a lectura-escritura. Personalmente, tuve que eliminar las particiones y volver a insertar la tarjeta sd para poder usar dd para copiar una nueva imagen en la tarjeta.

Steven Verborgh
fuente
Intenté esto, pero dd todavía bloquea. Creo que la tarjeta debe estar rota.
Thomas Rynne
0

Hay una mejor solución: simplemente coloque la tarjeta en un lector conectado a otra máquina y ejecute fsck desde esa máquina [¡y luego espero que funcione!]. Por supuesto, el problema real es tener que ejecutar fsck en primer lugar, lo que a menudo se puede evitar apagando la máquina correctamente en lugar de tirar de la potencia, independientemente de si no tiene cabeza o no.

Solo yo
fuente
0

Después de que dd fallara repetidamente en una tarjeta SD, utilicé una máquina con Windows 7 para eliminar las particiones y reformatearlas como FAT32 . Solo entonces me daría una imagen de Raspberry Pi en funcionamiento.

Ahora a menudo ejecuto lo siguiente antes de dd (o dcfldd) -ing una nueva imagen:

time dcfldd if=/dev/zero of=/dev/sdc statusinterval=1 sizeprobe=of

La fuente que sugirió /dev/zeroseñaló que el proceso puede acortar la vida útil de la tarjeta.

robar
fuente