0
Commento:
|
22069
|
Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
Linea 1: | Linea 1: |
#format wiki #language it [[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]. ||<tablestyle="text-align: justify; width:100%;" style="border:none;" 5%>[[Immagine(Icone/Piccole/warning.png,,center)]] ||<style="padding:0.5em; border:none;">'''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 [[http://www.forensicswiki.org/wiki/Ddrescue|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 [[InstallingSoftware| 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 1. "Undelete", see note below ... 1. "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:[[http://www.linux.com/articles/56588|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 = * [https://help.ubuntu.com/community/DataRecovery Documento originale] * http://www.sleuthkit.org/informer/sleuthkit-informer-14.html#recover * http://goinggnu.wordpress.com/2008/02/14/recover-deleted-files-from-memory-card * http://www.linuxquestions.org/questions/linux-hardware-18/can-i-use-linux-to-recover-files-from-corrupted-hard-drive-784550/ ---- CategoryHomepage |
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].
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: 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: Run successive passes like this: 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: 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 Example 2: Rescue a CD-ROM in /dev/cdrom write cdimage to a blank CD-ROM
Ora che il drive è stato ripreso, è possibile ripristinare il filesystem dall'immagine. Se il filesystem non è recuperabile, è possibile tentare di recuperare i singoli file.
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: 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: Nota: Per disporre di un interfaccia grafica per Mount the partition: (32 multiplied by 512 byte blocks = 16384) For mounting a typical NTFS partition created by Windows use: (63 multiplied by 512 byte blocks = 32256)
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: Avviare foremost digitando in una finestra di terminale il seguente comando: Per avviare foremost su un file immagine semplicemente sostituire il percorso I file recuperati saranno di proprietà dell'utente root. Per cambiare i permessi: Use the -w switch to obtain only an audit of recoverable files: To recover only specific file types, use the -t switch: 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 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.
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) This will write all recovered files in a directory output inside your home directory.
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: To recover files directly from a device, run photorec without any arguments and you will be given a menu of available devices: 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 è 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: sostituendo /dev/hda1 con il dispositivo sul quale si desidera indagare. I file recuperati verranno salvati nella propria cartella Homeddrescue [options] infile outfile [logfile]
sudo ddrescue -r 3 /dev/sda /media/usbdrive/image /media/usbdrive/logfile
sudo ddrescue -r 3 -C /dev/sda /media/usbdrive/image /media/usbdrive/logfile
----
First you copy as much data as possible, without retrying or splitting sectors:
{{{ddrescue --no-split /dev/hda1 imagefile logfile
ddrescue -r3 /dev/hda2 /dev/hdb2 logfile
e2fsck -v -f /dev/hdb2
mount -t ext2 -o ro /dev/hdb2 /mnt
ddrescue -b 2048 /dev/cdrom cdimage logfile
Estrarre il filesystem da un immagine recuperata
Montare le partizioni sull'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)
$ 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
sudo mount -o loop,offset=16384 file mnt
sudo mount -t ntfs -o r,force,loop,offset=32256 file mnt
Estrarre singoli file dalla partizione recuperata
Foremost
sudo mount /dev/sdb1 /recovery
sudo mkdir /recovery/foremost
sudo foremost -i /dev/hda -o /recovery/foremost
sudo foremost -i image -o /recovery/foremost
sudo chown -R youruser:youruser /recovery/foremost
sudo foremost -w -i /dev/hda -o /recovery/foremost
sudo foremost -t jpg -i /dev/hda -o /recovery/foremost
Scalpel
Magic Rescue
mkdir ~/output
sudo magicrescue -r gzip -r png -d ~/output /dev/hdb1
Photorec
sudo photorec imagefilename
sudo photorec
recoverjpeg
sudo recoverjpeg /dev/hda1
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
- "Scan", searches for deleted files and find info about them
- "Undelete", see note below ...
- "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
[https://help.ubuntu.com/community/DataRecovery Documento originale]
http://www.sleuthkit.org/informer/sleuthkit-informer-14.html#recover
http://goinggnu.wordpress.com/2008/02/14/recover-deleted-files-from-memory-card