La tecnología flash tiene el inconveniente de que el número de escrituras no es ilimitado y tras un número muy grande de ellas el dispositivo se daña.
A nivel personal he tenido un par de casos en un periodo de unos 7 años en que las tarjetas SD se han estropeado. No obstante, he conseguido recuperar casi toda la información de utilidad de las tarjetas en esas situaciones. He tenido incluso más problemas con la uSD adicional de mi teléfono Android, que ya se ha estropeado 3 veces.
No obstante, cuando una SD se estropea, no suele dejar de detectarse por parte de los sistemas Linux (no he tenido esa experiencia). En esos casos hay que intentar reparar las particiones de la tarjeta y, si se verifica que la tarjeta está realmente dañada, extraer la información recuparable que sea de interés.
En tu caso no indicas un dato importante: ¿esos 4 casos han sucedido en una o en diferentes RPis?. Si fuera una en concreto, podría haber un problema en el hardware de esa RPi que dañe las tarjetas. Pero lo primero que debes comprobar es que el problema sea que las tarjetas realmente se dañen.
Otra posibilidad es que por algún motivo (apagado descontrolado, error puntual en el medio), las particiones boot o root de Raspbian deban ser reparadas y el sistema no lo haga adecuadamente de forma automática en el arranque. También podría ocurrir que la tarjeta se llene y el sistema se quede sin espacio libre para operar adecuadamente.
Si dispones de una tarjeta dañada, deberías hacer un análisis detallado de la misma para diagnosticar adecuadamente el problema.
Para detectar si la tarjeta se detecta deberás usar en cualquier sistema Linux o Raspbian el comando
En una tarjeta con Raspbian debería aparecer una partición vfat (probablemente del tipo W95 FAT32) que será la de boot y otra del tipo ext4 (etiquetada como Linux) que será la root.
En la respuesta del comando verás información de la propia tarjeta:
Code: Select all
Disk /dev/mmcblk0: 29.7 GiB, 31914983424 bytes, 62333952 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfb8fb756
y de sus particiones:
Code: Select all
Device Boot Start End Sectors Size Id Type
/dev/mmcblk0p1 2048 1050623 1048576 512M b W95 FAT32
/dev/mmcblk0p2 1050624 62332927 61282304 29.2G 83 Linux
Los Devices de tarjeta y particiones podrán ser diferentes de los que te muestro en el ejemplo anterior si estás viendo la tarjeta desde un PC o incluso desde una RPi. Yo seguiré usando estos ids en los comandos que te indique, pero adáptalos a tu caso.
Para reparar la tarjeta debes estar seguro de que las particiones de la tarjeta están desmontadas:
Code: Select all
sudo umount /dev/mmcblk0p1
sudo umount /dev/mmcblk0p2
Ahora puedes proceder a reparar las particiones.
Code: Select all
sudo dosfsck -w -r -l -a -v -t /dev/mmcblk0p1
sudo fsck -fy /dev/mmcblk0p2
Si las reparaciones se han realizado adecuadamente, la información de la tarjeta podría volver a ser accesible e incluso podrían volver a funcionar con normalidad en una RPi.
Si montas ahora la partición root de la tarjeta tras la reparación por ejemplo con este comando:
Puedes comprobar si la partición está llena y no hay espacio libre disponible en ella:
También puedes comprobar si hay ficheros perdidos en la partición root:
Los ficheros debajo de /mnt contendrán la información almacenada en la partición root de la tarjeta. Por ejemplo:
Code: Select all
ls -l /mnt/home/pi/ #podrias necesitar usar sudo si detectas problemas de privilegios
Espero que esta información te sea de utilidad.
NOTA
... ya las he enviado a recuperación de información pero no es posible salvar dichos datos.
¿Recuperación de información?. ¿Son expertos en Linux?.