Hasta la fecha no he encontrado nada que haga las defragmentación de los sistemas de archivos FAT/FAT32 y NTFS.
Mi aporte es que se puede ejecutar fsck.vfat para hacer comprobaciones de consistencia en las unidades formateadas en fat16/fat32.
Éste sería el equivalente a chkdsk del MS-DOS
Para más información sobre el comando fsck.vfat escribir:
Para realizar la comprobación de la unidad C:\ o bien D:\ sólo es cuestión de ejecutar el comando sobre la unidad "device".man fsck.vfat
Primeramente debemos saber la forma en que están montados los diferentes dispositivos
El comando "kdesu" nos abre la bash con privilegios de superusuario.- Alt+F2
- Escribir en la línea de comandos: kdesu konsole
- Introducir password
- Una vez abierta la shell, ejecutar: fdisk -l
Igualmente hubiera sido correcto haber abierto konsole en modo estándar (sin privilegios) y después haber escrito "su" en la línea del prompt para logearnos como superusuario root.
En mi caso tengo tres unidades de disco físicamente independientes. El resultado que arroja el comando anterior es el siguiente.
En negrita y rojo he reseñado la unidad formateada en el sistema de archivos FAT.Disco /dev/sda: 320.0 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0xff7eae1f
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 1 5307 42628446 17 HPFS/NTFS oculta
/dev/sda2 * 5308 10684 43190752+ 7 HPFS/NTFS
/dev/sda3 10685 38913 226749442+ 5 Extendida
/dev/sda5 10685 38913 226749411 7 HPFS/NTFS
Disco /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0xa873a873
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb2 * 2 121601 976752000 f W95 Ext'd (LBA)
/dev/sdb5 2 121601 976751968+ 6 FAT16
Disco /dev/sdc: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x7bc3e50e
Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdc1 * 1 4054 32563723+ 83 Linux
/dev/sdc2 4055 7494 27631800 83 Linux
/dev/sdc3 7495 60596 426541815 83 Linux
/dev/sdc4 60597 60801 1646662+ 5 Extendida
/dev/sdc5 60597 60655 473886 83 Linux
/dev/sdc6 60656 60801 1172713+ 82 Linux swap / Solaris
En mi caso, la línea de comandos a utilizar sería:
El flag "-a" corrige automáticamente todos los errores de la partición y es equivalente al comando MS-DOS "chkdsk /f".fsck.vfat -a /dev/sdb5
Los diferentes flags del comando son los siguiente (incluyo traducciones de los mismos en rojo):
Hacer reseñar que el disco sdb lo tengo formateado como lógico, razón por la que aparece una unidad primaria sdb1(primaria extendida) y la corres unidad lógica sdb5.Flags para el comando fsck.vfat.
-a automatically repair the file system (Automáticamente repara sistema de archivos)
-A toggle Atari file system format (Cambia de estado al formato de sistema de archivos de Atari)
-d path drop that file
-f salvage unused chains to files (Recupera cadenas de archivos no usadas de archivos)
-l list path names (Lista nombres de la ruta)
-n no-op, check non-interactively without changing (Comprueba la no-interactividad sin cambios)
-r interactively repair the file system (Repara el sistema de archivos de forma interactiva)
-t test for bad clusters (Comprueba los clusters erroneos)
-u path try to undelete that (non-directory) file (Intenta des-borrar ese archivo [no vale para directorios])
-v verbose mode (Modo "verbose": indica los pasos aportando información detallada)
-V perform a verification pass (Realiza una verificación de las claves)
-w write changes to disk immediately (Escribe los camios al disco inmediatamente)
-y same as -a, for compat with other *fsck (Igual que "-a", para compatibilizar con otros comandos tipo *fsck)
En un hd sólo puede haber 4 unidades primarias por lo que la primer lógica siempre es sdb5 independientemente del número de unidades primarias que haya.
Todas las unidades lógicas deben ir contenidas dentro de una unidad primaria extendida, en este caso sdb1.
INFORMACIÓN ADICIONAL
Una opción muy interesante es ejecutar el comando de forma secuencial según la tabla de puntos de montaje es:
Con este comando efectuamos la comprobación de todos los sistemas de archivos montados según /etc/fstab.fsck -A
Es importante que todos los sistemas estén desmontados. De lo contrario nos aparecerá un mensaje de advertencia.
Artículo relacionado extraído de Wikipedia.
http://es.wikipedia.org/wiki/E2fsprogs
El paquete e2fsprogs (también llamado programas e2fs) es un conjunto de utilidades para mantenimiento de los sistemas de archivos ext2, ext3 y ext4. Debido a que estos son generalmente los sistemas de archivos por defecto en las distribuciones Linux, comúnmente se considera al paquete e2fsprogs software esencial.
e2fsprogs incluye:
e2fsck, un programa fsck que busca y corrige inconsistencias;
mke2fs, usado para crear sistemas de archivos ext2, ext3, y ext4;
resize2fs, que puede expandir y contraer sistemas de archivos ext2, ext3, y ext4;
tune2fs, usado para modificar los parámetros en el sistema de archivos;
dumpe2fs, que muestra la información de bloques y superbloques;
debugfs, usado para visualizar o modificar estructuras internas del sistema de archivos manualmente.
Muchas de estas utilidades están basadas en la librería libext2fs.
A pesar de lo que su nombre pueda sugerir, los programas e2fs funcionan no solo con ext2 sino también con ext3, que está basado en este último. Aunque la capacidad de journaling de ext3 puede reducir la necesidad de uso de e2fsck, en ocasiones es necesario para asistir en la protección contra bugs del núcleo o hardware defectuoso.
Como aplicaciones de Espacio de usuario para los controladores ext2, ext3 y ext4 del núcleo Linux, los e2fsprogs son más comúnmente usados con el sistema operativo Linux. Sin embargo, han sido portados a otros sistemas, como FreeBSD y Darwin.
Espero sea de ayuda para usuarios "absolute beginners" como yo.
Marcadores