- 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į.
- Diegiame ddrescue
- Supratimo pagrindai
- Svarbūs svarstymai
- Naudojant ddrescue
- Sugadinto bloko atkūrimas
- Vaizdo failo atkūrimas į naują bloką
- Bloko atkūrimas į kitą bloką
- Konkrečių duomenų atkūrimas iš atkurtų vaizdo failų
- Pažangios funkcijos
- Kaip veikia ddrescue
- Išvada
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 drescueArch-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, FSTYPEThe -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 ] .logPastaba: 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.logAukšč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.logThe -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 / sdbPrieš 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.logTarkime /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.logPrieš 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 RecoveryMountTada prijunkite vaizdo failą naudodami:
sudo kalnas -O kilpos atkūrimas.img ~ / RecoveryMountVė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 ~ / RecoveryMountPaž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.logNorė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.logThe – 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.logBe 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ą.