El teu blog de Linux en català

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

Les nostres particions, a causa de l’ús, poden arribar a tenir algun tipus d’error, tant a nivell físic (que algun sector quedi inservible) com a nivell lògic (que, per culpa d’una caiguda, hagi quedat mal definit algun inode o descriptor de fitxer, errors en el sector d’inici, etc.). Per a comprovar tots aquests tipus d’errors, la nostra eina és fsck. Quan executem fsck sobre una partició, aquest hi fa una comprovació tant a nivell físic com a nivell lògic. Si hi troba algun tipus d’errada, intenta arreglar-la. Per exemple, pot intentar recuperar dades de sectors defectuosos, marcar aquests sectors com a erronis per tal que no s’hi pugui tornar a escriure més dades, etc.

El programa fsck ja ve instal·lat en la majoria de distribucions, i la seva execució és molt senzilla. Només cal obrir un terminal i executar la comanda següent:

sudo fsck /dev/sdxx

En aquesta comanda, cal substituir “sdxx” pel nostre nom de partició. fsck farà totes les comprovacions i correccions pertinents en la nostra partició. Per a poder executar el fsck sobre una partició, aquesta no pot estar muntada en el nostre sistema. Abans l’hem de desmuntar. Si aquesta partició és un medi extern (disc dur extern, USB, targeta, etc.), no hi tindrem cap problema. Si és una de les nostres particions principals (les que estan muntades a “/”, “/home”, etc.) només podrem fer la comprovació si entrem al sistema amb un LiveCD. De tota manera, en aquest tipus de particions ja es fa una comprovació automàtica més o menys cada 30 vegades que s’inicia l’ordinador, o sigui que segurament no caldrà que les comprovem manualment.

Però hi ha molts tipus de sistemes de fitxers, i un programa que els pugui revisar i arreglar tots hauria de ser força gran. Realment, el fsck fa totes aquests comprovacions? La veritat és que no ho fa directament. fsck és un programa molt petit, que bàsicament el que fa és identificar quin és el tipus del sistema de fitxers que volem comprovar. Si, per exemple, el nostre sistema de fitxers és ext4, el fsck executa, sense que nosaltres ens n’adonem, un programa que es diu “fsck.ext4” que és el que realment fa les comprovacions i correccions pertinents. Hi ha programes “fsck.xxxx” per a molts tipus de fitxers: msdos (fat16 i fat32), vfat, ext2, ext3, ext4, etc.). Però no hi ha cap programa per a comprovar ntfs, per exemple.

En la propera anotació veurem com podem comprovar els errors en particions ntfs.