linux user group brescia

immagine del castello

Archivio della mailing list

Mezza disgrazia

Maurizio Paolini paolini a dmf.unicatt.it
Lun 2 Apr 2007 19:45:30 UTC
On Mon, Apr 02, 2007 at 07:56:22PM +0200, andrea.turchi a email.it wrote:
> Oggi pomeriggio stavo lavorando ed ho abbandonato per un po' il pc. AL mio
> ritorno ho lanciato un programma (la posta se non erro) e l'hd ha fatto uno
> scricchiolio dopodichè è rimasto fermo con la spia relativa sul case accesa.
> Tutto bloccato tranne il mouse.
>[...]

OK, come dice Bevilacqua prima di tutto salva da qualche parte anche le altre
partizioni del disco, e' possibile che il disco stia passando a miglior vita...

fatto questo veniamo alla questione: evidentemente si e' rovinato perlomeno
il superblocco del filesystem (ext2 o ext3, suppongo).

Se si fosse perso solo quello si potrebbe montare il filesystem indicando un
superblocco di backup; ecco quel che dice il manuale (man mount):

      sb=n   Instead  of  block  1,  use  block  n as superblock. This could be useful when the
              filesystem has been damaged.  (Earlier, copies of the  superblock  would  be  made
              every  8192  blocks: in block 1, 8193, 16385, ... (and one got thousands of copies
              on a big filesystem). Since version 1.08, mke2fs  has  a  -s  (sparse  superblock)
              option  to reduce the number of backup superblocks, and since version 1.15 this is
              the default. Note that this may mean that ext2 filesystems  created  by  a  recent
              mke2fs  cannot  be  mounted r/w under Linux 2.0.*.)  The block number here uses 1k
              units. Thus, if you want to use logical  block  32768  on  a  filesystem  with  4k
              blocks, use "sb=131072".

quindi uno proverebbe un comando del tipo "mount -o sb=n /dev/??? /mnt/???
dove bisogna capire cosa scrivere al posto di "n".  Ho fatto un "dumpe2fs" su un mio filesystem
trovo:

  Backup superblock at 32768, Group descriptors at 32769-32769
  Backup superblock at 98304, Group descriptors at 98305-98305
  Backup superblock at 163840, Group descriptors at 163841-163841
  Backup superblock at 229376, Group descriptors at 229377-229377
  Backup superblock at 294912, Group descriptors at 294913-294913
  Backup superblock at 819200, Group descriptors at 819201-819201
  Backup superblock at 884736, Group descriptors at 884737-884737
  Backup superblock at 1605632, Group descriptors at 1605633-1605633

quindi un "sb=131072" potrebbe essere un tentativo da fare (vedi ultima riga del manuale
che ho citato qui sopra.

Naturalmente se il danno e' piu' grave questo potrebbe non funzionare!

Nota a margine; e' sempre possibile agire sulla partizione a basso livello;
ad esempio un comando tipo

   # cat /dev/??? | strings | grep -i "informazione importante"

cerca la presenza della sequenza di bytes "informazione importante" dentro
la partizione;  "dd" puo' essere usato al posto di cat
 
> Dopo vari tentativi ho dovuto resettare e alla partenza grub mi avvisa che
> non riesce a trovare la partizione (error 17).
> Ho riavviato con una live ed ho visto che solo la partizione di root (/) sul
> disco non funzionava, una prima in ntfs e la home in ext3 erano leggibili e
> scrivibili.

Salva subito la "home"!

Nota a margine: questa e' un esempio del perche' puo' essere conveniente 
creare piu' partizioni piccole anziche' una unica monopartizione...

mp




Maggiori informazioni sulla lista Lug