Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati
  • Differenze per "AmministrazioneSistema/RecuperoDati"
Differenze tra le versioni 40 e 41
Versione 40 del 11/12/2010 18.57.35
Dimensione: 22060
Commento: dopo
Versione 41 del 11/12/2010 18.58.12
Dimensione: 22069
Commento:
Le cancellazioni sono segnalate in questo modo. Le aggiunte sono segnalate in questo modo.
Linea 3: Linea 3:
[[Indice]] [[Indice(depth=1)]]

Indice(depth=1)

Introduzione

I file eliminati o persi accidentalmente possono essere recuperati da unità guaste o formattate e da qualunque altro dispositivo di memorizzazione ottico o di massa con l'uso di programmi disponibili nei [:Repository:repository] di Ubuntu.

Questa guida spiega come recuperare i dati persi. In generale, si ricorda che il modo migliore per evitare la perdita dei propri dati è di effettuare con cadenza regolare delle copie di [:AmministrazioneSistema/Backup:backup].

Immagine(Icone/Piccole/warning.png,,center)

E' buona norma evitare di provare a scrivere su dispositivi danneggiati. Questo potrebbe peggiorare i guasti hardware presenti e sovrascrivere ulteriormente i dati presenti compromettendo la possibilità di poterli recuperare in futuro. E' raccomandabile spegnere il computer appena possibile e di farlo ripartire in seguito solo per mezzo di sistemi "live" in modo da potere analizzare i dischi soggetti a problematiche [:Hardware/DispositiviPartizioni/MontarePartizioni:"non montati"].

modificare poi la nota in alto. troppo vistosa

Qualora le applicazioni di seguono esposte non riescano a raggiungere il risultato desiderato, a seconda dell'importanza dei dati presenti, considerare la possibilità di richiedere una consulenza professionale in merito.

Premessa

Se il dispositivo è danneggiato è consigliabile creare un immagine del dispositivo e lavorare su esso per il recupero dei dati (si veda in seguito). Qualora il guasto non sia meccanico, è possibile recuperare i dati direttamente dal dispositivo.

Per recuperare i dati da un dispositivo guasto, sarà necessario disporre di un dispositivo di archiviazione di capienza pari o superiore su cui salvare i dati recuperati. Se si necessita di un'immagine del dispositivo guasto, sarà necessario disporre di ulteriore spazio. Come accennato, è consigliabile eseguire questi strumenti da un altro sistema operativo che risiede su un altro disco (o da sistemi "live). Allo scopo è sufficiente un CD di Ubuntu Desktop.

Se non dispone di tanta ram o connessione a internet si consigliano sistemi live come [http://ubuntu-rescue-remix.org/ Ubuntu rescue remix] oppure [http://www.sysresccd.org/Main_Page system rescue cd] i quali dispongono dei programmi di seguito menzionati.

Partizioni perse

Se è stato fatto un errore durante il partizionamento e la partizione non compare più nella tabella delle partizioni, a patto che non si siano scritti dei dati su quello spazio, i dati sono ancora presenti e recuperabili.

GNU Parted

Eseguire il comando parted da terminale per recuperare la partizione.

Quando si modifica la tabella delle partizioni sul disco rigido, è necessario assicurarsi che nessuna partizione sul disco sia montata, compreso lo [:Hardware/DispositiviPartizioni/PartizioniUbuntu#swap:spazio di swap]. Il modo più semplice per ottenere questo risultato è di lanciare il cd live, Parted è presente sul sistema di base di Ubuntu. Una volta avviato il sistema live, aprire una finestra di terminale digitare il seguente comando per smontare lo spazio di swap:

sudo swapoff -a

Successivamente, eseguire Parted. Se il dispositivo da recuperare è /dev/sda, digitare in un terminale il seguente comando:

sudo parted /dev/sda

Quindi, utilizzare l'opzione di recupero:

rescue START END

dove Start è l'area del disco in cui si ritiene che la partizione inizi ed END è la sua fine. Se parted trova una partizione potenziale, vi chiederà se la volete aggiungere alla tabella delle partizioni.

Testdisk

In alternativa, è possibile utilizzare [apt://testdisk testdisk].

Avviare la scansione dei dispositivi con Testdisk digitando in una finestra di terminale il seguente comando

sudo testdisk

e utilizzare i menù per recuperare la partizione.

Gpart

Un altro programma utile per controllare e ricreare una tabella delle partizioni "per ipotesi" è [apt://gpart gpart].

Per eseguire la scansione del dispositivo /dev/sda digitare in una finestra di terminale il seguente comando

sudo gpart /dev/sda

È possibile ripristinare la tabella delle partizioni, solo dopo aver verificato con la massima attenzione (altrimenti siete invitati a scrivere su un altro dispositivo), digitando in una finestra di terminale il seguente comando

sudo gpart -W /dev/sda /dev/sda

Immagine di un dispositivo, file system o unità danneggiata

modifico e presento solo gddrescue...

Per ottenere l'immagine di un dispositivo danneggiato, in preparazione del salvataggio dei file, è disponibile [http://www.gnu.org/software/ddrescue/ddrescue_it.html GNU ddrescue] installabile tramite il pacchetto [apt://gddrescue gddrescue]. In seguito il suo comando sarà ddrescue.

Di seguito un breve estratto dalla documentazione ufficiale:

GNU ddrescue è uno strumento di recupero dati. Copia i dati da un file o dispositivo a blocchi (hard disk, cdrom, ecc.) ad un altro, cercando fortemente di recuperare i dati in caso di errori di lettura. Il funzionamento base di ddrescue è pienamente automatico. Non si deve perciò aspettare un errore, fermare il programma, leggere il registro, eseguirlo in modalità inversa, ecc. Se si usa la funzionalità per file di registro di ddrescue, i dati sono recuperati molto efficacemente (sono letti solo i blocchi necessari). Inoltre si può interrompere il ripristino in qualsiasi momento e riprenderlo successivamente dallo stesso punto. Ddrescue non scrive zeri in uscita quando trova settori danneggiati in ingresso, e non tronca il file di output se non richiesto. Perciò, ogni volta che lo si esegue sullo stesso file di output, cerca di riempire i vuoti, senza cancellare i dati già salvati. L'unione automatica di backup: se si hanno due o più copie danneggiate di un file, cdrom, ecc. e si esegue ddrescue su tutte, una alla volta, con lo stesso file di output, probabilmente si otterrà un file completo e senza errori. Questo perché la probabilità di avere aree danneggiate nello stesso punto in file di input differenti è molto bassa. Usando il file di registro sono letti solo i blocchi necessari dalla seconda copia e dalle successive.

Se il filesystem da cui si vuole preparare l'immagine ha una dimensione maggiore di 4 giga, non è possibile utilizzare un filesystem (VFAT) MSDOS (tipico delle unità USB) per memorizzare l'immagine, dal momento che c'è un limite di 4G alla dimensione massima di un file su un filesystem del genere. Utilizzare un altro file system, ad esempio EXT3, o un altro in grado di gestire file di dimensioni maggiori.

Per utilizzare gnuddrescue digitare in una finestra di terminale il seguente comando:

ddrescue [options] infile outfile [logfile]

Quindi, se /dev/sda è illeggibile, sarà necessario utilizzare un altro disco (o un altro supporto) sul quale salvare l'immagine. Lo spazio a disposizione sulla nuova unità deve essere maggiore rispetto a quello del precedente dispositivo:

sudo ddrescue -r 3 /dev/sda /media/usbdrive/image /media/usbdrive/logfile

Run successive passes like this:

sudo ddrescue -r 3 -C /dev/sda /media/usbdrive/image /media/usbdrive/logfile

and gnuddrescue will use the log file to only read the gaps with errors. In both cases, the -r option determines the number of times gddrescue will try to read when it encounters an error (-1 = infinity).

Tratto da Forensics Wiki:

----
First you copy as much data as possible, without retrying or splitting sectors:

 {{{ddrescue --no-split /dev/hda1 imagefile logfile 

Now let it retry previous errors 3 times, using uncached reads:

  • ddrescue --direct --max-retries=3 /dev/hda1 imagefile logfile 

If that fails you can try again but retrimmed, so it tries to reread full sectors:

  • ddrescue --direct --retrim --max-retries=3 /dev/hda1 imagefile logfile 


}}}

Altri esempi:

These two examples are taken directly from the ddrescue info pages.

Example 1: Rescue an ext2 partition in /dev/hda2 to /dev/hdb2

ddrescue -r3 /dev/hda2 /dev/hdb2 logfile
e2fsck -v -f /dev/hdb2
mount -t ext2 -o ro /dev/hdb2 /mnt

Example 2: Rescue a CD-ROM in /dev/cdrom

ddrescue -b 2048 /dev/cdrom cdimage logfile 

write cdimage to a blank CD-ROM

Estrarre il filesystem da un immagine recuperata

Ora che il drive è stato ripreso, è possibile ripristinare il filesystem dall'immagine. Se il filesystem non è recuperabile, è possibile tentare di recuperare i singoli file.

Montare le partizioni sull'immagine

Se è stato recuperato l'intero disco, è possibile montare le singole partizioni sull'immagine utilizzando l'opzione "Offset" montanto il filesystem "in loop". mmls, disponibile nel pacchetto [apt://sleuthkit sleuthkit] è in grado di mostrare le partizioni che si trovano all'interno di un'immagine:

mmls file -b
DOS Partition Table
Offset Sector: 0
Units are in 512-byte sectors

     Slot    Start        End          Length       Size    Description
00:  -----   0000000000   0000000000   0000000001   0512B   Primary Table (#0)
01:  -----   0000000001   0000000031   0000000031   0015K   Unallocated
02:  00:01   0000000032   0001646591   0001646560   0803M   DOS FAT16 (0x06)
03:  00:00   0001646592   0002013183   0000366592   0179M   DOS FAT16 (0x06)

Come è possibile vedere il programma mostra più partizioni. In questo esempio, vogliamo montare la partizione DOS a partire dal blocco 32. Per calcolare il numero di byte, moltiplicare per 512:

$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
32 * 512
16384
quit

Nota: Per disporre di un interfaccia grafica per sleuthkit installare il pacchetto [apt://autopsy autopsy]. Per approfondimenti sul programma si rimanda al [http://www.sleuthkit.org/autopsy/desc.php sito ufficiale].

Mount the partition:

sudo mount -o loop,offset=16384 file mnt

(32 multiplied by 512 byte blocks = 16384)

For mounting a typical NTFS partition created by Windows use:

sudo mount -t ntfs -o r,force,loop,offset=32256 file mnt

(63 multiplied by 512 byte blocks = 32256)

Estrarre singoli file dalla partizione recuperata

Foremost

Foremost è un tool da riga di comando in grado di recuperare file da un certo numero di file system, inclusi i fat, ext3 e NTFS. Può essere installato ed eseguito dal cd live.

Fare il boot da un cd live, abilitare i repository universe e installare [apt://foremost foremost]

Foremost è in grado di recuperare file da una immagine del disco o dal disco direttamente. Se l'unità ha subito problemi di hardware, utilizzare gnuddrescue per l'immagine del primo disco. (fare anchor a gddrescue).

Supponendo che il file persi sono su /dev/hda, è necessario creare una cartella scrivibile su un altro disco in cui è possibile inserire i file recuperati (un disco esterno USB capiente ad esempio, di seguito dev/sdb).

Montare il disco esterno e creare al suo interno una cartella chiamata foremost:

sudo mount /dev/sdb1 /recovery
sudo mkdir /recovery/foremost

Avviare foremost digitando in una finestra di terminale il seguente comando:

sudo foremost -i /dev/hda -o /recovery/foremost

Per avviare foremost su un file immagine semplicemente sostituire il percorso

sudo foremost -i image -o /recovery/foremost

I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi:

sudo chown -R youruser:youruser /recovery/foremost

Use the -w switch to obtain only an audit of recoverable files:

sudo foremost -w -i /dev/hda -o /recovery/foremost

To recover only specific file types, use the -t switch:

sudo foremost -t jpg -i /dev/hda -o /recovery/foremost

Available types:

Filetype

Comment

jpg

Support for the JFIF and Exif formats including implementations used in modern digital cameras.

gif

png

bmp

Support for windows bmp format.

avi

exe

Support for Windows PE binaries, will extract DLL and EXE files along with their compile times.

mpg

Support for most MPEG files (must begin with 0x000001BA)

wav

riff

This will extract AVI and RIFF since they use the same file format (RIFF). note faster than running each separately.

wmv

Note may also extract -wma files as they have similar format.

mov

pdf

ole

This will grab any file using the OLE file structure. This includes PowerPoint, Word, Excel, Access, and StarWriter

doc

Note it is more efficient to run OLE as you get more bang for your buck. If you wish to ignore all other ole files then use this.

zip

Note is will extract .jar files as well because they use a similar format. Open Office docs are just zip’d XML files so they are extracted as well. These include SXW, SXC, SXI, and SX? for undetermined OpenOffice files.

rar

htm

cpp

C source code detection, note this is primitive and may generate documents other than C code.

all

Run all pre-defined extraction methods. [Default if no -t is specified]

Scalpel

Scalpel is a fast file carver that reads a database of header and footer definitions and extracts matching files from a set of image files or raw device files. It is similar to foremost and may have some improvements.

By default, all file types in the database (/etc/scalpel/scalpel.conf) are commented out. To specify which filetypes you want to carve, you need to edit the file and uncomment each line.

sudo scalpel FILE -o Directory

Where FILE is the image file (or device) and Directory is the output directory.

Magic Rescue

Another program that scans for files using "magic bytes" to identify their presence and type, and which can be extended for many file types using "recipes", can be obtained by installing, using any method, the package magicrescue.

Note that most of the provided recipes need other software installed to work, so open the desired recipes in /usr/share/magicrescue/recipes/ using a text editor and read the comments contained.

If you want to recover (for example) gzip files and PNG images from a partition named /dev/sda1, you can run

mkdir ~/output
sudo magicrescue -r gzip -r png -d ~/output /dev/hdb1

This will write all recovered files in a directory output inside your home directory.

Photorec

PhotoRec è un programma di recupero dati progettato per recuperare immagini perse dalla memoria della fotocamera digitale o anche da dischi fissi. Successivamente il supporto è stato esteso anche per file non audio o video. Consente la ricerca di 80 diversi tipi di file. PhotoRec è parte del pacchetto [apt://testdisk testdisk].

To run Photorec on an image file, do:

sudo photorec imagefilename

To recover files directly from a device, run photorec without any arguments and you will be given a menu of available devices:

sudo photorec

See [http://www.psychocats.net/ubuntucat/recovering-windows-files-with-a-ubuntu-cd-iii-deleted-files/ this link] for a detailed description of how to use Photorec.

recoverjpeg

recoverjpeg è un programma specifico per l'identificazione e il recupero delle immagini in formato .jpeg.

Installare il pacchetto [apt://recoverjpeg recoverjpeg] e avviarlo digitando in una finestra di terminale il seguente comando:

sudo recoverjpeg /dev/hda1

sostituendo /dev/hda1 con il dispositivo sul quale si desidera indagare.

I file recuperati verranno salvati nella propria cartella Home, with names following the pattern image*.jpg.

Ntfsprogs

[https://help.ubuntu.com/community/DataRecovery/NtfsUndelete NtfsUndelete] can recover deleted files from an NTFS file-system. The Windows and LiveCd versions have a very nice intuitive gui but the linux one is probably stronger and does not have a front-end gui at the moment.

Briefly, it has 3 modes

  1. "Scan", searches for deleted files and find info about them
  2. "Undelete", see note below ...
  3. "Copy", err i am not sure what this does as i am not a wizard

The best simple guide i have found so far 24-11-2010) is [http://www.sucka.net/2010/04/recover-deleted-files-with-ntfsundelete-from-a-ubuntu-livecd/ questa]. Obviously with a name like that i was careful about where i opened the page but it was fine.

When undeleting chose which files to undelete and where to undelete them too. By default this appears to be the desktop of the OS you are booted into, whether that is a LiveCd or on a different partition or drive. For a LiveCd or LiveUsb you will need to move them onto Usb-stick or safe partition before rebooting as the desktop gets forgotten on LiveCds unless you are using a "Persistent image".

To search

ntfsundelete /dev/sda2

To undelete, although this might be a little wrong, the"-" at the end worries me.

ntfsundelete /dev/sda2 -u -i 3689 -o work.doc -d ~

For better information on using ntfsundelete please see the separate page [https://help.ubuntu.com/community/DataRecovery/NtfsUndelete NtfsUndelete], particularly the External Links there.

Sleuth Kit and Autopsy

(Obtained the following from http://www.sleuthkit.org/autopsy/desc.php)

The Autopsy Forensic Browser is a graphical interface to the command line digital investigation analysis tools in The Sleuth Kit. Together, they can analyze Windows and UNIX disks and file systems (NTFS, FAT, UFS1/2, Ext2/3).

The Sleuth Kit and Autopsy are both Open Source and run on UNIX platforms. As Autopsy is HTML-based, you can connect to the Autopsy server from any platform using an HTML browser. Autopsy provides a "File Manager"-like interface and shows details about deleted data and file system structures.

Autopsy

Autopsy can be run from the "live" CD, but you must specify an address to which you can connect remotely. You must also specify an external disk on which it can save the extracted information.

For example, assuming you have an external disk mounted to /media/disk with an autopsy folder on it and your IP address is 192.168.0.1, you can run:

sudo autopsy -d /media/disk/autopsy 192.168.0.1

Sleuthkit

Extract unallocated (deleted) blocks from a disk or disk image.

Example:

dls inputimage > outputimage

Use any data carving tool to search the output image for files.

List file and directory names in a forensic image. fls lists the files and directory names in the image and can display file names of recently deleted files for the directory using the given inode. This includes deleted files. If you have imaged your filesystem to a file named "loopfile", you can list the contents by running:

fls loopfile -r -f fat -i raw
r/r 3: test (Volume Label Entry)
r/r * 5: sample.docx
r/r * 7: sample.pptx
r/r * 9: sample.xlsx

Copy file by inode. icat opens the named image(s) and copies the file with the specified inode number to standard output.

Example:

fls has shown you the inode number of some files on an image. To recover a file by using th einode number run:

icat -r -f fat -i raw loopfile 5 > sample.docx

sorter - Sort files in an image into categories based on file type. Sorter is a Perl script that analyzes a file system to organize the allocated and unallocated files by file type.

Example: This will sort all the files found in /dev/sdc1 and put image files in a directory named "out":

sudo sorter -h -s -i raw -f fat -d out -C /usr/share/sleuthkit/windows.sort /dev/sdc1

Here is a description of a script that will pull all files from an image using fls and icat:

http://forums.gentoo.org/viewtopic-t-365703.html

Another, similar script which attempts to "rebuild" the filesystem directory structure plus file content:

http://matt.matzi.org.uk/2008/07/03/reconstructing-heavily-damaged-hard-drives/

Cleaning up

from:How to recover lost files after you accidentally wipe your hard drive

Sort certain types of files:

sudo mkdir recovery/VID recovery/JPG

find recovery/ -name "*.avi" | xargs -i mv {} recovery/VID/

find recovery/ -name "*.mpg" | xargs -i mv {} recovery/VID/

find recovery/ -name "*.jpg" | xargs -i mv {} recovery/JPG/ 

Eliminate small photos:

sudo mkdir recovery/SMALL

find recovery/JPG/ -name "*.jpg" -size -1024k | xargs -i mv {} recovery/SMALL/ 

Rename jpegs according to exif data:

find JPG/ -name "*.jpg" | xargs -i jhead  -nf%Y%m%d-%H%M%S {}

Then, remove duplicates.

find /var/recovery/JPG/ -name "*a.jpg" | xargs -i mv {} /var/recovery/JPG/DUPS/

Copy files with matching strings:

cd recovery
mkdir ../copy/
grep -l "enter the string of text here" *.doc | xargs -i cp {} ../copy/

Ulteriori risorse


CategoryHomepage