GNU/Linux >> Linux Esercitazione >  >> Linux

Recupera i file cancellati su Linux (Tutorial per principianti)

Hai mai cancellato dei file importanti per errore? Chi non lo fa! Ok, ma posso recuperarli? In questo post imparerai come recuperare file cancellati su Linux utilizzando vari programmi su diversi file system.

Vedrai come recuperare file cancellati da schede SD, HDD e partizioni cancellate su diversi file system Linux come EXT3, EXT4 e persino da file system Windows come FAT32 e NTFS.

Recupera i file dalla partizione eliminata

Questo è un bel problema. Spesso, gli utenti Linux installano frequentemente più sistemi contemporaneamente e possono eliminare una partizione per errore durante il processo di installazione.

Tuttavia, come recuperare i file da quelle partizioni cancellate? Per questo, abbiamo bisogno di ripristinare la partizione usando uno strumento chiamato TestDisk.

Testdisk è una potente utilità di analisi delle partizioni e recupero dati. La maggior parte delle distribuzioni Linux come Debian e Ubuntu viene fornita con TestDisk.

D'altra parte, l'applicazione è multipiattaforma e supporta un gran numero di tabelle delle partizioni come Intel, MSDOS e Mac. Queste sono le tabelle delle partizioni più popolari.

Inoltre, supporta molti file system come NTFS, EXT4 e altri file system non popolari come BeOS e ReiserFS.

Quando elimini un file, l'elenco dei cluster occupati dal file viene eliminato, contrassegnando quei settori disponibili per l'uso. Se i cluster non sono stati sovrascritti, TestDisk può recuperare i file.

Innanzitutto, avvia l'applicazione in questo modo:

$ testdisk

Successivamente, hai la possibilità di creare un nuovo file per i registri. Se vuoi crearne uno, scegli crea opzione e premere Invio. Se non desideri un file di registro, seleziona l'opzione Nessun registro.

Successivamente, verranno scansionati i dischi o le partizioni riconosciute dal sistema. In questo caso particolare, sda è la partizione che vogliamo ripristinare.

TestDisk riconosce vari tipi di tabelle delle partizioni. Di solito è Intel, a meno che tu non ne utilizzi uno specializzato.

Nella schermata successiva, vedrai una serie di opzioni che il programma ha. Per questo caso particolare, dobbiamo scegliere l'opzione Analizza.

Con questa opzione, il programma analizzerà esaurientemente il disco per trovare la struttura.

Quindi, chiederà il tipo di ricerca che desideri eseguire. Di solito, scegli l'opzione Ricerca rapida.

Se sei fortunato, vedrai la partizione eliminata. In caso contrario, dovrai scegliere una ricerca più approfondita.

Quindi, scegli l'opzione Scrivi per scrivere la tabella delle partizioni. Al termine, riavvia il sistema e avrai indietro la tua partizione!

Tieni presente che durante questi passaggi potrebbe essere necessario molto tempo. Dipende dalle dimensioni del disco.

A seconda del tipo di file system che può avere questa partizione, verranno seguite istruzioni particolari. Saranno dettagliati in seguito.

Recupera i file eliminati da un'unità esterna

Ora immaginiamo di avere un'unità flash esterna e, per errore, di aver eliminato alcuni file da essa. Come ripristinarli?

Grazie a TestDisk, il processo diventa abbastanza simile a quello di una partizione eliminata. Ma ci sono alcune differenze.

Per avviare il programma, utilizzeremo il comando testdisk. Inoltre, possiamo aggiungere l'unità flash come parametro come questo:

$ sudo testdisk /dev/sdb

Quindi, seleziona procedi. Quindi, scegli il tipo di tabella delle partizioni.

Quindi, seleziona le Opzioni avanzate per recuperare i file.

Il passaggio successivo è selezionare la partizione e l'opzione Annulla eliminazione.

Quindi vedrai tutti i file eliminati sulla partizione.

Ora, seleziona la cartella di destinazione in cui posizionare i file recuperati. Devi premere C sulla prima opzione per posizionare i file nella directory corrente.

Infine, vedrai questo messaggio:

Congratulazioni! File ripristinati.

Recupera i file cancellati dalla scheda SD

Di solito, su una scheda SD, è comune notare che vengono utilizzati per i file multimediali. Pertanto, è consigliabile utilizzare un programma più specializzato per questi file.

In questo caso, utilizzeremo l'applicazione chiamata Photorec che viene incorporata in TestDisk.

Innanzitutto, inserisci la scheda SD sul PC. Quindi, esegui photorec come root:

$ sudo photorec [device]

Quindi, vedrai la seguente immagine. Seleziona il supporto e procedi e premi Invio.

Quindi, seleziona la partizione. E seleziona Opzioni e premi Invio.

Lì vedrai le opzioni di ripristino:

Premere q per tornare alla schermata precedente. È necessario scegliere i tipi di file che vogliamo recuperare. Ciò si ottiene selezionando l'opzione File Opt.

Premere il tasto s per selezionare e deselezionare tutti i formati. Puoi anche selezionare i tipi di file che desideri recuperare utilizzando il tasto giusto. Per salvare le opzioni selezionate, premere il tasto b. Torna al menu principale usando il tasto q.

Quindi, nel menu principale, scegli l'opzione Cerca per avviare il processo. E scegli il file system.

Ti verranno quindi presentate due opzioni. Libero e intero. Normalmente, Free è sufficiente. Se vuoi fare un'analisi approfondita, scegli Intero, ma tieni presente che rallenterà il processo.

Ora è necessario scegliere la posizione in cui verranno salvati i file. Per fare ciò, premere il tasto c.

Dopo aver scelto la destinazione, inizierà il processo di ripristino. Ricorda che il sistema collasserà e si bloccherà. Quindi sii paziente.

Alla fine, vedrai un messaggio che ti informa di tutto quello che è successo.

Quindi, controlla i risultati.

Recupera i file cancellati da NTFS

NTFS è un file system di Windows. Se sei uno di quelli che utilizzano entrambi i sistemi sul computer, potrebbe essere necessario ripristinare i file eliminati da una partizione Windows con questo file system.

Per fare ciò, abbiamo uno strumento chiamato ntfsundelete che è abbastanza semplice da usare.

Innanzitutto, è necessario eseguire la scansione del disco o della partizione. Ad esempio:

$ sudo ntfsundelete /dev/sda1

Quindi, saremo in grado di recuperare il file eliminato con il seguente comando:

$ sudo ntfsundelete [HD_Or_partition] -u -m [filename]

   

  I file recuperati ora appartengono all'utente root. L'ultimo passaggio consiste nel modificare i permessi e i proprietari dei file utilizzando il comando chown.

Recupera file da FAT32

Un altro comune file system di Windows è FAT32. È possibile recuperare file da FAT32 utilizzando TestDisk.

Quindi esegui nuovamente testdisk come utente root e passa il disco come parametro:

$ sudo testdisk [partition/HD]

 

Quindi continua i passaggi come descritto sopra per ripristinare i file.

Recupero su file di memoria (usando inode)

Se elimini un file utilizzato da un altro processo, puoi ripristinarlo dalla memoria utilizzando inode.

Occorre stabilire alcune condizioni iniziali. Innanzitutto, il file eliminato DEVE rimanere aperto con un altro processo . Quindi devi verificare il processo e infine ripristinarlo e modificarne i permessi.

In questo caso, creerò un file chiamato example.txt usando l'editor nano e aggiungerò del testo:

$ nano example.txt

Quindi salva le modifiche e apri un'altra finestra del terminale e usa il file. Ad esempio, con il comando less.

$ less example.txt

  Apri un'altra sessione del terminale, elimina il file e assicurati che sia eliminato:

$ rm example.txt

$ ls example.txt

Come puoi vedere, il file non esiste più. Ma saremo in grado di recuperarlo. Per fare ciò, otteniamo il numero del processo associato all'inode del file.

$ lsof | grep example.txt

Noterai il processo e il comando che utilizza il file (il comando less). Da quell'immagine, dobbiamo prestare attenzione al secondo e al quarto valore. Questi sono rispettivamente il PID del processo e il descrittore del file.

Quindi, recuperalo con il seguente comando:

$ ls -l /proc/2325/fd/4

 

Quindi copialo nella posizione che desideri, e questo è sufficiente per recuperarlo.

$ sudo cp /proc/2325/fd/4 .

  Quindi, controlla i risultati e apri il file:

   

In questo modo, possiamo recuperare un file cancellato che è ancora in memoria e utilizzato da un processo con l'inode.

Recupera i file eliminati da EXT4 (usando extundelete)

EXT4 è il file system predefinito sulla maggior parte delle distribuzioni Linux. È abbastanza veloce e con caratteristiche tecniche che sono molto ben sfruttate dal kernel Linux.

Uno degli strumenti utilizzati per recuperare i file dal filesystem EXT4 è extundelete.

Extundelete è un'applicazione open source che consente di recuperare file cancellati da una partizione o da un disco con il file system EXT3 o EXT4. È semplice da usare e viene installato per impostazione predefinita sulla maggior parte delle distribuzioni Linux.

Per recuperare un determinato file, basta usare il seguente comando:

$ sudo extundelete [device] -restore-file [pathfile]

Ad esempio:

$ sudo extundelete /dev/sdb1 -restore-file home/angelo/other.txt

Se vuoi recuperare tutti i file in una cartella, usa il carattere jolly:

$ extundelete /dev/sda6 -restore-file home/angelo/*

Ma se vuoi ripristinare tutti i file sulla partizione o sul disco, il comando successivo sarebbe sufficiente:

$ extundelete /dev/sda6 -restore-all

Quindi, i file recuperati saranno nella directory RECOVERED_FILES. Quindi, in questo modo, puoi recuperare i file cancellati usando extundelete.

Utilizzo di debugfs

È anche possibile utilizzare lo strumento debugfs per recuperare i file eliminati. Questo strumento utilizza anche il numero di inode del file eliminato. Tuttavia, funziona solo su file system EXT4.

Anche il suo funzionamento è abbastanza semplice. Innanzitutto, devi inserire la partizione o il dispositivo.

$ debugfs [device]

Ad esempio,

$ sudo debugfs /dev/sdb1

Quindi, dopo un po', sarai in grado di accedere alla console debugfs per cercare i file eliminati di recente.

$ debugfs: lsdel

Nella prima colonna vedrai il numero di inode dei file eliminati in quel dispositivo. Quindi, ripristinalo con il seguente comando:

$ debugfs mi <inode_number>

E questo è tutto. È abbastanza facile.

Utilizzo di ext4magic

Un altro modo alternativo per recuperare i file cancellati su un disco con un file system Ext4 è utilizzare Ext4magic. Questa applicazione è anche abbastanza semplice da usare.

La sintassi di base dell'applicazione è la seguente:

$ sudo ext4magic [device] -f [folder_to_scan] -r -d [output_folder]

Se volessi recuperare i file eliminati da una cartella chiamata file, il comando sarebbe simile a questo:

$ sudo ext4magic /dev/sdb1 -r -d files

Ecco com'è facile usare ext4magic. Tutto questo grazie al fatto che Ext4 è una community e un file system open source.

Recupera i file sovrascritti (usando il bisturi)

Scapel è un altro strumento open source che consente di recuperare file da unità formattate, file sovrascritti e persino unità danneggiate. È noto per la sua velocità ed efficienza. In questo senso, emerge come un'alternativa da considerare.

Il bisturi intaglia i file senza l'aiuto di filesystem . Cerca di estrarre intestazioni e piè di pagina dei file e cerca di indovinare l'intera struttura del file utilizzando alcuni algoritmi ben progettati.

Come TestDisk, è disponibile nei repository ufficiali della maggior parte delle distribuzioni Linux. Pertanto, la sua installazione si riduce all'uso del terminale e del gestore di pacchetti della distribuzione.

Il modo più semplice e veloce per utilizzare Scapel è il seguente:

$ scalpel [device] -o [output_folder]

La cartella output_specifica dove Scapel collocherà tutti i file recuperati. Nota che Scalpel creerà la directory di output stessa.

Ma come fa Scapel a sapere quali file recuperare? Bene, questo è definito nel file di configurazione dell'applicazione.

Questo file di configurazione si trova in genere nel seguente percorso:

/etc/scalpel/scalpel.conf

E puoi aprirlo con il tuo editor di testo preferito, e lì dovrai solo decommentare le righe per definire i formati di file da cercare.

I formati di file che rimuovi dal commento, Scalpel lo cercherà.

Quindi, esegui il comando Scalpel completo e nella cartella di output vedrai i file recuperati.

$ sudo scalpel /dev/sdb1 -o recovered_files1

A volte, Scalpel ripristina parti del file. Dipende dallo stato di salute dell'unità e dalla quantità di dati danneggiati.

Inoltre, ci sono molti algoritmi di brama che puoi usare, ma qui abbiamo discusso il modo base di bramare i dati.

Recupera file da un sistema non avviabile

Questo è un caso delicato perché dobbiamo accedere da un Live cd di Ubuntu o da un'altra distribuzione Linux simile. Una volta avviato, potremmo utilizzare TestDisk per provare a recuperare i dati.

In questo caso, dovremo utilizzare un'unità esterna dove salvare i dati. D'altra parte, nel caso in cui TestDisk non riesca a fare il lavoro, possiamo anche provare extundelete o ext4magic purché la partizione sia Ext4.

Se non funziona, puoi provare a rigenerare la partizione usando TestDisk come spiegato sopra.

Conclusione

È possibile eliminare i file accidentalmente. L'idea è di conoscere gli strumenti e le tecniche appropriati per recuperare questi file.

In questo post, abbiamo trattato diverse circostanze e diversi file system che potrebbero aiutare a evitare tali problemi.

Continua a tornare.

Grazie.


Linux
  1. Come recuperare un file cancellato in Linux

  2. Tutorial sul comando cd di Linux per principianti (8 esempi)

  3. Come recuperare file cancellati su Linux utilizzando lo strumento di recupero dati Scalpel?

  4. Come posso recuperare/ripristinare i file da una partizione ext4?

  5. Unix/Linux ripristina/ripristina i file eliminati

Tutorial sui comandi Linux ss per principianti (8 esempi)

Linux lsof Command Tutorial per principianti (15 esempi)

Come installare TestDisk su Linux e recuperare i file eliminati

Come usare PhotoRec per recuperare file cancellati in Linux/Ubuntu

I 20 migliori strumenti di recupero dati Linux per recuperare file cancellati/corrotti

Come usare Linux per recuperare file cancellati