- Nu suprascrie datele recuperate, ci umple golurile în cazul recuperării iterative. Cu toate acestea, poate fi trunchiat dacă instrumentul este instruit să o facă în mod explicit.
- Recuperați datele într-un singur fișier din mai multe fișiere sau blocuri.
- Acceptă mai multe tipuri de interfețe de dispozitiv, cum ar fi SATA, ATA, SCSI, unități MFM, dischete și carduri SD.
În acest ghid, voi explora acest instrument incredibil de util de recuperare a datelor. Voi discuta, de asemenea, despre procesul său de instalare și despre cum să-l utilizați pentru a recupera un dispozitiv blocat sau o partiție.
- Instalarea ddrescue
- Înțelegerea elementelor de bază
- Considerații importante
- Folosind ddrescue
- Recuperarea blocului corupt
- Restaurarea fișierului imagine într-un nou bloc
- Recuperarea blocului într-un alt bloc
- Recuperarea datelor specifice din fișierele imagine recuperate
- Caracteristici avansate
- Cum funcționează ddrescue
- Concluzie
Notă: Folosesc distribuția Linux (Ubuntu 22.04) pentru instrucțiunile din acest ghid. Procesul de instalare al utilitarului ddrescue poate diferi, dar instrucțiunile vor fi aceleași în toate distribuțiile Linux.
Instalarea ddrescue
Pentru a instala ddrescue pe Linux, în special Ubuntu și aromele sale sau Bazat pe Debian distribuții, utilizați:
sudo apt instalare gdrescue
Pentru a-l instala REHL , Fedora , și CentOS , mai întâi activați CALD (Pachete suplimentare pentru Enterprise Linux).
sudo yum instala eliberare caldă
Comanda de mai sus este pentru versiunile mai noi ale distribuției respective.
Apoi executați următoarea comandă pentru a instala ddrescue:
sudo yum instala ddrescuePentru distribuțiile Linux bazate pe Arch, cum ar fi Arch-Linux și Manjaro , utilizați comanda de mai jos pentru a instala utilitarul de recuperare ddrescue.
sudo pacman -S ddrescue
Deoarece folosesc Ubuntu 22.04, voi folosi managerul de pachete APT pentru a-l instala.
Înțelegerea elementelor de bază
Înainte de a utiliza instrumentul ddrescue pentru a recupera date, aș recomanda utilizatorilor care sunt noi în procesul de recuperare să înțeleagă unele convenții de denumire ale Linux.
Linux recunoaște blocurile (dispozitivele) ca fișiere și le plasează în /dev director. Pentru a lista fișierele din directorul /dev, utilizați ls /dev comanda.
The hard disk-uri (blocuri de depozitare) sunt reprezentate cu sd urmat de alfabete; în cazul mai multor dispozitive de stocare fișierele vor fi reprezentate ca /dev/sd A, /dev/sd b, și așa mai departe.
Dacă dispozitivul de stocare are despărțitori , apoi vor fi reprezentate printr-un număr cu numele fișierului de unitate respectiv, cum ar fi /dev/sda 1 , /dev/sda 2 , și așa mai departe.
Pentru a lista toate blocurile și alte dispozitive conectate cu sistemul, utilizați blocul de listă lsblk comanda:
lsblk
Comanda ddrescue poate recupera întregul bloc (conținând MBR și partiții) sau, de asemenea, o partiție. Pe de altă parte, dacă trebuie să recuperați numai anumite fișiere dintr-o anumită partiție, atunci este mai bine să recuperați partiția în loc de întregul bloc.
Considerații importante
Înainte de a utiliza utilitarul ddrescue, ar trebui luate în considerare câteva puncte cheie:
- Nu încercați să recuperați un bloc montat, blocul nu ar trebui să fie chiar în modul doar citire.
- Nu încercați să reparați un bloc cu erori I/O.
- Sistemul poate modifica numele dispozitivelor de intrare și de ieșire la repornire. Asigurați-vă că numele dispozitivelor sunt corecte înainte de a începe procesul de copiere.
- Dacă utilizați un bloc separat ca dispozitiv de ieșire, atunci orice date de pe dispozitiv vor fi suprascrise.
Folosind ddrescue
După instalarea utilitarului ddrescue și înțelegerea convențiilor de denumire, următorul pas este identificarea discului defect și recuperarea acestuia folosind instrumentul ddrescue.
Recuperarea blocului corupt
Primul exemplu va cuprinde procesul de recuperare a întregului bloc. Mai întâi, enumerați blocurile folosind lsblk comanda:
lsblk -O NUME, DIMENSIUNE, FSTYPEThe -O flag este folosit pentru a specifica ce tip de informații (câmpuri) ar trebui să scoată comanda. Am menționat NUME , MĂRIMEA , și FSTYPE sau tip de sistem de fișiere.
Acum, puteți identifica blocul țintă, partiția și locația pentru a salva fișierul imagine salvat.
Un alt lucru important de reținut este că pe Linux, numele blocului este atribuit dinamic la pornire și după repornire, numele blocurilor se pot schimba. Așadar, aveți grijă când notați numele blocurilor.
Acum, utilizați următoarea sintaxă pentru a salva blocul ca fișier imagine cu un fișier jurnal în directorul rădăcină.
sudo ddrescue -d -rX / dev / [ bloc ] [ cale / Nume ] .img [ logfile_name ] .ButurugaNotă: A inlocui [bloc] , [cale/nume] a fișierului imagine și [logfile_name] cu numele preferate în consecință.
În acest exemplu, recuperez /dev/sda în directorul rădăcină cu numele fișierului imagine recuperare.img . Fișierul jurnal cunoscut și sub numele de fișier de hartă este esențial dacă doriți să reluați recuperarea în orice moment.
sudo ddrescue -d -r2 / dev / sda2 recovery.img recovery.logDouă steaguri importante sunt folosite în comanda de mai sus.
d | -indirect | Este folosit pentru a spune instrumentului să acceseze direct discul ignorând memoria cache a nucleului |
rX | –reîncercare-pase | Este folosit pentru a spune instrumentului să reîncerce sectorul defect X de ori |
La executarea comenzii de mai sus, veți observa două fișiere care apar în browserul de fișiere cu numele recuperare.img și recuperare.log .
Timpul de recuperare depinde de dimensiunea blocului de intrare și de deteriorare. Dacă recuperați un bloc mare, vă recomand să aveți un fișier jurnal, deoarece poate dura câteva ore sau chiar zile pentru a finaliza procesul.
Ieșirea comenzii de mai sus este dată mai jos:
În imaginea de ieșire, ipos este poziția de intrare a fișierului de intrare de unde este începută copierea și ulcere este poziția de ieșire pe fișierul de ieșire în care sunt scrise datele.
The neîncercat este dimensiunea blocului nu este în așteptare pentru a fi încercat. The salvat indică dimensiunea blocului recuperat cu succes. The pct salvat indică recuperarea cu succes a datelor în procente. Termenii, netuns , necasate , sector rau , și zone proaste se explică de la sine. Însă erori de citire termenul indică încercările eșuate de citire în cifre.
The timpul de rulare arată timpul necesar instrumentului pentru a finaliza procesul, în timp ce timp rămas este timpul rămas pentru finalizarea procesului de recuperare. Ieșirea de mai sus arată timpul rămas 0 deoarece procesul s-a terminat, citiți rezultatul din imaginea următoare a unui proces neterminat.
Să vedem ce obținem în fișierul jurnal; pentru a deschide fișierul jurnal generat, utilizați vim recovery.log comanda.
The Statusul curent este + ceea ce înseamnă că procesul este terminat, în timp ce curent_poz este poziția pe bloc.
O listă a stărilor curente este dată în următorul tabel:
? | Copierea |
* | Tunderea |
/ | Casare |
– | Reîncerc |
F | Umplerea blocurilor specificate |
G | Generarea fișierului jurnal |
+ | Procesul este terminat |
Sub acesta, fișierul jurnal are indicații de stare ale blocurilor salvate anterior sub forma caracterelor enumerate mai jos:
? | Blocul nu este încercat |
* | Blocul eșuat netăiat |
/ | Blocul eșuat care nu a fost casat |
– | Blocul eșuat din sectorul rău |
+ | Bloc terminat |
Restaurarea fișierului imagine într-un nou bloc
Odată ce ați terminat cu procesul de recuperare și aveți fișierul imagine. Este posibil să doriți acum să se mute pe noua unitate de pe o unitate coruptă. Pentru a muta fișierul imagine într-un bloc nou, mai întâi, conectați acel bloc la sistem și apoi identificați numele blocului folosind lsblk comanda.
Să presupunem că este /dev/sdb , utilizați următoarea comandă pentru a copia imaginea într-un bloc nou.
sudo ddrescue -f recuperare.img / dev / sdb logfile.logThe -f flag este folosit pentru a suprascrie noul bloc dacă există date. Rețineți că numele fișierului jurnal trebuie să fie diferit pentru a-l păstra separat de fișierul jurnal stocat anterior.
Operația de mai sus se poate face și folosind dd , o altă comandă puternică folosită pentru a copia fișierele.
sudo dd dacă =recovery.img de = / dev / sdbÎnainte de a face o restaurare, rețineți că noul bloc trebuie să fie suficient de mare pentru a păstra întregul bloc recuperat; de exemplu, dacă blocul de recuperare este de 5 GB, noul bloc ar trebui să fie mai mare de 5 GB.
Dacă fișierul imagine recuperat redă o mulțime de erori, atunci acestea pot fi reparate folosind fsck comandă pe Linux într-o oarecare măsură. În timp ce sunteți în Windows, puteți utiliza CHKDSK sau SFC comenzi pentru a face acest lucru. Cu toate acestea, recuperarea depinde de numărul de erori generate de fișierul corupt.
Acum, procesul de recuperare și restaurare sunt finalizate. Un alt lucru important de reținut este că puteți recupera un bloc corupt direct pe alt bloc, în loc să creați un fișier imagine și apoi să îl copiați în noul bloc. Ei bine, în secțiunea următoare, acopăr acest proces în detaliu.
Recuperarea blocului într-un alt bloc
Pentru a recupera un bloc direct într-un bloc nou, mai întâi conectați blocul la sistem și utilizați din nou lsblk comanda pentru a identifica numele blocului. Numele greșite ale blocurilor pot încurca întregul proces și puteți pierde date.
După identificarea blocului sursă și a blocului destinație, utilizați următoarea comandă pentru a recupera blocul:
sudo ddrescue -d -f -r2 / dev / [ sursă ] / dev / [ destinaţie ] backup.logSa presupunem /dev/sdb este blocul de destinație, deci pentru a copia /dev/sda directorul către noul bloc folosește:
sudo ddrescue -d -f -r2 / dev / sda / dev / sdb backup.logDin nou, vedeți considerentele critice menționate în secțiunile anterioare înainte de a încerca acest proces.
Recuperarea datelor specifice din fișierele imagine recuperate
În multe cazuri, scopul recuperării datelor este de a găsi fișierele specifice de pe unitățile corupte. Pentru a accesa fișierul specific, trebuie să montați fișierul imagine. Pe Linux, fișierul imagine recuperat poate fi explorat utilizând montură comanda.
Înainte de a monta fișierul imagine, creați un folder sau director în care doriți să extrageți conținutul fișierului imagine.
mkdir RecoveryMountApoi, montați fișierul imagine folosind:
sudo montură -O recuperare buclă.img ~ / RecoveryMountIndicatorul -o indică opțiunile, în timp ce opțiunea buclă este folosită pentru a trata fișierul imagine ca pe un dispozitiv bloc.
Acum aveți acces la conținutul fișierului imagine, așa cum este afișat în următoarea captură de ecran.
Pentru a demonta blocul, utilizați umount comanda.
sudo umount ~ / RecoveryMountCaracteristici avansate
Pentru a începe recuperarea dintr-un anumit punct, utilizați -i steag sau – poziție de intrare . Ar trebui să fie în octeți, implicit este 0 octeți. Acest lucru este important pentru a relua copierea dintr-un anumit punct. De exemplu, dacă doriți să începeți procesul de copiere din punctul de 10 GB, utilizați următoarea comandă.
sudo ddrescue -i10GiB / dev / sda imagefile.img logfile.logPentru a defini dimensiunea maximă a dispozitivului de intrare, -s va fi folosit steag. The -s semnifică dimensiunea și poate fi folosit și ca -mărimea în octeți. Dacă instrumentul nu recunoaște dimensiunea fișierului de intrare, utilizați această opțiune pentru a-l specifica.
sudo ddrescue -s10GiB / dev / sda imagefile.img logfile.logThe -cere opțiunea poate fi destul de utilă, deoarece solicită confirmarea blocurilor de intrare și ieșire înainte de a începe procesul de copiere. După cum sa discutat mai devreme, sistemul atribuie în mod dinamic nume blocurilor și acestea se modifică la repornire. Deci, în acest caz, această opțiune poate fi utilă.
sudo ddrescue --cere / dev / sda imagefile.img logfile.logMai mult, o listă cu alte câteva opțiuni este menționată mai jos:
-R | -verso | Pentru a inversa direcția de copiere |
-q | -destul de | Pentru a suprima toate mesajele de ieșire |
-în | -verbos | Pentru a detalia, toate mesajele de ieșire |
-p | – prealocarea | Pentru a pre-aloca spațiu de stocare pentru fișierul de ieșire |
-P | – previzualizarea datelor | Liniile de afișare ale celor mai recente date citite implicit este de 3 linii |
Cum funcționează ddrescue
Ddrescue folosește un algoritm puternic de recuperare care este împărțit în patru faze:
1. Copierea
2. Tunderea
3. Razuire
4. Reîncercați
Execuția algoritmului ddrescue este prezentată în imaginea următoare.
Concluzie
The ddrescue este un instrument puternic de recuperare folosit pentru a recupera date de pe o unitate coruptă sau defectă pe o altă unitate prin copierea datelor. Poate fi instalat fără efort pe orice distribuție Linux cu ajutorul managerului de pachete implicit. Luați în considerare aspectul important înainte de a utiliza acest instrument menționat în acest ghid. Procesul de copiere a datelor este simplu, demontați unitatea și utilizați comanda ddrescue cu numele unității sursă și numele unității de destinație. Nu uitați să utilizați fișierul jurnal, deoarece devine destul de util să reluați procesul de recuperare.