Oporavak podataka na Linuxu pomoću ddrescue

Oporavak Podataka Na Linuxu Pomocu Ddrescue



ddrescue je alat koji se koristi za oporavak podataka iz datoteke ili blok uređaja kao što su tvrdi disk, SSD, RAM diskovi, CD, DVD i USB uređaji za pohranu. Kopira podatke s jednog blok uređaja na drugi, ostavljajući oštećene blokove podataka i premještajući samo dobre. ddrescue je moćan alat za oporavak koji je potpuno automatiziran jer ne zahtijeva nikakve smetnje tijekom operacije oporavka. Štoviše, može se zaustaviti i nastaviti u bilo kojem trenutku zahvaljujući ddrescue datoteka karte . Ostale ključne značajke ddrescue navedene su u nastavku:
  • Ne prepisuje obnovljene podatke, ali popunjava praznine u slučaju iterativnog oporavka. Međutim, može se skratiti ako se alatu to izričito naloži.
  • Oporavite podatke u jednu datoteku iz više datoteka ili blokova.
  • Podržava više vrsta sučelja uređaja kao što su SATA, ATA, SCSI, MFM pogoni, diskete i SD kartice.

U ovom ću vodiču istražiti ovaj nevjerojatno koristan alat za oporavak podataka. Također ću raspravljati o njegovom postupku instalacije i kako ga koristiti za oporavak blok uređaja ili particije.

Bilješka: Za upute u ovom vodiču koristim distribuciju Linuxa (Ubuntu 22.04). Postupak instalacije uslužnog programa ddrescue može se razlikovati, ali upute će biti iste u svim distribucijama Linuxa.







Instalacija ddrescue

Posebno za instaliranje ddrescue na Linux Ubuntu i njegove okuse ili Zasnovan na Debianu distribucije, koristite:



sudo prikladan instalirati gddrescue

Da biste ga instalirali na REHL , Fedora , i CentOS , prvo omogućite TOPLO (Dodatni paketi za Enterprise Linux).



sudo yum instaliraj toplo puštanje

Gornja naredba je za novije verzije odgovarajuće distribucije.





Zatim izvršite sljedeću naredbu da instalirate ddrescue:

sudo yum instaliraj ddrescue

Za Linux distribucije bazirane na Archu kao što su Arch-Linux i Manjaro , upotrijebite donju naredbu za instalaciju uslužnog programa za oporavak ddrescue.



sudo Pac Man -S ddrescue

Budući da koristim Ubuntu 22.04, koristit ću APT upravitelj paketa za njegovu instalaciju.

Razumijevanje osnova

Prije korištenja alata ddrescue za oporavak podataka, preporučio bih korisnicima koji su novi u procesu oporavka da razumiju neke konvencije imenovanja Linuxa.

Linux prepoznaje blokove (uređaje) kao datoteke i smješta ih u /dev imenik. Za popis datoteka u /dev direktoriju, koristite ls /dev naredba.

The tvrdi diskovi (skladišni blokovi) predstavljeni su sa sd slijede abecede; u slučaju više uređaja za pohranu datoteke će biti predstavljene kao /dev/sd a, /dev/sd b, i tako dalje.

Ako uređaj za pohranu ima pregrade , tada će biti predstavljeni brojem s odgovarajućim nazivom datoteke pogona, kao što je /dev/sda 1 , /dev/sda 2 , i tako dalje.

Za popis svih blokova i drugih povezanih uređaja sa sustavom koristite popis blokova lsblk naredba:

lsblk

Naredba ddrescue može oporaviti cijeli blok (koji sadrži MBR i particije) ili particiju. S druge strane, ako trebate oporaviti samo određene datoteke s određene particije, tada je bolje oporaviti particiju umjesto cijelog bloka.

Važna razmatranja

Prije korištenja uslužnog programa ddrescue treba razmotriti neke vrlo ključne točke:

  • Ne pokušavajte oporaviti montirani blok, blok ne bi trebao biti čak ni u načinu rada samo za čitanje.
  • Ne pokušavajte popraviti blok s I/O greškama.
  • Sustav može promijeniti nazive ulaznih i izlaznih uređaja prilikom ponovnog pokretanja. Provjerite jesu li nazivi uređaja ispravni prije početka postupka kopiranja.
  • Ako koristite zasebni blok kao izlazni uređaj, tada će svi podaci na uređaju biti prebrisani.

Korištenje ddrescue

Nakon instaliranja uslužnog programa ddrescue i razumijevanja konvencija imenovanja, sljedeći korak je identificirati pokvareni disk i oporaviti ga pomoću alata ddrescue.

Oporavak oštećenog bloka

Prvi primjer će obuhvatiti proces oporavka cijelog bloka. Prvo popišite blokove pomoću lsblk naredba:

lsblk -O NAZIV, VELIČINA, FSTYPE

The -O zastavica se koristi za određivanje vrste informacija (polja) koje naredba treba ispisati. Spomenuo sam IME , VELIČINA , i FSTYPE ili tip datotečnog sustava.

Sada možete identificirati ciljni blok, particiju i mjesto za spremanje spašene slikovne datoteke.

Još jedna važna stvar koju treba imati na umu je da se u Linuxu naziv bloka dodjeljuje dinamički pri dizanju i nakon ponovnog pokretanja, nazivi blokova se mogu promijeniti. Dakle, budite oprezni dok bilježite nazive blokova.

Sada upotrijebite sljedeću sintaksu za spašavanje bloka kao slikovne datoteke s datotekom dnevnika u korijenskom direktoriju.

sudo ddrescue -d -rX / dev / [ blok ] [ staza / Ime ] .img [ logfile_name ] .log

Bilješka: Zamijeniti [blok] , [put/naziv] slikovne datoteke i [logfile_name] s odgovarajućim preferiranim nazivima.

U ovom primjeru oporavljam /dev/sda u korijenskom direktoriju s nazivom slikovne datoteke oporavak.img . Datoteka dnevnika također poznata kao datoteka karte neophodna je ako želite nastaviti oporavak u bilo kojem trenutku.

sudo ddrescue -d -r2 / dev / sda2 oporavak.img oporavak.log

U gornjoj naredbi koriste se dvije važne zastavice.

d – neizravno Koristi se da kaže alatu da izravno pristupi disku ignorirajući predmemoriju kernela
rX –ponovni pokušaji Koristi se da se alatu kaže da pokuša s lošim sektorom X nekoliko puta

Prilikom izvršavanja gornje naredbe, primijetit ćete dvije datoteke koje se pojavljuju u pregledniku datoteka s nazivima oporavak.img i oporavak.log .

Vrijeme oporavka ovisi o veličini ulaznog bloka i oštećenju. Ako oporavljate veliki blok, preporučujem da imate log datoteku jer može potrajati nekoliko sati ili čak dana da se završi proces.

Ishod gornje naredbe dan je u nastavku:

Na izlaznoj slici, ipos je ulazna pozicija ulazne datoteke odakle počinje kopiranje i čirevi je izlazna pozicija u izlaznoj datoteci gdje se podaci upisuju.

The neiskušano veličina bloka nije na čekanju da se isproba. The spašeni označava veličinu bloka koji je uspješno oporavljen. The pct spašen označava uspješan oporavak podataka u postocima. Uvjeti, neošišan , neotpisan , loš sektor , i loša područja su sami po sebi razumljivi. Međutim greške čitanja izraz označava neuspjele pokušaje čitanja u brojevima.

The vrijeme rada pokazuje vrijeme koje je alatu trebalo da završi proces, dok preostalo vrijeme je preostalo vrijeme za dovršetak procesa oporavka. Gornji izlaz prikazuje preostalo vrijeme 0 jer je proces završio, pročitajte izlaz na sljedećoj slici nedovršenog procesa.

Pogledajmo što ćemo dobiti u log datoteci; za otvaranje generirane datoteke dnevnika koristite vim oporavak.log naredba.

The trenutni status je + što znači da je proces završen, dok je trenutna_poz je pozicija u bloku.

Popis trenutnih statusa dan je u sljedećoj tablici:

? Kopiranje
* Podrezivanje
/ Otpis
Ponovni pokušaj
F Popunjavanje navedenih blokova
G Generiranje datoteke dnevnika
+ Proces je završen

Ispod toga, datoteka dnevnika ima indikacije statusa prethodno spašenih blokova u obliku znakova navedenih u nastavku:

? Blokada nije isprobana
* Neuspjeli blok koji nije podrezan
/ Neotpisani neuspjeli blok
Blokiranje lošeg sektora nije uspjelo
+ Gotov blok

Vraćanje slikovne datoteke u novi blok

Nakon što završite s postupkom oporavka i imate slikovnu datoteku. Možda sada želite da ga premjestite na novi pogon s oštećenog pogona. Da biste slikovnu datoteku premjestili u novi blok, prvo povežite taj blok sa sustavom, a zatim identificirajte naziv bloka pomoću lsblk naredba.

Pretpostavimo da jest /dev/sdb , koristite sljedeću naredbu za kopiranje slike u novi blok.

sudo ddrescue -f oporavak.img / dev / sdb logfile.log

The -f zastavica se koristi za prepisivanje novog bloka ako ima bilo kakvih podataka. Imajte na umu da naziv datoteke dnevnika mora biti drugačiji kako bi bio odvojen od prethodno pohranjene datoteke dnevnika.

Gornja operacija se također može izvesti pomoću dd , još jedna moćna naredba koja se koristi za kopiranje datoteka.

sudo dd ako =oporavak.img od = / dev / sdb

Prije vraćanja, imajte na umu da novi blok mora biti dovoljno velik da zadrži cijeli oporavljeni blok; na primjer, ako je blok za oporavak 5 GB, novi blok bi trebao biti veći od 5 GB.

Ako oporavljena slikovna datoteka prikazuje mnogo pogrešaka, one se mogu popraviti pomoću fsck naredba na Linuxu do neke mjere. Dok ste u sustavu Windows, možete koristiti CHKDSK ili SFC naredbe za to. Međutim, oporavak ovisi o broju pogrešaka koje je generirala oštećena datoteka.

Sada su proces oporavka i obnove gotovi. Još jedna važna stvar koju treba imati na umu je da oštećeni blok možete oporaviti izravno na drugom bloku, umjesto da stvorite slikovnu datoteku i potom je kopirate u novi blok. Pa, u sljedećem odjeljku detaljno opisujem ovaj proces.

Vraćanje bloka u drugi blok

Za vraćanje bloka izravno u novi blok, prvo spojite blok na sustav i ponovno ga koristite lsblk naredba za identifikaciju naziva bloka. Pogrešna imena blokova mogu zabrljati cijeli proces i možete izgubiti podatke.

Nakon identificiranja izvornog i odredišnog bloka, upotrijebite sljedeću naredbu za oporavak bloka:

sudo ddrescue -d -f -r2 / dev / [ izvor ] / dev / [ odredište ] backup.log

Pretpostavimo /dev/sdb je odredišni blok, tako da kopirate /dev/sda imenik za korištenje novog bloka:

sudo ddrescue -d -f -r2 / dev / sda / dev / sdb backup.log

Opet pogledajte kritična razmatranja spomenuta u ranijim odjeljcima prije pokušaja ovog postupka.

Oporavak određenih podataka iz obnovljenih slikovnih datoteka

U mnogim je slučajevima svrha oporavka podataka pronaći određene datoteke s oštećenih pogona. Za pristup određenoj datoteci morate montirati slikovnu datoteku. Na Linuxu, oporavljena slikovna datoteka može se istražiti pomoću montirati naredba.

Prije montiranja slikovne datoteke, napravite mapu ili direktorij u koji želite izdvojiti sadržaj slikovne datoteke.

mkdir RecoveryMount

Zatim montirajte slikovnu datoteku pomoću:

sudo montirati -O oporavak petlje.img ~ / RecoveryMount

Oznaka -o označava opcije, dok se opcija petlje koristi za tretiranje slikovne datoteke kao blok uređaja.

Sada imate pristup sadržaju slikovne datoteke, kao što je prikazano na sljedećoj snimci zaslona.

Za demontiranje bloka koristite umount naredba.

sudo umount ~ / RecoveryMount

Napredne postavke

Za početak oporavka od određene točke, koristite -i zastava ili –ulaz-položaj . Trebao bi biti u bajtovima, prema zadanim postavkama jest 0 bajtova. Ovo je važno za nastavak kopiranja od određene točke. Na primjer, ako želite započeti proces kopiranja od točke od 10 GB, upotrijebite sljedeću naredbu.

sudo ddrescue -i10GiB / dev / sda imagefile.img logfile.log

Da biste definirali maksimalnu veličinu ulaznog uređaja, -s koristit će se zastava. The -s označava veličinu i može se koristiti i kao -veličina u bajtovima. Ako alat ne prepozna veličinu ulazne datoteke, upotrijebite ovu opciju da je odredite.

sudo ddrescue -s10GiB / dev / sda imagefile.img logfile.log

The – pitati opcija može biti vrlo zgodna, jer traži potvrdu ulaznih i izlaznih blokova prije početka procesa kopiranja. Kao što je ranije spomenuto, sustav dinamički dodjeljuje nazive blokovima, a oni se mijenjaju pri ponovnom pokretanju. Dakle, u tom slučaju ova opcija može biti korisna.

sudo ddrescue --pitati / dev / sda imagefile.img logfile.log

Štoviše, u nastavku je naveden popis nekih drugih opcija:

-R – obrnuto Za obrnuti smjer kopiranja
-q -dosta Za suzbijanje svih izlaznih poruka
-u – opširno Da pojasnimo, sve izlazne poruke
-str – unaprijed dodijeliti Da biste unaprijed dodijelili pohranu za izlaznu datoteku
-P –pregled podataka Redovi prikaza zadnjih pročitanih podataka zadano su 3 retka

Kako radi ddrescue

ddrescue koristi snažan algoritam oporavka koji je podijeljen u četiri faze:

1. Kopiranje

2. Podrezivanje

3. Struganje

4. Ponovni pokušaj

Izvršenje ddrescue algoritma prikazano je na sljedećoj slici.

Zaključak

The ddrescue je moćan alat za oporavak koji se koristi za oporavak podataka s oštećenog ili neispravnog pogona na drugi pogon kopiranjem podataka. Može se bez napora instalirati na bilo koju distribuciju Linuxa uz pomoć zadanog upravitelja paketa. Imajte na umu važno razmatranje prije korištenja ovog alata navedenog u ovom vodiču. Proces kopiranja podataka je jednostavan, isključite pogon i upotrijebite naredbu ddrescue s nazivom izvornog i odredišnog pogona. Ne zaboravite upotrijebiti datoteku dnevnika, jer postaje vrlo korisno nastaviti proces oporavka.