Adatok helyreállítása Linuxon a ddrescue segítségével

Adatok Helyreallitasa Linuxon A Ddrescue Segitsegevel



A ddrescue egy olyan eszköz, amellyel visszaállíthatja az adatokat fájlokról vagy blokkeszközökről, például merevlemezről, SSD-ről, RAM-lemezről, CD-ről, DVD-ről és USB-tárolóeszközről. Átmásolja az adatokat egyik blokkeszközről a másikra, elhagyja a sérült adatblokkokat, és csak a jókat mozgatja. A ddrescue egy hatékony helyreállítási eszköz, amely teljesen automatizált, mivel nem igényel semmilyen beavatkozást a helyreállítási művelet során. Sőt, bármikor leállítható és folytatható, köszönhetően a ddrescue térképfájl . A ddrescue további kulcsfontosságú funkciói az alábbiakban találhatók:
  • Nem írja felül a helyreállított adatokat, hanem iteratív helyreállítás esetén pótolja a hiányosságokat. Ez azonban csonkolható, ha az eszközt kifejezetten erre utasítják.
  • Adatok helyreállítása egyetlen fájlba több fájlból vagy blokkból.
  • Támogatja az eszközinterfészek többféle típusát, például a SATA, ATA, SCSI, MFM meghajtókat, hajlékonylemezeket és SD-kártyákat.

Ebben az útmutatóban ezt a hihetetlenül hasznos adat-helyreállító eszközt fogom megvizsgálni. Meg fogom beszélni a telepítési folyamatát is, és azt is, hogyan használhatom blokkeszköz vagy partíció helyreállítására.

Jegyzet: Az útmutatóban szereplő utasításokhoz a Linux disztribúciót (Ubuntu 22.04) használom. A ddrescue segédprogram telepítési folyamata eltérhet, de az utasítások minden Linux disztribúcióban ugyanazok lesznek.







A ddrescue telepítése

A ddrescue telepítése Linuxra, különösen Ubuntu és ízei ill Debian alapú disztribúciók, használja:



sudo alkalmas telepítés gddrescue

A telepítéshez REHL , Fedora , és CentOS , először engedélyezze a MELEG (Extra csomagok Enterprise Linuxhoz).



sudo yum install meleg kiadás

A fenti parancs a megfelelő disztribúció újabb verzióira vonatkozik.





Ezután hajtsa végre a következő parancsot a ddrescue telepítéséhez:

sudo yum install drescue

Arch alapú Linux disztribúciókhoz, mint pl Arch-Linux és Manjaro , használja az alábbi parancsot a ddrescue helyreállítási segédprogram telepítéséhez.



sudo pacman -S drescue

Mivel Ubuntu 22.04-et használok, az APT csomagkezelőt fogom használni a telepítéshez.

Az alapok megértése

Mielőtt a ddrescue eszközt használná az adatok helyreállítására, azt javaslom, hogy azok a felhasználók, akik még nem ismerik a helyreállítási folyamatot, ismerjék meg a Linux néhány elnevezési konvencióját.

A Linux a blokkokat (eszközöket) fájlként ismeri fel, és elhelyezi őket a /dev Könyvtár. A /dev könyvtárban lévő fájlok listázásához használja a ls /dev parancs.

A merevlemezek (tárolóblokkok) jellel vannak ábrázolva SD ábécé követi; több tárolóeszköz esetén a fájlok a /dev/sd formátumban jelennek meg a, /dev/sd b, stb.

Ha a tárolóeszköz rendelkezik válaszfalak , akkor a megfelelő meghajtófájl nevével rendelkező szám jelzi őket, például /dev/sda 1 , /dev/sda 2 , stb.

A rendszerhez csatlakoztatott összes blokk és egyéb eszköz listázásához használja a listablokkot lsblk parancs:

lsblk

A ddrescue parancs helyreállíthatja a teljes blokkot (amely MBR-t és partíciókat tartalmaz), vagy egy partíciót is. Másrészt, ha csak bizonyos fájlokat kell helyreállítania egy adott partícióról, akkor jobb a partíció helyreállítása a teljes blokk helyett.

Fontos megfontolások

A ddrescue segédprogram használata előtt érdemes megfontolni néhány nagyon fontos pontot:

  • Ne próbáljon meg visszaállítani egy felszerelt blokkot, a blokk ne legyen akár csak olvasható módban.
  • Ne próbáljon megjavítani egy I/O-hibás blokkot.
  • A rendszer újraindításkor módosíthatja a bemeneti és kimeneti eszközök nevét. A másolás megkezdése előtt győződjön meg arról, hogy az eszköznevek helyesek.
  • Ha külön blokkot használ kimeneti eszközként, akkor az eszközön lévő adatok felülíródnak.

A ddrescue használata

A ddrescue segédprogram telepítése és az elnevezési szabályok megértése után a következő lépés a hibás lemez azonosítása és helyreállítása a ddrescue eszköz segítségével.

A sérült blokk helyreállítása

Az első példa a teljes blokk helyreállításának folyamatát tartalmazza. Először sorolja fel a blokkokat a segítségével lsblk parancs:

lsblk -O NÉV, MÉRET, FSTYPE

A -O A flag segítségével megadható, hogy milyen típusú információkat (mezőket) kell kiadnia a parancsnak. Említettem a NÉV , MÉRET , és FSTYPE vagy fájlrendszer típusát.

Most azonosíthatja a célblokkot, partíciót és helyet a mentett képfájl mentéséhez.

Egy másik fontos dolog, amit meg kell jegyeznünk, hogy Linuxon a blokk neve dinamikusan kerül kiosztásra rendszerindításkor, és az újraindítás után a blokkok neve megváltozhat. Tehát legyen óvatos, miközben feljegyzi a blokkneveket.

Most használja a következő szintaxist a blokk képfájlként történő mentéséhez a gyökérkönyvtárban lévő naplófájllal.

sudo drescue -d -rX / dev / [ Blokk ] [ pálya / név ] .img [ naplófájl_neve ] .log

Jegyzet: Cserélje ki [Blokk] , [útvonal/név] a képfájlból, és [naplófájl_neve] ennek megfelelően a preferált nevekkel.

Ebben a példában helyreállítom a /dev/sda a gyökérkönyvtárban a képfájl nevével helyreállítás.img . A térképfájlként is ismert naplófájl elengedhetetlen, ha bármikor folytatni szeretné a helyreállítást.

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

A fenti parancsban két fontos zászlót használunk.

d -közvetett Arra használják, hogy az eszköz közvetlenül hozzáférjen a lemezhez, figyelmen kívül hagyva a kernel gyorsítótárát
rX -retry-pass Arra használják, hogy az eszközt X-szer próbálja meg újra a hibás szektorral

A fenti parancs végrehajtásakor két fájl jelenik meg a fájlböngészőben a nevekkel helyreállítás.img és recovery.log .

A helyreállítási idő a bemeneti blokk méretétől és a sérüléstől függ. Ha nagy blokkot állít helyre, azt javaslom, hogy készítsen naplófájlt, mert a folyamat befejezése több órát vagy akár napot is igénybe vehet.

A fenti parancs kimenete az alábbiakban látható:

A kimeneti képen ipos a bemeneti fájl bemeneti pozíciója, ahonnan a másolás kezdődik, és a fekélyek a kimeneti fájl kimeneti pozíciója, ahová az adatokat írják.

A nem próbált a blokk mérete nem függőben van, hogy kipróbálják. A megmentették jelzi a sikeresen helyreállított blokk méretét. A pct megmentve százalékban jelzi az adatok sikeres helyreállítását. A feltételek, nem vágott , nem leselejtezett , rossz szektor , és rossz területek magától értetődőek. Azonban a olvasási hibák kifejezés a sikertelen olvasási kísérleteket jelzi számokban.

A futási idő megmutatja, hogy az eszköz mennyi időt vett igénybe a folyamat befejezéséhez, míg a hátralévő idő a helyreállítási folyamat befejezéséhez hátralévő idő. A fenti kimenet a hátralévő időt 0 mutatja, mert a folyamat befejeződött, olvassa el a kimenetet a következő képen egy befejezetlen folyamatról.

Lássuk, mit kapunk a naplófájlban; a generált naplófájl megnyitásához használja a vim recovery.log parancs.

A jelenlegi állapot a +, ami azt jelenti, hogy a folyamat befejeződött, míg a aktuális_poz a pozíció a blokkon.

Az aktuális állapotok listája a következő táblázatban látható:

? Másolás
* Ritkítás
/ Selejtezés
Újrapróbálkozás
F A megadott blokkok kitöltése
G A naplófájl előállítása
+ A folyamat befejeződött

Ez alatt a naplófájl a korábban mentett blokkok állapotjelzéseit tartalmazza az alább felsorolt ​​karakterek formájában:

? A blokk nincs kipróbálva
* A nem vágott meghibásodott blokk
/ A nem leselejtezett blokk meghibásodott
A rossz szektor sikertelen blokkja
+ Kész blokk

A képfájl visszaállítása új blokkra

Ha végzett a helyreállítási folyamattal, és megvan a képfájl. Most érdemes áthelyezni az új meghajtóra egy sérült meghajtóról. A képfájl új blokkba helyezéséhez először csatlakoztassa azt a blokkot a rendszerhez, majd azonosítsa a blokk nevét a segítségével lsblk parancs.

Tegyük fel, hogy az /dev/sdb , használja a következő parancsot a kép új blokkba másolásához.

sudo drescue -f helyreállítás.img / dev / sdb logfile.log

A -f A flag az új blokk felülírására szolgál, ha van adat. Ne feledje, hogy a naplófájl nevének másnak kell lennie, hogy elkülönüljön a korábban tárolt naplófájltól.

A fenti művelet a dd , egy másik hatékony parancs a fájlok másolására.

sudo dd ha =helyreállítás.img nak,-nek = / dev / sdb

A visszaállítás előtt ne feledje, hogy az új blokknak elég nagynak kell lennie ahhoz, hogy a teljes helyreállított blokkot megtartsa; Például, ha a helyreállítási blokk 5 GB, az új blokknak nagyobbnak kell lennie, mint 5 GB.

Ha a helyreállított képfájl sok hibát jelenít meg, akkor azok a következővel javíthatók fsck parancs bizonyos mértékig Linuxon. Windows alatt használhatja a CHKDSK vagy SFC parancsot ad erre. A helyreállítás azonban a sérült fájl által generált hibák számától függ.

Most a helyreállítási folyamat és a helyreállítás megtörtént. Egy másik fontos dolog, amit meg kell jegyezni, hogy a sérült blokkot közvetlenül egy másik blokkon is helyreállíthatja, ahelyett, hogy képfájlt hozna létre, majd átmásolná az új blokkra. Nos, a következő részben ezt a folyamatot ismertetem részletesen.

Blokk helyreállítása másik blokkra

Ha egy blokkot közvetlenül új blokkra szeretne visszaállítani, először csatlakoztassa a blokkot a rendszerhez, és ismét használja lsblk parancs a blokk nevének azonosításához. A rossz blokknevek összezavarhatják az egész folyamatot, és adatvesztést okozhat.

A forrásblokk és a célblokk azonosítása után használja a következő parancsot a blokk helyreállításához:

sudo drescue -d -f -r2 / dev / [ forrás ] / dev / [ rendeltetési hely ] backup.log

Tegyük fel /dev/sdb a cél blokk, így a másoláshoz a /dev/sda könyvtár az új blokk használatához:

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

A folyamat megkezdése előtt tekintse meg ismét a korábbi szakaszokban említett kritikus megfontolásokat.

Adott adatok helyreállítása a helyreállított képfájlokból

Az adat-helyreállítás célja sok esetben az, hogy megtalálja a sérült meghajtókról a konkrét fájlokat. Az adott fájl eléréséhez csatolni kell a képfájlt. Linuxon a helyreállított képfájl a következővel fedezhető fel hegy parancs.

A képfájl felcsatolása előtt hozzon létre egy mappát vagy könyvtárat, amelybe ki szeretné bontani a képfájl tartalmát.

mkdir RecoveryMount

Ezután csatolja a képfájlt a következő módon:

sudo hegy -O hurok helyreállítása.img ~ / RecoveryMount

A -o jelző jelzi az opciókat, míg a loop opció a képfájl blokkeszközként való kezelésére szolgál.

Mostantól hozzáférhet a képfájl tartalmához, ahogy az a következő képernyőképen is látható.

A blokk leválasztásához használja a umount parancs.

sudo umount ~ / RecoveryMount

Speciális funkciók

A helyreállítás egy adott pontról történő indításához használja a -én zászló ill –bemeneti pozíció . Bájtban kell lennie, alapértelmezés szerint az 0 bájtok. Ez fontos a másolás egy adott ponttól való folytatásához. Például, ha a másolási folyamatot a 10 GB-os pontról szeretné elkezdeni, használja a következő parancsot.

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

A beviteli eszköz maximális méretének meghatározásához a -s zászlót fogják használni. A -s méretet jelöl, és úgy is használható -méret bájtokban. Ha az eszköz nem ismeri fel a bemeneti fájl méretét, használja ezt a beállítást a megadásához.

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

A -kérdez Az opció nagyon hasznos lehet, mivel a másolási folyamat megkezdése előtt a bemeneti és kimeneti blokkok megerősítését kéri. Amint arról korábban szó volt, a rendszer dinamikusan rendel neveket a blokkokhoz, amelyek újraindításkor megváltoznak. Tehát ebben az esetben ez a lehetőség hasznos lehet.

sudo drescue --kérdez / dev / sda imagefile.img logfile.log

Ezenkívül az alábbiakban felsorolunk néhány további lehetőséget:

-R -fordított A másolás irányának megfordításához
-q -egészen Az összes kimeneti üzenet letiltása
-ban ben -bőbeszédű Részletesebben, az összes kimeneti üzenet
-o – előre kiosztani Tárhely előzetes lefoglalása a kimeneti fájl számára
-P -adat-előnézet A legutolsó adatolvasási sorok alapértelmezett értéke 3 sor

Hogyan működik a ddrescue

A ddrescue hatékony helyreállítási algoritmust használ, amely négy fázisra oszlik:

1. Másolás

2. Vágás

3. Kaparás

4. Újrapróbálkozás

A ddrescue algoritmus végrehajtása a következő képen látható.

Következtetés

A drescue egy hatékony helyreállítási eszköz, amellyel az adatok másolásával helyreállíthatók egy sérült vagy meghibásodott meghajtóról egy másik meghajtóra. Az alapértelmezett csomagkezelő segítségével könnyedén telepíthető bármely Linux disztribúcióra. Az eszköz használata előtt vegye figyelembe az útmutatóban említett fontos szempontokat. Az adatok másolása egyszerű, válassza le a meghajtót, és használja a ddrescue parancsot a forrásmeghajtó nevével és a célmeghajtó nevével. Ne felejtse el használni a naplófájlt, mivel nagyon hasznos lehet a helyreállítási folyamat folytatása.