Cómo reparar un sistema de archivos FAT32 dañado

109

Estoy usando el sistema de archivos FAT32 para mi pen drive. Frecuentemente tiene corrupciones de archivos / datos.

En Windows, utilicé la utilidad de escaneo de disco para reparar los sistemas de archivos FAT32 / NTFS. ¿Cómo puedo hacer esto en Ubuntu?

Chalitha
fuente
3
¿Expulsa con seguridad?
ζ--

Respuestas:

125

Intente escribir el siguiente comando en el terminal de Linux:

sudo dosfsck -w -r -l -a -v -t /dev/sdc1

sdc1 suele ser su pen drive. Puede encontrar su pen drive escribiendo mount en la terminal. Está en algún lugar adentro. Si ese comando te toma demasiado tiempo, evita el cambio -t .

  • -w significa escribir en el disco de inmediato.
  • -rsignifica hacer una verificación de disco de forma interactiva (preguntar qué hacer cuando se encuentran errores). En las versiones más recientes de dosfsck, este es el valor predeterminado.
  • -l significa enumerar los nombres de archivo procesados.
  • -asignifica corregir errores automáticamente. No lo use, si desea tener más control sobre la solución de posibles errores.
  • -vsignifica modo detallado. Genera un poco más de salida.
  • -t significa marcar grupos ilegibles como malos.

Si desea asegurarse de no perder sus datos, primero cree una copia de seguridad del dispositivo fuente.

Naveen
fuente
¿Qué otro sistema de archivos puede corregir este comando que no sea FAT32?
Shaharil Ahmad
@ShaharilAhmad FAT16, que quizás todavía se use. Por ejemplo, obtuve una mini tarjeta SD de 2GB con FAT16.
keiki
Pero si no lo hago -t, ¿la próxima vez vuelve a intentar usar los clústeres malos la próxima vez?
keiki
"Actualmente, solo se admiten 1 o 2 FAT, no 0."
Aaron Franke
no lo uso -a, ¡pero no entiendo cómo responder la mitad de las preguntas que me hace!
Michael
51

Puede probar Dosfsck, que es un componente de dosfstools.

Para esto, escriba terminal:

sudo apt-get install dosfstools

Para usar Dosfsck , debe indicar la dirección del dispositivo que desea (Ej. / Dev / sdb1, / dev / sdb2 u otro dispositivo).

Para conocer la dirección de su dispositivo, abra el terminal (CTRL + ALT + T), luego ejecute este comando:

mount

Si su partición es / dev / sdb1, por ejemplo, desmonte primero ejecutando este comando:

sudo umount /dev/sdb1

Ahora puede verificar y reparar su partición ejecutando este comando:

sudo dosfsck -t -a -w /dev/sdb1

Espero que esto ayude.

Nota:

si recibe el siguiente error, cuando no se reconoce su unidad flash USB:

Error: Buffer I/O error on device sdb1

Ejecute este comando:

dmesg|tail

Si la salida es:

end_request: I/O error, dev sdb1, sector 0
Buffer I/O error on device sdb1, logical block 0

Ejecute este comando:

sudo dosfsck -t -a /dev/sdb1

Por supuesto, debe cambiar la dirección del dispositivo según sus necesidades, como escribí anteriormente.

Octávio Filipe Gonçalves
fuente
en 13.04 la montura parece funcionar también sin sudo
giuspen
Siempre me he encontrado con el problema de que si un HDD externo o un pen drive se desconectara incorrectamente mientras realizaba operaciones con él, los permisos se volverían locos, haciendo que el dispositivo sea prácticamente inútil. Tu respuesta se siente como un enviado de Dios para mí; ¡Muchas gracias hombre!
Alfredo Hernández
6

Intenta también:

fsck.vfat -r /dev/sdXn
gavenkoa
fuente
4

hoja de trucos dosfsck

Estos ejemplos usarán FAT32 y / dev / sdc1

fsck.vfat -n /dev/sdc1 - un simple chequeo no interactivo de solo lectura

fsck.vfat -a /dev/sdc1 - comprueba el sistema de archivos y corrige de forma no interactiva. Se usa siempre un enfoque menos destructivo.

fsck.vfat -r /dev/sdc1 - Reparación interactiva. Siempre se le solicita al usuario que exista más de un enfoque para solucionar un problema.

fsck.vfat -l -v -a -t /dev/sdc1 - Una forma muy detallada de verificar y reparar el sistema de archivos de forma no interactiva. El parámetro -t marcará los clústeres ilegibles como malos, por lo que no estarán disponibles para los archivos y directorios recién creados.

m3asmi
fuente