Atkurkite duomenis Linux sistemoje naudodami ddrescue

Atkurkite Duomenis Linux Sistemoje Naudodami Ddrescue



Ddrescue yra įrankis, naudojamas atkurti duomenis iš failo arba blokinio įrenginio, pvz., standžiojo disko, SSD, RAM diskų, kompaktinių diskų, DVD ir USB atmintinės. Jis kopijuoja duomenis iš vieno bloko įrenginio į kitą, palikdamas sugadintus duomenų blokus ir perkeldamas tik gerus. ddrescue yra galingas atkūrimo įrankis, kuris yra visiškai automatizuotas, nes atkūrimo operacijos metu nereikalauja jokių trukdžių. Be to, jis gali būti sustabdytas ir atnaujintas bet kuriuo metu dėka ddrescue žemėlapio failą . Kitos pagrindinės ddrescue funkcijos yra išvardytos žemiau:
  • Jis neperrašo atkurtų duomenų, bet užpildo spragas kartotinio atkūrimo atveju. Tačiau jis gali būti sutrumpintas, jei įrankiui aiškiai nurodyta tai padaryti.
  • Atkurkite duomenis į vieną failą iš kelių failų ar blokų.
  • Palaiko kelių tipų įrenginių sąsajas, tokias kaip SATA, ATA, SCSI, MFM įrenginiai, diskeliai ir SD kortelės.

Šiame vadove išnagrinėsiu šį nepaprastai naudingą duomenų atkūrimo įrankį. Taip pat aptarsiu jo diegimo procesą ir kaip jį naudoti norint atkurti blokinį įrenginį ar skaidinį.

Pastaba: Šiame vadove pateiktoms instrukcijoms naudoju Linux platinimą (Ubuntu 22.04). „ddrescue“ paslaugų programos diegimo procesas gali skirtis, tačiau instrukcijos bus vienodos visuose „Linux“ platinimuose.







Diegiame ddrescue

Norėdami įdiegti „ddrescue“ sistemoje „Linux“, ypač Ubuntu ir jo skoniai arba Debian pagrindu distros, naudokite:



sudo apt diegti gddrescue

Norėdami jį įdiegti REHL , Fedora , ir CentOS , pirmiausia įjunkite ŠILTA (Papildomi paketai, skirti Enterprise Linux).



sudo yum įdiegti šiltas išleidimas

Aukščiau pateikta komanda skirta naujesnėms atitinkamo platinimo versijoms.





Tada vykdykite šią komandą, kad įdiegtumėte ddrescue:

sudo yum įdiegti drescue

Arch-pagrįstiems Linux platinimams, pvz Arch-Linux ir Mandžaras , naudokite toliau pateiktą komandą, kad įdiegtumėte ddrescue atkūrimo priemonę.



sudo pacman -S drescue

Kadangi naudoju Ubuntu 22.04, jai įdiegti naudosiu APT paketų tvarkyklę.

Supratimo pagrindai

Prieš naudojant ddrescue įrankį duomenims atkurti, rekomenduočiau naudotojams, kuriems atkūrimo procesas nėra naujas, suprasti kai kurias Linux pavadinimų taisykles.

„Linux“ atpažįsta blokus (įrenginius) kaip failus ir įdeda juos į /dev katalogas. Norėdami įtraukti failus į /dev katalogą, naudokite ls /dev komandą.

The kietieji diskai (saugojimo blokai) pavaizduoti su sd po jo seka abėcėlė; kelių saugojimo įrenginių atveju failai bus vaizduojami kaip /dev/sd a, /dev/sd b, ir taip toliau.

Jei saugojimo įrenginyje yra pertvaros , tada jie bus pavaizduoti skaičiumi su atitinkamu disko failo pavadinimu, pvz., /dev/sda 1 , /dev/sda 2 , ir taip toliau.

Norėdami išvardyti visus blokus ir kitus su sistema prijungtus įrenginius, naudokite sąrašo bloką lsblk komanda:

lsblk

Komanda ddrescue gali atkurti visą bloką (su MBR ir skaidiniais) arba skaidinį. Kita vertus, jei jums reikia atkurti tik konkrečius failus iš konkretaus skaidinio, geriau atkurti skaidinį, o ne visą bloką.

Svarbūs svarstymai

Prieš naudodami ddrescue įrankį, reikėtų atsižvelgti į kai kuriuos labai svarbius dalykus:

  • Nebandykite atkurti sumontuoto bloko, blokas neturėtų būti net tik skaitymo režimu.
  • Nebandykite taisyti bloko su įvesties / išvesties klaidomis.
  • Sistema gali pakeisti įvesties ir išvesties įrenginių pavadinimus paleidus iš naujo. Prieš pradėdami kopijavimo procesą įsitikinkite, kad įrenginių pavadinimai yra teisingi.
  • Jei kaip išvesties įrenginį naudojate atskirą bloką, visi įrenginio duomenys bus perrašyti.

Naudojant ddrescue

Įdiegę ddrescue įrankį ir supratę pavadinimų suteikimo taisykles, kitas veiksmas yra nustatyti sugedusį diską ir atkurti jį naudojant ddrescue įrankį.

Sugadinto bloko atkūrimas

Pirmasis pavyzdys apims viso bloko atkūrimo procesą. Pirmiausia surašykite blokus naudodami lsblk komanda:

lsblk -O PAVADINIMAS, DYDIS, FSTYPE

The -O vėliavėlė naudojama norint nurodyti, kokio tipo informaciją (laukus) turi išvesti komanda. Aš minėjau VARDAS , DYDIS , ir FSTYPE arba failų sistemos tipas.

Dabar galite nustatyti tikslinį bloką, skaidinį ir vietą, kad išsaugotumėte išgelbėtą vaizdo failą.

Kitas svarbus dalykas, į kurį reikia atkreipti dėmesį, yra tai, kad Linux sistemoje bloko pavadinimas priskiriamas dinamiškai įkrovos metu, o po perkrovimo blokų pavadinimai gali pasikeisti. Taigi, būkite atsargūs užsirašydami blokų pavadinimus.

Dabar naudokite šią sintaksę, kad išsaugotumėte bloką kaip vaizdo failą su žurnalo failu šakniniame kataloge.

sudo drescue -d -rX / dev / [ blokas ] [ kelias / vardas ] .img [ žurnalo failo_pavadinimas ] .log

Pastaba: Pakeiskite [blokuoti] , [kelias/vardas] vaizdo failą ir [logfile_name] atitinkamai su pageidaujamais pavadinimais.

Šiame pavyzdyje aš atgaunu /dev/sda šakniniame kataloge su vaizdo failo pavadinimu atkūrimas.img . Žurnalo failas, taip pat žinomas kaip žemėlapio failas, yra būtinas, jei norite bet kada atnaujinti atkūrimą.

sudo drescue -d -r2 / dev / sda2 recovery.img recovery.log

Aukščiau pateiktoje komandoje naudojamos dvi svarbios vėliavėlės.

d – netiesioginis Naudojamas įrankiui nurodyti tiesiogiai pasiekti diską, ignoruojant branduolio talpyklą
rX – pakartotiniai leidimai Naudojama, norint nurodyti įrankiui X kartų bandyti sugadinti sektorių

Vykdydami aukščiau pateiktą komandą, failų naršyklėje pastebėsite du failus su pavadinimais atkūrimas.img ir atkūrimas.log .

Atkūrimo laikas priklauso nuo įvesties bloko dydžio ir žalos. Jei atkuriate didelį bloką, rekomenduoju turėti žurnalo failą, nes procesas gali užtrukti kelias valandas ar net dienas.

Aukščiau pateiktos komandos išvestis pateikiama žemiau:

Išvesties paveikslėlyje ipos yra įvesties failo įvesties vieta, nuo kurios pradedama kopijuoti, ir opos yra išvesties vieta išvesties faile, kurioje įrašomi duomenys.

The neišbandytas yra bloko dydis nėra išbandytas. The išgelbėtas rodo sėkmingai atkurto bloko dydį. The pc išgelbėta rodo sėkmingą duomenų atkūrimą procentais. Sąlygos, neapkarpytas , neišmesta į metalo laužą , blogas sektorius , ir blogos zonos yra savaime aiškūs. Tačiau, skaitymo klaidas terminas rodo nesėkmingus skaitymo bandymus skaičiais.

The veikimo laikas rodomas laikas, per kurį įrankis užbaigė procesą, o likęs laikas yra laikas, likęs atkūrimo procesui užbaigti. Aukščiau pateiktame išvestyje rodomas likęs laikas 0, nes procesas baigtas, skaitykite išvestį kitame nebaigto proceso paveikslėlyje.

Pažiūrėkime, ką gauname žurnalo faile; Norėdami atidaryti sugeneruotą žurnalo failą, naudokite vim recovery.log komandą.

The Dabartinis statusas yra +, o tai reiškia, kad procesas baigtas, o dabartinė_poz yra padėtis ant bloko.

Esamų būsenų sąrašas pateikiamas šioje lentelėje:

? Kopijuojama
* Apipjaustymas
/ Išmetimas į metalo laužą
Bandoma dar kartą
F Nurodytų blokų užpildymas
G Žurnalo failo generavimas
+ Procesas baigtas

Po juo žurnalo faile yra anksčiau išsaugotų blokų būsenos nuorodos toliau išvardytų simbolių pavidalu:

? Blokas neišbandytas
* Neapkarpytas blokas nepavyko
/ Neišbrauktas blokas nepavyko
Blogo sektoriaus blokas nepavyko
+ Baigtas blokas

Vaizdo failo atkūrimas į naują bloką

Kai baigsite atkūrimo procesą ir turėsite vaizdo failą. Dabar galbūt norėsite, kad jis būtų perkeltas į naują diską iš sugadinto disko. Norėdami perkelti vaizdo failą į naują bloką, pirmiausia prijunkite tą bloką prie sistemos ir nustatykite bloko pavadinimą naudodami lsblk komandą.

Tarkime, kad taip /dev/sdb , naudokite šią komandą, kad nukopijuotumėte vaizdą į naują bloką.

sudo drescue -f atkūrimas.img / dev / sdb logfile.log

The -f vėliavėlė naudojama naujam blokui perrašyti, jei yra kokių nors duomenų. Atminkite, kad žurnalo failo pavadinimas turi skirtis, kad jis būtų atskirtas nuo anksčiau išsaugoto žurnalo failo.

Aukščiau nurodytą operaciją taip pat galima atlikti naudojant dd , kita galinga komanda, naudojama failams kopijuoti.

sudo dd jeigu =atkūrimas.img apie = / dev / sdb

Prieš atlikdami atkūrimą, atminkite, kad naujas blokas turi būti pakankamai didelis, kad liktų visas atkurtas blokas; Pavyzdžiui, jei atkūrimo blokas yra 5 GB, naujasis blokas turėtų būti didesnis nei 5 GB.

Jei atkurtas vaizdo failas pateikia daug klaidų, jas galima ištaisyti naudojant fsck „Linux“ komandą tam tikru mastu. Naudodami „Windows“ galite naudotis CHKDSK arba SFC komandas tai padaryti. Tačiau atkūrimas priklauso nuo sugadinto failo sugeneruotų klaidų skaičiaus.

Dabar atkūrimo ir atkūrimo procesas baigtas. Kitas svarbus dalykas, į kurį reikia atkreipti dėmesį, yra tai, kad sugadintą bloką galite atkurti tiesiai kitame bloke, o ne sukurti vaizdo failą ir nukopijuoti jį į naują bloką. Na, o kitame skyriuje aš išsamiai aprašysiu šį procesą.

Bloko atkūrimas į kitą bloką

Norėdami atkurti bloką tiesiai į naują bloką, pirmiausia prijunkite bloką prie sistemos ir vėl naudokite lsblk komanda bloko pavadinimui nustatyti. Netinkami blokų pavadinimai gali sujaukti visą procesą ir galite prarasti duomenis.

Nustačius šaltinio bloką ir paskirties bloką, blokui atkurti naudokite šią komandą:

sudo drescue -d -f -r2 / dev / [ šaltinis ] / dev / [ Kelionės tikslas ] atsarginė kopija.log

Tarkime /dev/sdb yra paskirties blokas, todėl norėdami nukopijuoti /dev/sda katalogą naujam blokui naudoti:

sudo drescue -d -f -r2 / dev / sda / dev / sdb atsarginė kopija.log

Prieš pradėdami šį procesą, dar kartą peržiūrėkite ankstesniuose skyriuose paminėtus svarbius aspektus.

Konkrečių duomenų atkūrimas iš atkurtų vaizdo failų

Daugeliu atvejų duomenų atkūrimo tikslas yra rasti konkrečius failus iš sugadintų diskų. Norėdami pasiekti konkretų failą, turite prijungti vaizdo failą. Linux sistemoje atkurtą vaizdo failą galima naršyti naudojant kalnas komandą.

Prieš montuodami vaizdo failą, sukurkite aplanką arba katalogą, kuriame norite išskleisti vaizdo failo turinį.

mkdir RecoveryMount

Tada prijunkite vaizdo failą naudodami:

sudo kalnas -O kilpos atkūrimas.img ~ / RecoveryMount

Vėliava -o nurodo parinktis, o ciklo parinktis naudojama vaizdo failui laikyti blokuojančiu įrenginiu.

Dabar turite prieigą prie vaizdo failo turinio, kaip parodyta toliau esančioje ekrano kopijoje.

Norėdami atjungti bloką, naudokite umount komandą.

sudo umount ~ / RecoveryMount

Pažangios funkcijos

Norėdami pradėti atkūrimą nuo konkretaus taško, naudokite -i vėliava arba – įvestis-pozicija . Jis turėtų būti baitais, pagal numatytuosius nustatymus 0 baitų. Tai svarbu norint tęsti kopijavimą nuo konkretaus taško. Pavyzdžiui, jei norite pradėti kopijavimo procesą nuo 10 GB taško, naudokite šią komandą.

sudo drescue -i10 GiB / dev / sda imagefile.img logfile.log

Norėdami nustatyti didžiausią įvesties įrenginio dydį, -s vėliava bus naudojama. The -s reiškia dydį ir taip pat gali būti naudojamas kaip – dydis baitais. Jei įrankis neatpažįsta įvesties failo dydžio, naudokite šią parinktį, kad jį nurodytumėte.

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

The – paklausti parinktis gali būti gana patogi, nes ji ragina patvirtinti įvesties ir išvesties blokus prieš pradedant kopijavimo procesą. Kaip aptarta anksčiau, sistema dinamiškai priskiria blokams pavadinimus ir jie pasikeičia perkrovimo metu. Taigi tokiu atveju ši parinktis gali būti naudinga.

sudo drescue -- paklausti / dev / sda imagefile.img logfile.log

Be to, toliau pateikiamas kai kurių kitų parinkčių sąrašas:

-R – atvirkštinis Norėdami pakeisti kopijavimo kryptį
-q – gana Norėdami užblokuoti visus išvesties pranešimus
– žodinis Išsamiau – visi išvesties pranešimai
-p – iš anksto paskirstyti Norėdami iš anksto paskirstyti saugyklą išvesties failui
-P – duomenų peržiūra Paskutinių nuskaitytų duomenų rodymo eilutės pagal nutylėjimą yra 3 eilutės

Kaip veikia ddrescue

Ddrescue naudoja galingą atkūrimo algoritmą, suskirstytą į keturias fazes:

1. Kopijavimas

2. Apipjaustymas

3. Grandymas

4. Bandymas iš naujo

Ddrescue algoritmo vykdymas parodytas kitame paveikslėlyje.

Išvada

The drescue yra galingas atkūrimo įrankis, naudojamas atkurti duomenis iš sugadinto arba sugedusio disko į kitą diską, nukopijuojant duomenis. Jis gali būti lengvai įdiegtas bet kuriame „Linux“ paskirstyme naudojant numatytąją paketų tvarkyklę. Prieš naudodami šį šiame vadove nurodytą įrankį, atkreipkite dėmesį į svarbius dalykus. Duomenų kopijavimo procesas yra paprastas, atjunkite diską ir naudokite komandą ddrescue su šaltinio disko pavadinimu ir paskirties disko pavadinimu. Nepamirškite naudoti žurnalo failo, nes bus gana naudinga atnaujinti atkūrimo procesą.