avisoimportante dijo:ntfsfix fuerza un chequeo con chkdsk cada vez que se inicia windows, lo que resulta super incomodo.
No estoy seguro si además realiza algún cambio en la partición, y estoy dudando de su funcionalidad.
De momento, les recomendaría NO implementarlo hasta no tener más info. Si alguno tiene más info, favor de comunicarse-
Este post está orientado a aquellas personas que tengan particiones con formato NTFS, y en particular para Ubuntu, pero supongo que funciona en otras distros (si es que este problema existe).
Muchos habrán visto, cuando se inicia Ubuntu, que aparece un mensaje que dice algo así como
fsck desde util-linux-ng 2.17.2
fsck: fsck.ntfs: no se encontró
fsck: Error 2 mientras se ejecutaba fsck. ntfs para /dev/sdb1
Pues eso es correcto, dado que fsck.ntfs aún no existe. Pero hay una alternativa: ntfsprogs. En Ubuntu, creo que desde la 9 viene instalado por defecto. En otras distros, usen su gestor de paquetes para instalarlos.
El programa que nos compete es ntfsfix.
Nota: Este programa NO reemplaza al chkdsk de Windows, pero al menos permite determinar si una partición NTFS está en buen estado o no; luego necesitamos Windows con su chkdsk para solucionar el problema que hubiese (si no tenés Windows, ¿para qué tenés una particion NTFS?).
Para solucionar el inconveniente, y luego de varias pruebas, llegué a este resultado: un script (ta-dah!). Lo que haremos será crear un script que ejecute ntfsfix cuando el sistema llame a fsck.ntfs. Manos a la obra: CTRL+ALT+T (abrimos terminal)
sudo gedit /usr/sbin/fsck.ntfs
Pegan lo siguiente y salvan:
#!/bin/bash
# by HacKan & CuBa co. 2010
# $1 contiene "-a", que ntfsutils no acepta,
# por lo tanto le paso $2, que tiene /dev/sdXY
/usr/bin/ntfsfix "$2"
Le damos permiso de ejecución: sudo chmod +x /usr/sbin/fsck.ntfs
Finalmente: sudo ln -s /usr/sbin/fsck.ntfs-3g /usr/sbin/fsck.ntfs
Con este último comando creamos un enlace, tal que fsck.ntfs-3g apunte a fsck.ntfs.
Como podrán leer en el comentario del script, el sistema llama de la siguiente manera: fsck.ntfs -a /dev/sdXY
donde sdXY es la denominación de la partición correspondiente. Y -a, vaya uno a saber qué será en el futuro, pero ntfsfix no acepta ese parámetro, y por ello en el script le pasamos directamente la partición (/dev/sdXY), que es el segundo parámetro ($2).
Es por ello que la solución que plantean en el foro, indicado como fuente
, no es del todo correcta. Pero ayudó a ubicarme y darme la idea.
Pues bien, eso es todo; muy sencillo realmente. Lo que obtendrán con esto es el siguiente mensaje al inicio, en lugar del error:
fsck desde util-linux-ng 2.17.2
Mounting volume... OK
Processing of $MFT and $MFTMirr completed successfully.
NTFS volume version is 3.1.
NTFS partition /dev/sdb1 was processed successfully.
Eso, y el hecho de realmente estar verificando la partición NTFS, que son frágiles en verdad....
¿Cómo determine estas cosas?
Lo siguiente es puro bullshit, pero si a alguno le interesa cómo llegué a concluir esto, pues sigan leyendo.
Primero, había hecho como indicaba la fuente
, pero me daba error diciendo que "el parámetro -a es deconocido". OK, entonces dije: ¿qué parámetros le pasa el sistema a fsck.ntfs exactamente?
Para saberlo, hice un primer script:
#!/bin/bash
echo "$@"
y lo guardé como se indica más arriba. Luego, me fije en el log de booteo: cat /var/log/boot.log
Nota: en Ubuntu viene desactivado el log de booteo, para activarlo hay que editar el archivo /etc/default/bootlogd y cambiar BOOTLOGD_ENABLE=no por BOOTLOGD_ENABLE=yes, y viceversa para desactivarlo
Y allí leí la línea que decía: -a /dev/sdb1
Listo, problema solucionado: lo que sirve es el segundo parámetro. Entonces escribí el script que está más arriba.
Fuentes
Espero que les sirva
¡Saludos!