# rescue di una partizione fat32

## C4RD0Z4

ciao a tutti,

mi è capitata un'altra piccola disgrazia. Mi accingevo a reisntallare Gentoo sul mio computer fisso. Arrivato alla configurazione di grub.conf ho sbagliato qualcosa nelle partizioni. Ora non vorrei che questo mio erroe, prontamente corretto, fosse la causa della dipartita ( spero solo apparente ), della mia preziosa partizione fat32 dove c'erano tutte le mie foto... D'oh!!! 

Cmq ho cercato su Google e qualcosina ho trovato: http://lists.pluto.it/pipermail/pluto-help/2001-March/000745.html

Nell'articolo, in sintesi, si dice che è possibile fare un backup, salvarlo su un file, rispristinare la partizione scompattando il file nella partizione in questione.

```
dd if=/dev/hda1 of=path/file_di_backup

oppure

cat /dev/hda1|bzip2 -c>path/file_di_backup.bz2

```

Per creare il backup.

```
dd if=path/file_di_backup of=/dev/hda1

o

bunzip2 -c path/file_di_backup.bz2>/dev/hda1

```

Per ripristinare la partizione.

```
mount -t vfat path/file_di_backup /mountpoint -o loop
```

Per montare in locale un immagine in un file, usando il lopback device. Ecco, questa ultima parte, non mi è un grachè chiara.

Ora però c'è un problema. Non ho abbastanza spazio sul fisso per copiare 20GB di roba. Allora mi è venuta un'idea, ma non so come fare: potrei, avviando linux sul fisso  e facendo partire sshd, collegarmi con il portatile tramite ssh e dare il comando per il backup. E' possibile? Se si come posso fare?

----------

## makoomba

sul portatile dai

```
ssh pcfisso "dd if=/dev/hda1" > /dirPortatile/backup
```

----------

## Kernel78

 *C4RD0Z4 wrote:*   

> 
> 
> Ora però c'è un problema. Non ho abbastanza spazio sul fisso per copiare 20GB di roba. Allora mi è venuta un'idea, ma non so come fare: potrei, avviando linux sul fisso  e facendo partire sshd, collegarmi con il portatile tramite ssh e dare il comando per il backup. E' possibile? Se si come posso fare?
> 
> 

 

Non mi è molto chiaro il tuo problema ma se ti conneti ad una macchina tramite ssh è come se fossi su quella macchina e quindi l'hd (o gli hd) che vedi sono quelli della macchina e se non hai 20 GB liberi continui a non avere 20 GB liberi a prescindere da dove ti connetti ...

Al massimo potresti rendere visibile sulla tua macchina una directory remota (tramite nfs, samba o altro) e puntarci l'output del dd

----------

## wildancer

Ehssi, bel dramma... spero per te che tu abbia gigabit ethernet e un filesystem sul portatile che sia performante con i grossi files...

ah, ti consiglio di usare netcat, perche non so se usando ssh come sopra consigliato ti schiaffa l'output sull'hd del fisso comunque! Nel senzo che in teoria esci subito dopo il comando, con quella sintassi, ma non so se torni nell'ambiente chiamante prima o dopo la fine dell'output!

----------

## C4RD0Z4

 *Kernel78 wrote:*   

> Non mi è molto chiaro il tuo problema ma se ti conneti ad una macchina tramite ssh è come se fossi su quella macchina e quindi l'hd (o gli hd) che vedi sono quelli della macchina e se non hai 20 GB liberi continui a non avere 20 GB liberi a prescindere da dove ti connetti ...
> 
> Al massimo potresti rendere visibile sulla tua macchina una directory remota (tramite nfs, samba o altro) e puntarci l'output del dd

 

E' esattamente quello che non so fare. Vabbè, proverò ad usare nfs. Speriamo bene...

----------

## makoomba

C4RD0Z4, ti ho spiegato come fare nel primo reply

----------

## C4RD0Z4

 *makoomba wrote:*   

> C4RD0Z4, ti ho spiegato come fare nel primo reply

 ah già! scusa la svista

----------

## C4RD0Z4

e se usassi partimage? qualcuno lo conosce?

----------

## C4RD0Z4

 *makoomba wrote:*   

> sul portatile dai
> 
> ```
> ssh pcfisso "dd if=/dev/hda1" > /dirPortatile/backup
> ```
> ...

 

ma la parte dove dice "of=/path" devo ometterla???

----------

## makoomba

sì.

l'output di default è /dev/stdout, con "> file" lo redirigi verso un file sul portatile.

----------

## Kernel78

Interessante, questa possibilità non la conoscevo ...

Sarà perchè mi collego con Putty dal pc aziendale e quindi non mi sono mai connesso con ssh da un pc con linux   :Embarassed: 

----------

## makoomba

è molto comodo.

ci faccio i backup al volo quando il masterizzatore è su un'altra macchina.

```
ssh server "mkisofs /backup/*" |  growisofs -Z /dev/dvd=/dev/fd/0
```

----------

## C4RD0Z4

 *makoomba wrote:*   

> sul portatile dai
> 
> ```
> ssh pcfisso "dd if=/dev/hda1" > /dirPortatile/backup
> ```
> ...

 e se sostituissi a dd if=/dev/hda1, cat /dev/hda1|bzip2 -c

----------

## Kernel78

Se proprio vuoi non puoi semplicemente bzippare l'output di dd ?

Tieni anche conto dei tempi necessari per comprimere/decomprimere un file da 20GB   :Shocked: 

----------

## makoomba

meglio

```
ssh pcfisso "dd if=/dev/hda1 | bzip2" > /dirPortatile/backup.bz2
```

ma per montarlo lo devi scompattare.

----------

## C4RD0Z4

e per riutilizzare la partizione che ho copiato? come posso ripristinarla una volta che ho ottenuto il mega_file???

----------

## C4RD0Z4

allora, ho provato a dare questo comando:

```
ssh ip_del_fisso "dd if=/dev/hda2" > /home/marco/backups/backup_fat32
```

e questo è l'output, dopo un po' di ore che erano accesi i 2 pc:

```
dd: reading `/dev/hda2': Input/output error

13362080+0 records in

13362080+0 records out
```

qualcosa non va presumo... cosa posso tentare???

----------

## Kernel78

Domanda stupida: c'è abbastanza spazio libero dove vuoi mettere la copia ?

----------

## C4RD0Z4

si

----------

## Kernel78

e la partizione che deve ricevere la copia può gestire file da 20 gb ?

----------

## makoomba

puoi provare aggiungendo conv=noerror,sync

presumendo che tu non abbia cancellato backup_fat32, per non perdere quanto già trasferito dai

```
ssh ip_del_fisso "dd if=/dev/hda2 conv=noerror,sync skip=13362080" >> /home/marco/backups/backup_fat32
```

----------

## randomaze

 *C4RD0Z4 wrote:*   

> dd: reading `/dev/hda2': Input/output error

 

Vorrei sbagliare ma mi sa quel "Input/output error" portebbe significare che il disco é andato (o se ne sta andando).

Cosa dicono i log della macchina?

----------

## C4RD0Z4

il fisso? e se fosse un problema di LBA? come si potrebbe risolvere???

----------

## C4RD0Z4

 *Kernel78 wrote:*   

> e la partizione che deve ricevere la copia può gestire file da 20 gb ?

 

in che senso? penso di si. E' formattata con ext3 ed ha 38GB liberi.

----------

## makoomba

quell' "Input/output error" denota, molto probabilmente, settori difettosi sulla partizione.

l'opzione conv=noerror,sync dovrebbe permetterti terminare la copia dei dati.

ciò non garantisce che alla fine sarai in grado di montare il file, ma in assenza di alternative...

----------

## C4RD0Z4

 *makoomba wrote:*   

> quell' "Input/output error" denota, molto probabilmente, settori difettosi sulla partizione.
> 
> l'opzione conv=noerror,sync dovrebbe permetterti terminare la copia dei dati.
> 
> ciò non garantisce che alla fine sarai in grado di montare il file, ma in assenza di alternative...

 

comunque mi da ancora errori di Input/Output. La cosa buona è che non si interrompe e continua lo stesso. Comunque devo aggiungere una cosa. Io prima di fare sta menata ho provato a usare partimage, un programma davvero carino. Il problema è che la mia /dev/hda2 invece che vederla fat32, la vedeva com swap. Può essere uno dei motivi per gli errori di Input/Output?

----------

## makoomba

no.

----------

## C4RD0Z4

ho il mio bravo file di backup grosso circa 30GB. 

Ora, ho dato il comando 

```
mount -t vfat backups/fat32_backup /mnt/prova/ -o loop
```

e questo è l'output:

```
mount: tipo fs errato, opzione non valida, superblocco su /dev/loop0 danneggiato,

       o troppi file system montati

       (could this be the IDE device where you in fact use

       ide-scsi so that sr0 or sda or so is needed?)

```

quindo il problema è nel superblocco. Ora, c'è un modo per rigenerare questo fantomatico superblocco???

----------

## makoomba

```
app-admin/testdisk 

     Available versions:  5.2 ~5.7 5.9 ~6.2

     Installed:           none

     Homepage:            http://www.cgsecurity.org/index.html?testdisk.html

     Description:         Multi-platform tool to check and undelete partition, supports reiserfs, ntfs, fat32, ext2/3 and many others. Also includes PhotoRec to recover pictures from digital camera memory.

```

mai usato però.

----------

## C4RD0Z4

ho provato ad usarlo, ma non ci capisco una mazza... Nei vari tentativi, ho mess anche su il cd di Winporc e ho tentato un fixboot sulla fat32... risultato? Beh, dopo la fat32, c'erano le partizioni di Linux. Una primaria e 2 logiche ( contenute da una extended ). Bene Windooze ha trasformato magicamente la partizione extended Linux in partizone extended Windows. Il colmo è che le 2 logiche di linux c'erano ancora e tutto si avviava normalmente! Solo cfdisk sclerava...

Cmq, ora mi trovo in una situazione stagnante. Sul fisso ora c'è solo una partizione fat32 non bootabile e basta. Ho segato via le 2 di linux ( eliminando quella cosa orribile della windows-extended che contiene cose che non dovrebbero competerle ) e la ntfs. La cosa curiosa: con testdisk ho provato a analizzare il disco per darlgli una "nuova" tabella delle partizioni. Il problema è che consente solo di ripristinare una sola partizione primaria (forse, però, la colpa è dei miei smanettamenti iniziali con testdisk ). Quando tento di dare una "nuova" configurazione alle partizioni, il programmino vede tutte le partizioni che c'erano e vede anche all'iterno. Quindi, anche se nella tabella delle partizioni attuali c'è solo la fat32, testdisk vede le 3 vecchie partizioni di Linux e la partizione NTFS. Inoltre si possono vedere i file all'interno delle partizioni, cosa questa rassicurante... Quindi se i file all'interno delle partizioni vengono visti, come cacchio posso fare per recuperarli? 

Aggiungo anche che sul mio portatile è presente una copia fatta con dd, della partizione fat32. E' una copia un po' stramba, perchè l'ho fatta ignorando gli errori che mi avrebbe potuto dare. ( guardare qualche messaggio più in alto ).

Sono disperato...   :Sad:   :Sad:   :Sad: 

EDIT: quando cerco di montare la partizione fat32 con mount -t vfat /dev/hda1 /mnt/pippo mi da un bell mount: /dev/hda1: can't read superblock

----------

## randomaze

 *C4RD0Z4 wrote:*   

> ho provato ad usarlo, ma non ci capisco una mazza... Nei vari tentativi, ho mess anche su il cd di Winporc e ho tentato un fixboot sulla fat32... risultato? Beh, dopo la fat32, c'erano le partizioni di Linux. Una primaria e 2 logiche ( contenute da una extended ). Bene Windooze ha trasformato magicamente la partizione extended Linux in partizone extended Windows. Il colmo è che le 2 logiche di linux c'erano ancora e tutto si avviava normalmente! Solo cfdisk sclerava...

 

Mmmm credevo che le partizioni "extended" fossero solo di un tipo.

 *Quote:*   

> Cmq, ora mi trovo in una situazione stagnante. 
> 
> ...
> 
> Sono disperato...    

 

Ripartiamo dall'inizio perché non ho capito troppo.

Dove vuoi arrivare esattamente? Ad avere la partizione bootable? A recuperare le partizioni che hai "segato via"? A leggere i dati della partizione w32 rimasta?

----------

## C4RD0Z4

allora, il mio obiettivo è recuperare tutti i dati che avevo nella FAT32 e nella NTFS ( foto e musica, in particolare ). Il problema è che ora sembra che vada "tutto bene". Nella tabella delle partizioni c'è solo la FAT32. Ma non riesco a montarla per poterci leggere dentro. Prò ho noato che tramite testdisk, posso vederci dentro e credo ci sia ancora tutto.

----------

## randomaze

 *C4RD0Z4 wrote:*   

> Nella tabella delle partizioni c'è solo la FAT32. Ma non riesco a montarla per poterci leggere dentro. Prò ho noato che tramite testdisk, posso vederci dentro e credo ci sia ancora tutto.

 

Se la fat32 in questione é la stessa che hai copiato con dd ti conviene copiarla ancora (i backup non sono mai troppi) e montarla con il loopback. In questa maniera puoi anche usare strumenti di check senza paura di distruggere tutto.

Per la partizione ntfs dovresti controllare se testdisk é in grado di risistemare lui la tabella delle partizioni, in caso contrario da testdisk guardi i punti di inizio e fine delle partizioni e, con cfdisk, le ricrei identiche.

Ti ricordo che cfdisk modifica solo la tabella delle partizioni e non il contenuto delle stesse, allora se tu ricrei la tabella in maniera identica all'originale dovresti poter riaccedere anche alla partizione NTFS.

----------

## C4RD0Z4

 *randomaze wrote:*   

> Se la fat32 in questione é la stessa che hai copiato con dd ti conviene copiarla ancora (i backup non sono mai troppi) e montarla con il loopback. In questa maniera puoi anche usare strumenti di check senza paura di distruggere tutto.

 

ok, proverò a ricopiarla ( ovviamente tramite ssh sul portatile... ). Il pb, però è che ho già provato a montarla con il loopback, ma non ha dato nessun risultato.

 *randomaze wrote:*   

> Per la partizione ntfs dovresti controllare se testdisk é in grado di risistemare lui la tabella delle partizioni, in caso contrario da testdisk guardi i punti di inizio e fine delle partizioni e, con cfdisk, le ricrei identiche.
> 
> Ti ricordo che cfdisk modifica solo la tabella delle partizioni e non il contenuto delle stesse, allora se tu ricrei la tabella in maniera identica all'originale dovresti poter riaccedere anche alla partizione NTFS.

 

con cfdisk o con fdisk?

Ah, mi ero dimenticato una cosa. Secondo testdisk, io dovrei avere 255 testine per cilindro invece di 16. C'è da fidarsi?

E se tentassi con cfdisk o fdisk di fare una partizione fat con le stesse dimensioni della attuale?

----------

## randomaze

 *C4RD0Z4 wrote:*   

> Il pb, però è che ho già provato a montarla con il loopback, ma non ha dato nessun risultato.

 

Vedo adesso il post, scusami.

Controlla la man page di fscheck.vfat o qualcosa di simile, al limite prova a cercare con google per vedere come rifare il superblocco.

 *Quote:*   

> con cfdisk o con fdisk?

 

dovrebbero essere equivalenti da quel punto di vista

 *Quote:*   

> Ah, mi ero dimenticato una cosa. Secondo testdisk, io dovrei avere 255 testine per cilindro invece di 16. C'è da fidarsi?

 

Potrebbe dipendere da come é formattato a basso livello il disco. Ma, non avendo mai usato testdisk non ti so dire

 *Quote:*   

> E se tentassi con cfdisk o fdisk di fare una partizione fat con le stesse dimensioni della attuale?

 

Il mio consiglio é quello di lavorare sulla partizione che hai duplicato in locale. Se inavvertitamente fai danni sul disco questi saranno irreparabili.

----------

## C4RD0Z4

allora, la ntfs è leggilbile. Ho usato cfdisk ed ho ricreato la partizione. Ora rimane da risolvere il problema della fat32.

----------

