- 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.
- A ddrescue telepítése
- Az alapok megértése
- Fontos megfontolások
- A ddrescue használata
- A sérült blokk helyreállítása
- A képfájl visszaállítása új blokkra
- Blokk helyreállítása másik blokkra
- Adott adatok helyreállítása a helyreállított képfájlokból
- Speciális funkciók
- Hogyan működik a ddrescue
- Következtetés
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 drescueArch 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, FSTYPEA -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 ] .logJegyzet: 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.logA 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.logA -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 / sdbA 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.logTegyü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.logA 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 RecoveryMountEzután csatolja a képfájlt a következő módon:
sudo hegy -O hurok helyreállítása.img ~ / RecoveryMountA -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 ~ / RecoveryMountSpeciá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.logA 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.logA -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.logEzenkí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.