El Noguer

Joaquim Perez i Noguer

Disc corrupte en Linux

Filed under: Linux,Seguretat — Joaquim Perez Noguer at 2:52 pm on Dilluns, agost 11, 2008

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.



No Comments »

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>