Su un sistema Linux, GNU ddrescue è un'utilità che può essere utilizzata per riparare e copiare le unità. Si applica a unità flash, DVD, dischi rigidi, partizioni e qualsiasi supporto di memorizzazione. Replicando i dati in pezzi, esegue il recupero dei dati. Ecco un tutorial su come installare e utilizzare GNU Ddrescue per recuperare i dati su Ubuntu.
In questo articolo
Parte 1. Che cos'è GNU Ddrescue?
GNU ddrescue è uno strumento di recupero dati per dischi rigidi, DVD, CD e altri supporti di memorizzazione digitale. Copia blocchi di memoria grezzi, come i settori del disco, da un dispositivo o da un file a un altro, gestendo in modo intelligente gli errori di lettura per ridurre la perdita di dati, rimuovendo i settori buoni dai blocchi parzialmente letti.
Il funzionamento di base di Ddrescue è completamente automatizzato. Non è necessario attendere un errore, arrestare il programma, riavviarlo da una posizione diversa e così via. I dati vengono recuperati quando si utilizza la funzione file di mappa di Ddrescue (vengono letti solo i blocchi necessari). Quando riconosce settori danneggiati nell'input, Ddrescue non scrive zeri nell'output e non tronca il file di output a meno che non venga richiesto. Di conseguenza, ogni volta che si esegue sullo stesso file di output, tenta di colmare le lacune senza cancellare i dati precedentemente salvati.
Se si dispone di due o più copie danneggiate di un file, un cdrom, ecc. e si esegue Ddrescue su tutte, una alla volta, con lo stesso file di output, si dovrebbe ottenere un file completo e privo di errori. Questo perché la probabilità che la stessa area sia danneggiata in tutte le copie è bassa (se gli errori sono localizzati in modo casuale).
Caratteristiche
- Ddrescue funziona solo su file di input e output seekable (ad accesso casuale) perché deve leggere e scrivere in posizioni casuali.
- Se il sistema lo supporta, Ddrescue può leggere il file di input direttamente dal disco, aggirando la cache del kernel.
- Ddrescue include anche una "fill mode" (modalità di riempimento) che consente di sovrascrivere selettivamente parti del file di output, il che può essere utile per cancellare i dati, contrassegnare le aree danneggiate o persino "riparare" i settori danneggiati in alcuni casi.
- Uno dei punti di forza di Ddrescue è che è indipendente dall'interfaccia, quindi può essere utilizzato con qualsiasi dispositivo supportato dal kernel (ATA, SATA, SCSI, vecchie unità MFM, dischi floppy o persino schede di memoria flash come SD).
Opzioni di Scaricare
GNU Ddrescue funziona nei sistemi operativi Unix-like, ed ecco gli anni e le versioni di GNU ddrescue quando è stato rilasciato.
- 2014: GPL-2.0 o successive
- 2007: GPL-3.0 o successive
- 2004: GPL-2.0 o successive
Storia di GNU Ddrescue
GNU ddrescue è un software open-source scritto nel linguaggio di programmazione C++, rilasciato per la prima volta il 12 agosto 2004 (18 anni fa). È anche disponibile come componente binario nella maggior parte delle distribuzioni Linux.
Parte 2. Suggerimenti per un uso sicuro di Ddrescue
- GNU Ddrescue è uno strumento potente, come tutti gli altri. Per utilizzarlo in modo sicuro, è necessario innanzitutto comprendere le sue funzioni, seguite da alcune informazioni sui dispositivi a cui lo fa.
- Non tentare MAI di recuperare una partizione montata in r/n. La copia risultante potrebbe dover essere più efficace. È preferibile che la partizione da salvare non sia montata, anche se è di sola lettura.
- NON riparare un file system su un'unità con errori di I/O; quasi certamente si perderanno altri dati.
- Tutti i dati memorizzati su un dispositivo o una partizione vengono sovrascritti se vengono utilizzati come destinazione.
- Al riavvio, alcuni sistemi possono cambiare i nomi dei dispositivi. Verificare i nomi dei dispositivi prima di riavviare Ddrescue se si riavvia.
- Se si interferisce con il salvataggio e poi si riavvia, tutte le partizioni parzialmente copiate dovrebbero essere nascoste prima che qualsiasi sistema operativo che tenta di montare e "riparare" le partizioni che vede possa toccarle.
Parte 3. Come installare Ddrescue su Ubuntu
Prima di iniziare, è necessario installare Ddrescue sul sistema. Lo strumento non è solitamente installato di default, ma è semplice da installare dai repository software online della vostra distribuzione.
Eseguite il seguente comando per installare ddrescue con il gestore di pacchetti del vostro sistema. Seguite questi passaggi per installarlo su tutte le principali distribuzioni Linux:
- Per installare ddrescue su Ubuntu, Debian o Linux Mint.
$ sudo apt install gddrescue
- Per installare ddrescue su Fedora, CentOS, AlmaLinux e Red Hat.:
$ sudo dnf install ddrescue
- Per installare ddrescue su Arch Linux e Manjaro.
$ sudo pacman -S ddrescue
Parte 4. Piccola esercitazione su Ddrescue con esempi
Questa esercitazione è rivolta a chi ha già familiarità con il comando dd. Se non avete familiarità con dd, dovreste prima cercare su Internet del materiale introduttivo su dd e GNU Ddrescue.
Con il passare del tempo, un'unità in avaria sviluppa sempre più errori. Pertanto, è necessario salvare i dati da un'unità immediatamente dopo aver riscontrato il primo errore. Fate attenzione perché ogni volta che un'unità danneggiata si accende può emettere dati.
Sarebbe meglio utilizzare Ddrescue per creare una copia dell'unità guasta e poi tentare di riparare la copia. Se i dati sono importanti, utilizzare la prima copia come master per una seconda copia e tentare di riparare la seconda copia. Se qualcosa va storto, avete ancora il master su cui contare.
Se si cerca di recuperare un'intera partizione, riparare prima la copia con e2fsck o un altro strumento appropriato per il tipo di partizione che si sta cercando di recuperare, quindi montare la copia riparata da qualche parte e cercare di recuperare i file al suo interno.
Se la tabella delle partizioni è danneggiata, salvare l'intero disco prima di riparare la tabella delle partizioni e le partizioni sulla copia. Se l'unità danneggiata non è elencata in /dev, non può essere recuperata. Non con ddrescue, ad ogni modo.
Esempio 1: Salvataggio completamente automatico di un intero disco con due partizioni ext2 in /dev/sda a /dev/sdb. Non è necessario partizionare prima /dev/sdb, ma se la tabella delle partizioni su /dev/sda è danneggiata, è necessario ricrearla su /dev/sdb.
ddrescue -f -r3 /dev/sda /dev/sdb mapfile
fdisk /dev/sdb
e2fsck -v -f /dev/sdb1
e2fsck -v -f /dev/sdb2
Esempio 2: Spostare una partizione ext2 da /dev/sda2 a /dev/sdb2. Per prima cosa è necessario usare fdisk per creare la partizione sdb2 con il tipo e le dimensioni corrette.
ddrescue -f -n /dev/sda2 /dev/sdb2 mapfile
ddrescue -d -f -r3 /dev/sda2 /dev/sdb2 mapfile
e2fsck -v -f /dev/sdb2
mount -t ext2 -o ro /dev/sdb2 /mnt(read rescued files from /mnt)
Esempio 3: Durante il tentativo di salvare l'intera unità /dev/sda in /dev/sdb, /dev/sda si blocca alla posizione 12345678.
ddrescue -f /dev/sda /dev/sdb mapfile # /dev/sda freezes here
(restart /dev/sda or reboot computer)
(restart copy at a safe distance from the troubled sector)
ddrescue -f -i 12350000 /dev/sda /dev/sdb mapfile
(then copy backwards down to the troubled sector)
ddrescue -f -R /dev/sda /dev/sdb mapfile
Esempio 4: Durante il trasferimento dei dati da /dev/sda a /dev/sdb, /dev/sdb si guasta ed è necessario trasferire i dati su una terza unità, /dev/sdc.
ddrescue -f -n /dev/sda /dev/sdb mapfile1 # /dev/sdb fails here
ddrescue -f -m mapfile1 /dev/sdb /dev/sdc mapfile2
ddrescue -f -n /dev/sda /dev/sdc mapfile2
ddrescue -d -f -r3 /dev/sda /dev/sdc mapfile2
Esempio 5: Durante il salvataggio di una partizione in /dev/sda1 nel file hdimage, /dev/sda1 smette di rispondere e inizia a rispondere agli errori di lettura, permettendo a ddrescue di registrare il resto della partizione come non raschiata.
ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 fails here
(restart /dev/sda or reboot computer)
ddrescue -n -A -i<pos> -O /dev/sda1 hdimage mapfile
(if /dev/sda1 fails again, restart /dev/sda or reboot computer and
then repeat the above command as many times as needed until it
succeeds. <pos> is the position where the drive stopped responding)
ddrescue -d -r3 /dev/sda1 hdimage mapfile
Esempio 6: Dopo aver salvato una partizione da /dev/sda1 al file hdimage, sda1 scompare da /dev.
ddrescue -n /dev/sda1 hdimage mapfile # /dev/sda1 fails here
(restart /dev/sda or reboot computer and then repeat the above
command as many times as needed until it succeeds)
ddrescue -d -r3 /dev/sda1 hdimage mapfile
Esempio 7: Durante il salvataggio di una partizione da /dev/sda1 al file hdimage, la tabella delle partizioni di /dev/sda diventa illeggibile e il sistema operativo non riconosce più sda1 in /dev. La soluzione è spostare il file di mappa e leggere la partizione rimanente sda1 da /dev/sda. È necessario conoscere l'offset della partizione sda1 nell'unità sda e la dimensione di sda1.
ddrescue /dev/sda1 hdimage mapfile # partition table fails here
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue -i<offset> -o0 -s<size> /dev/sda hdimage shifted_mapfile
Esempio 8: Dopo aver salvato una partizione in /dev/sda1 nel file hdimage, espandere hdimage per copiare l'intera unità in /dev/sda senza ricopiare la partizione /dev/sda1 precedentemente copiata. La soluzione è rinominare il file di mappa, copiare i dati da sda1 alla posizione finale in hdimage e quindi leggere i dati rimanenti da /dev/sda. È necessario conoscere l'offset della partizione sda1 nell'unità sda e la dimensione di sda1.
ddrescue /dev/sda1 hdimage mapfile # rescue partition
ddrescuelog --shift -o<offset> mapfile > shifted_mapfile
ddrescue --same-file -o<offset> -s<size> --reverse hdimage hdimage
ddrescue /dev/sda hdimage shifted_mapfile # rescue rest of drive
Parte 5. Utilizzare Ddrescue per recuperare i dati su Ubuntu - Guida completa
Passo 1. Avviare un command line terminal e identificare il percorso del dispositivo del disco rigido o della partizione che si desidera clonare. È possibile farlo con strumenti come lsblk, fdisk, ecc.
$ lsblk
Passo 2. La partizione verrà quindi copiata in un file immagine utilizzando la seguente sintassi di comando. Nell'esempio che segue, si utilizza /dev/sdX, ma si può facilmente sostituire con la propria partizione o dispositivo. Il contenuto verrà salvato in un file backup.img.
$ sudo ddrescue -d /dev/sdX backup.img backup.logfile
Nota: la -d option indica a ddrescue di ignorare la cache del kernel e di accedere direttamente al disco.
Passo 3. Se si tenta di recuperare i dati da un disco danneggiato, aggiungere la -r option dopo il primo tentativo descritto sopra. Indica a ddrescue di riprovare i settori danneggiati per recuperare quanti più dati possibile. Dopo l'opzione, è possibile specificare il numero di tentativi.
$ sudo ddrescue -d -r3 /dev/sdX backup.img backup.logfile
Passo 4. Il nuovo file immagine verrà quindi copiato su un altro disco o partizione. A tale scopo, si può utilizzare il dd command.
$ sudo dd if=backup.img of=/dev/sdX
In alternativa, utilizzare il ddrescue command.
$ sudo ddrescue -f backup.img /dev/sdX clone.logfile
La -f option indica che l'output viene inviato a un dispositivo a blocchi anziché a un file.
Passo 5. Se si desidera clonare un disco o una partizione direttamente su un altro senza utilizzare un file immagine, utilizzare la seguente sintassi. In questo esempio, stiamo clonando la partizione /dev/sdX1 in /dev/sdX2.
$ sudo ddrescue -d -f /dev/sdX1 /dev/sdX2 clone.logfile
Dopo aver completato i passaggi precedenti, si dovrebbe essere in grado di accedere allo storage clonato e vedere tutti i file recuperati con successo da ddrescue.
Parte 6. Rimozione/Disinstallazione di Ddresuce da Ubuntu
Dopo aver recuperato i dati su Ubuntu utilizzando Ddrescue, è possibile disinstallarlo per liberare spazio. Ecco come disinstallare ddrescue da Ubuntu 12.04 LTS. Utilizzando il apt command, è possibile disinstallare facilmente questo pacchetto dal sistema operativo Linux.
Passo 1. Il comando seguente viene eseguito per rimuovere ddrescue:
sudo apt-get remove ddrescue
Passo 2. Per rimuovere il pacchetto ddrescue e le sue dipendenze, utilizzate il seguente comando:
sudo apt-get remove --auto-remove ddrescue
L'esecuzione di questo comando disinstallerà ddrescue e tutte le sue dipendenze, che non sono più necessarie nel sistema.
Rimuovere completamente ddrescue e tutti i file di configurazione:
Passo 3. Poiché cancella tutti i file di configurazione e i dati, il comando seguente deve essere usato con cautela:
sudo apt-get purge ddrescue
Passo 4. In alternativa, eseguite questo comando per cancellare tutti i file di configurazione e i dati associati al pacchetto ddrescue. Non è possibile recuperare i dati cancellati, quindi utilizzare questo comando con cautela.
sudo apt-get purge --auto-remove ddrescue
Parte 7. [Installazione di Recoverit - Uno strumento GUI per il Recupero dei Dati di Linux
L'uso di GNU ddrescue per Linux può risultare un po' troppo impegnativo per gli utenti che hanno poca conoscenza della riga di comando; fortunatamente, esiste un'ottima alternativa: Wondershare Recoverit Linux Data Recovery. È una soluzione di recupero dati per sistemi operativi Linux con interfaccia grafica. È possibile utilizzarlo per recuperare i file cancellati o persi dai dispositivi Linux in pochi clic.
Wondershare Recoverit - Il Vostro Software di Recupero Linux Sicuro e Affidabile
5.481.435 persone lo hanno scaricato.
Recupera documenti, foto, video, musica, e-mail e altri oltre 1000 tipi di file persi o cancellati in modo efficace, sicuro e completo.
Compatibile con tutte le principali distro Linux, tra cui Ubuntu, Linux Mint, Debian, Fedora, Solus, Opensuse, Manjaro, ecc.
Assiste in oltre 500 scenari di perdita di dati, come l'eliminazione, la formattazione del disco, l'arresto del sistema operativo, l'interruzione di corrente, l'attacco di virus, la perdita di una partizione e molti altri.
La semplice interfaccia point-and-clic consente di recuperare i dati dai dischi rigidi Linux in pochi clic.
Funziona attraverso una connessione remota. È possibile recuperare i dati persi anche quando il dispositivo Linux si blocca.
Ecco una guida passo passo all'uso di Wondershare Recoverit Linux Recovery per eseguire il recupero dei dati in modo da poter recuperare i file importanti il prima possibile.
Passo 1. Selezionare Linux Recovery
Installare Wondershare Recoverit dopo averlo scaricato. Quindi, aprirlo e selezionare NAS and Linux come prima opzione, seguita da Linux Recovery.
Passo 2. Connettersi a un Dispositivo Linux da Remoto
Compilare i campi necessari per stabilire una connessione remota. Al termine, premere il pulsante Connect. Dopodiché, Recoverit eseguirà una ricerca automatica dei file mancanti.
Passo 3. Recupero dei File e Salvataggio dei Dati
La quantità di dati da scansionare determina la durata del processo di scansione, visibile nella barra inferiore. È possibile interrompere la ricerca quando si è trovato il file che si desidera recuperare.
Dopo la scansione, è possibile esaminare i file per verificare che contengano i dati che si desidera recuperare. Quindi scegliere Recupera.
Seguendo le istruzioni del software, è possibile salvare i file recuperati. Fare clic su Recupera per ottenere i dati ripristinati. Selezionare un percorso di file diverso da quello perso più di recente.
Per Windows XP/Vista/7/8/10/11
Per macOS X 10.10 - macOS 13
Riassunto
Questa esercitazione introduce GNU ddrescue per Linux. Inoltre, si apprende come installare lo GNU ddrescue tool su tutte le principali distribuzioni Linux e come utilizzarlo per il ripristino. Aggiungiamo anche la migliore alternativa a GNU ddrescue, ovvero Wondershare Recoverit Linux Recovery, per operazioni di recupero più semplici e meno fastidiose.