Disc corrupte en Linux
Per a solucionar problemes de disc dur en Linux hi ha l’ordre fsck. En principi el sistema està configurat per a executar el fsck de tant en tant quan s’engega l’ordinador. A no ser que ho remenis i ho toquis.
Quan el disc dur falla, el Linux es queda enganxat durant uns segons i apareixen uns missatges "ata1.01: fail…". Si passa això, el millor és tornar a engegar l’ordinador en mode segur (p.e. Ubuntu recovery mode). Quan apareixi la línia d’ordres, cal escriure fdisc -l, per a llistar tots els dispositius disponibles, en el meu cas:
/dev/sda1, /dev/sda2, /dev/sda3
Aleshores, un per un, faig el següent:
- Desmunto el disc, per tal que estigui lliure de feina. umount /dev/sda1
- Comprovo el disc fsck -f /dev/sda1
En cas que apareguin errors més greus al fer fsck o fdisk:
Attempt to read block from filesystem resulted in short read while trying to open /dev/hdc3
Could this be a zero-length partition?
O bé
Cannot read the block (2): (Input/output error)
Aleshores cal recuperar una còpia de seguretat del que se’n diu Superblock del disc. Per fer-ho cal tornar a engegar l’ordinador i fer el següent:
- Quan aparegui la llista de sistemes operatius (menú GRUB) seleccionar el mode segur (p.e Ubuntu recovery mode) i prémer ‘e‘ en comptes de la tecla Retorn, per tal d’editar la línia d’ordres d’engegada del Linux
- Seleccionar la línia kernel /boot/vmlinux… i tornar a prémer ‘e‘
- Afegir al final de la línia d’ordres bs=8193. Amb això el Linux arrencara amb la còpia de seguretat del Superblock que es guarda a la posició 8193 de la memòria.
- Finalment cal prémer ‘b‘ per engegar el Linux en mode segur però amb les ordres especials.
- Si tot va bé ara si que permet fer les ordres fsck com s’ha explicat abans
- Un cop fet el fsck ja es pot tornar a aturar l’ordinador i engegar, normalment com sempre.