El teu blog de Linux en català

Comprovació i correcció d'errors en particions ntfs

A l’anotació anterior vam veure com comprovar i corregir errors en les nostres particions per mitjà del programa fsck. Una limitació que tenia aquest programa és que no pot fer aquestes comprovacions en particions ntfs, molt usades perquè és el tipus de partició predeterminat en els sistemes operatius de Microsoft des de Windows XP (bé, en Windows NT també ho era). Per a poder comprovar errors en particions ntfs, hem d’instal·lar-nos el paquet ntfsprogs. Aquest paquet es troba en els repositoris oficials de la majoria de distribucions, o sigui que el podem instal·lar des del gestor de paquets propi de la nostra distribució (Synaptic si estem utilitzant Ubuntu) o, si ho preferim, des d’un terminal:

sudo apt-get install ntfsprogs

Dins d’aquest paquet, hi ha el programa ntfsfix, que és el que ens servirà per a comprovar errors en particions ntfs. Una dada que cal tenir en compte és que ntfsfix no fa una comprovació tan completa com el fsck en els altres tipus de particions (per exemple, no fa una comprovació de sectors defectuosos), però sí una comprovació bàsica que pot arreglar els problemes més habituals amb aquest tipus de particions. Jo mateix m’he trobat amb problemes amb particions ntfs que no podia muntar, que he pogut arreglar ràpidament amb ntfsfix. Un cop instal·lat el paquet, l’execució de ntfsfix és molt senzilla. Només cal executar en un terminal l’ordre següent:

sudo ntfsfix /dev/sdxx

En aquesta comanda, cal substituir “sdxx” pel nom de la nostra partició.

A més, en el meu cas he integrat l’execució del programa ntfsfix en el fsck. Així, quan vull comprovar una partició, només hi he de passar el fsck, sense haver de tenir en compte si és una partició ntfs o no. Per a poder integrar ntfsfix en el fsck, hem de tenir en compte el que comentava en l’anterior anotació. Com explicàvem, quan fsck troba que una partició és ntfs, intenta executar el programa fsck.ntfs, que no existeix. Doncs la solució per integrar ntfsfix en fsck és molt senzilla: crear un “programa” fsck.ntfs que, realment,  sigui un enllaç al ntfsfix. Així, quan executem fsck sobre una partició ntfs, el fsck cridarà al ntfsfix. Això ho podem fer des d’un terminal, per mitjà de la comanda següent:

sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs

Un cop hàgim executat aquesta comanda, ja podrem fer una comprovació de partició (fins i tot si és ntfs) per mitjà de la comanda:

sudo fsck /dev/sdxx

3 comments

    • Gontzal on 4 de novembre de 2010 at 12:14

    Reply

    Moitas gracies, 🙂
    He conseguido arreglar una particion ntfs un tanto estropeada 🙂
    Mile esker, deu

    • Jorge on 27 d'abril de 2011 at 20:40

    Reply

    Hola soy de El Salvador, lei tu artiuculo y lleve todo a cabo pero este fue el resultado, podrias indicarme en que he fallado:

    buntu@ubuntu:~$ sudo ntfsfix /dev/sdb2
    Mounting volume… pread: Input/output error
    Failed to calculate number of free clusters: Input/output error.
    FAILED
    Attempting to correct errors…
    Processing $MFT and $MFTMirr…
    Reading $MFT… OK
    Reading $MFTMirr… OK
    Comparing $MFTMirr to $MFT… OK
    Processing of $MFT and $MFTMirr completed successfully.
    Setting required flags on partition… OK
    Going to empty the journal ($LogFile)… OK
    pread: Input/output error
    Failed to calculate number of free clusters: Input/output error.
    Remount failed: Input/output error.
    ubuntu@ubuntu:~$ sudo ln -s /usr/bin/ntfsfix /sbin/fsck.ntfs
    ubuntu@ubuntu:~$ sudo fsck /dev/sdb2
    fsck desde util-linux-ng 2.17.2
    Mounting volume… pread: Input/output error
    Failed to calculate number of free clusters: Input/output error.
    FAILED
    Attempting to correct errors…
    Processing $MFT and $MFTMirr…
    Reading $MFT… OK
    Reading $MFTMirr… OK
    Comparing $MFTMirr to $MFT… OK
    Processing of $MFT and $MFTMirr completed successfully.
    Setting required flags on partition… OK
    Going to empty the journal ($LogFile)… OK
    pread: Input/output error
    Failed to calculate number of free clusters: Input/output error.
    Remount failed: Input/output error.

      • oriolsbd on 30 d'abril de 2011 at 22:20
      • Author

      Reply

      El ntfsfix va mejorando, pero aún no es capaz de resolver todos los errores de particiones NTFS (cada vez puede arreglar más errores). En este caso, creo que lo que passa es que encuentra un error que no sabe resolver. O hasta podría ser un error físico del disco (por los mensajes que da). Lo mejor es que intentes arreglar estos errores des de un chkdsk de Windows.

      Otra opción es intentar instalarte la última versión de ntfsprogs (salió el 10 de abril). Precisamente hace poco se han unido los proyectos ntfs-3g (que permite montar, leer y escribir particiones ntfs) con el ntfsprogs (que contiene diversas utilidades sobre ntfs, como por ejemplo ntffsfix). De todos modos, no creo que sea la mejor opción, porque ni puedo asegurar que pueda resolverte el problema, y además se tiene que instalar compilando su código fuente (lo puedes encontrar aquí (http://www.tuxera.com/community/ntfs-3g-download/), y no tengo claro si eso puede afectar al ntfs-3g que tienes instalado actualmente. A ser posible, intenta reparar esta partición ntfs des de Windows.

Deixa un comentari

Your email address will not be published.