Avanti Indietro Indice

8. Risolvere il problema

Per favore, stai attento! Seguire le spiegazioni date qui ti porterà a tornare a un sistema precedente, perdendo tutti quelli che hai installato più di recente, se ce ne sono! Devi scegliere...

8.1 Il caso più semplice

Tutto è semplice se hai a portata di mano:

È sufficiente

  1. avviare Linux,
  2. avviare fdisk /dev/hda (o qualunque sia il disco da riparare),
  3. usare fdisk per cancellare (opzione d) tutte le partizioni esistenti sul disco danneggiato,
  4. usare fdisk per creare tutte le partizioni primarie (1-4) elencate sul foglio,
  5. dargli il tag appropriato (opzione t): 82 è per una partizione swap di Linux, 83 per una partizione principale di Linux (L fornisce una lista), 5 per una partizione estesa, e deve essere fatta prima di creare partizioni logiche.
  6. creare le partizioni logiche.

fdisk è un programma piccolo e molto intelligente. Ce ne sono molti altre versioni, ma preferisco sempre quello nudo e crudo (parlo ovviamente di quelli per Linux, non degli altri...).

Sappi che fdisk non scrive nulla sul disco prima che tu digiti w e return. Se temi di aver sbagliato, digita q (quit) o Ctrl C (\^{ }C) per uscire in tutta sicurezza.

Quando la tua nuova tabella delle partizioni è scritta, avvia Linux. C'è la possibilità che tu non possa farlo come al solito: LILO può esser stato danneggiato, e avrai bisogno di un dischetto di boot o di avviare da un CD (scegli l'opzione "avvio di una partizione installata").

Se di solito avvii con LILO, appena sei entrato nel sistema come root, digita "lilo" e premi return per reinstallare il tuo boot loader preferito.

Il tuo Linux dovrebbe essere tutto di nuovo qui; provalo. Prova anche ad avviare Windows, nel caso. Se non puoi, c'è una (molto scarsa) possibilità che tu possa leggere i tuoi dati da Linux, magari con una lettura settore per settore, a basso livello. Se riesci ad identificare i settori del disco su cui sono i tuoi dati, usando dd puoi copiarli su un file. Questo è saggio solo per il testo. Questo tipo di recupero NON è l'ambito di questo mini-HOWTO.

8.2 Un caso non così semplice

A mano

Questo metodo spiega come fare quando il caso precedente non è applicabile, per mancanza del foglio di fdisk o se non funziona perché se ne usa uno obsoleto.

Per prima cosa, sappi che finchè non scrivi sul disco (con altri programmi che fdisk), non rischi di cancellare i tuoi dati, perciò puoi provare blocco per blocco. Il che vuol dire che hai bisogno di sapere l'inizio della partizione, tanto per cominciare. Se, diciamo, un 153 non calza, prova un 154, e così via.

Questo può essere noioso, ma se ti ricordi approssimativamente la dimensione della partizione Linux, c'è una possibilità di riuscire.

gpart

Ma c'è un modo migliore se puoi ancora accedere alla rete o hai a disposizione "gpart".

"gpart - guess PC-type hard disk partitions" ("gpart - indovina le partizioni in stile PC di un disco rigido") è la prima riga della pagina man di gpart (man gpart).

"gpart prova ad indovinare che partizioni ci sono sul disco rigido. Se la tabella delle partizioni primaria è andata perduta, sovrascritta o distrutta, le partizioni esistono ancora sul disco, ma il sistema operativo non può accedervi.". Questo è esattamente ciò di cui abbiamo bisogno.

gpart è ancora in beta, ma è già uno strumento davvero buono.

La questione è la seguente: il primo blocco di ogni partizione è etichettato. Ma non viene mai "dis-etichettato" se non è sovrascritto. Perciò su un disco usato sono presenti molti "blocchi di inizio partizione", e gpart prova a fare del suo meglio per indovinare qual'è quello buono. In effetti non è troppo difficile provare, nulla viene scritto sul disco da gpart.

Qui c'è il risultato di gpart sul disco hdb visto in precedenza:

root@charles:/home/jdd > gpart /dev/hdb

Begin scan...

Possible partition(Linux ext2), size(1200Mb), offset(0Mb)

Possible partition(Windows NTFS), size(1200Mb), offset(1200Mb)

Possible partition(Linux ext2), size(1004Mb), offset(2402Mb)

Possible partition(Windows NTFS), size(1600Mb), offset(4102Mb)

End scan.

Checking partitions...

* Warning: partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX) ends beyond disk end .

Partition(Linux ext2 filesystem): primary

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): primary

Partition(Linux ext2 filesystem): primary

Partition(OS/2 HPFS, NTFS, QNX or Advanced UNIX): invalid primary

Ok.

Guessed primary partition table:

Primary partition(1)

type: 131(0x83)(Linux ext2 filesystem)

size: 1200mb #s(2457880) s(63-2457942)

chs: (0/1/1)-(152/254/61)d (0/1/1)-(152/254/61)r

Primary partition(2)

type: 007(0x07)(OS/2 HPFS, NTFS, QNX or Advanced UNIX)

size: 1200mb #s(2457880) s(2457944-4915823)

chs: (152/254/63)-(305/253/60)d (152/254/63)-(305/253/60)r

Primary partition(3)

type: 131(0x83)(Linux ext2 filesystem)

size: 1004mb #s(2056256) s(4919781-6976036)

chs: (306/61/49)-(434/60/47)d (306/61/49)-(434/60/47)r

Primary partition(4)

type: 000(0x00)(unused) size: 0mb #s(0) s(0-0) chs: (0/0/0)-(0/0/0)d (0/0/0)-(0/0/0)r

Come vedi, la partizione primaria può essere recuperata, mentre per quelle estese c'è ancora strada da fare.

Le partizioni Dos sono etichettate "windows NTFS" perché sono state create provando ad installare Windows 2000 (un'esperienza proprio terribile!). Quella "invalid" è, nei fatti, la partizione estesa.

Detto ciò, si può usare fdisk e tentare di ri-creare la tabella delle partizioni (ricorda, questo non comporta rischi, l'originale è già persa).

8.3 Il caso del riccone

Partition Magic è un prodotto commerciale, non così economico se rapportato alle poche occasioni in cui se ne deve far uso (approssimativamente centocinquantamila lire), ma con una reputazione molto elevata. Comunque, non l'ho mai usato e non ne darò giudizi. Se ne dice che è in grado di fare tutto con le partizioni, compreso recuperarle.

L'originale partition-rescue mini HOWTO di Ralf era essenzialmente basato sull'uso di Partition Magic, per cui presumo sia una soluzione molto buona se hai dati preziosi sulla tua partizione Linux, e poche possibilità riguardo a Linux. Comunque ci sono versioni molto recenti di Partition Magic e penso sia meglio consultare il manuale.


Avanti Indietro Indice