Fsck nació como una herramienta de búsqueda de errores en el sistema de archivos; errores que más tarde repararía. Se creó originalmente para UNIX, con lo que los sistemas basados en este, tales como Linux o MAC OS X, han heredado dicha herramienta, con lo que podríamos considerarla como una herramienta que puede ser usado en distintos ámbitos. Herramienta cuyo uso, afortunadamente, es muy sencillo. El comando más básico de todos tendría la siguiente estructura: fsck /dev/nombre_disco. Los nombres de los discos suelen comenzar por hb y un número o por sda y un número. Un comando básico de ejemplo sería:
fsck /dev/sda1
El comando básico de por sí simplemente buscaría anomalías en el disco y en caso de haberlas analizaría el sistema de archivos y lo repararía, si bien para cada reparación que hiciese pediría nuestra confirmación.
El comando en sí posee también varios parámetros, algunos más útiles o peligrosos que otros, pero que son convenientes tener en cuenta. Los parámetros más importantes serían:
- -a: Este parámetro hace que todas las acciones realizadas por fsck, se confirme automáticamente; es un parámetro muy cómodo, pero que puede hacer cosas peligrosas sin nuestro consentimiento.
- -f: forzar la verificación aunque todo parezca normal.
- -v: (verbose) despliega más información que de lo normal.
- -r: Con este parámetro forzamos a fsck pedir confirmación para absolutamente todo.
- -y: Otro parámetro muy cómodo. A la hora de reparar un bloque del disco, fsck pide confirmación por defecto. Este parámetro dice sí a dichas preguntas automáticamente.
Para ello hay dos métodos posibles; uno orientado a sistemas basados en sysV y otro basado en systemd. Si se trata de un sistema operativo antiguo indudablemente se estará usando SysV, en cambio, en caso de estar usando un sistema reciente, probablemente esté corriendo bajo systemd.
En sysV
La manera de forzar al sistema para que ejecute fsck en el próximo inicio, siempre y cuando se use este init, sería algo tan simple como escribir el siguiente comando como root.
touch/forcefsck
Este comando simplemente crea un fichero con el nombre forcefsck dentro del directorio raíz del sistema. Dicho fichero forzaría al sistema a realizar fsck, pero no solo eso, sino que además dicho fichero se borraría tras realizar dicha revisión, evitando que el sistema realice la revisión cada vez que se iniciase el sistema operativo en el futuro.
En systemd
En systemd cambia un poco, pues aquí es necesario decirle al kernel que haga la revisión en el inicio, cosa que hará en cada arranque a menos que le indiquemos lo contrario en el futuro. Para ello habría que escribir lo siguiente.
- fsck.mode=force
- fsck.repair=yes
Espero que os haya resultado útil.
Saludos.