Obnovte údaje v systéme Linux pomocou ddrescue

Obnovte Udaje V Systeme Linux Pomocou Ddrescue



ddrescue je nástroj používaný na obnovu údajov zo súboru alebo blokového zariadenia, ako je pevný disk, SSD, RAM disky, CD, DVD a USB pamäťové zariadenia. Kopíruje dáta z jedného blokového zariadenia do druhého, pričom ponecháva poškodené dátové bloky a presúva len tie dobré. ddrescue je účinný nástroj na obnovu, ktorý je úplne automatizovaný, pretože počas operácie obnovy nevyžaduje žiadne rušenie. Navyše ho možno kedykoľvek zastaviť a obnoviť vďaka súbor mapy ddrescue . Ďalšie kľúčové vlastnosti ddrescue sú uvedené nižšie:
  • Neprepíše obnovené údaje, ale vyplní medzery v prípade opakovaného obnovenia. Môže sa však skrátiť, ak nástroj dostane explicitný pokyn, aby to urobil.
  • Obnovte údaje do jedného súboru z viacerých súborov alebo blokov.
  • Podporuje viacero typov rozhraní zariadení, ako sú SATA, ATA, SCSI, MFM mechaniky, diskety a SD karty.

V tejto príručke preskúmam tento neuveriteľne užitočný nástroj na obnovu údajov. Budem tiež diskutovať o jeho inštalačnom procese a o tom, ako ho použiť na obnovenie blokového zariadenia alebo oddielu.

Poznámka: Pre pokyny v tejto príručke používam distribúciu Linuxu (Ubuntu 22.04). Proces inštalácie pomôcky ddrescue sa môže líšiť, ale pokyny budú rovnaké vo všetkých distribúciách Linuxu.







Inštalácia ddrescue

Najmä na inštaláciu ddrescue v systéme Linux Ubuntu a jeho príchute resp Založené na Debiane distribúcie, použite:



sudo apt Inštalácia gddrescue

Ak ju chcete nainštalovať REHL , Fedora , a CentOS , najprv povoľte TEPLÝ (Extra balíčky pre Enterprise Linux).



sudo mňam inštalácia teplé uvoľnenie

Vyššie uvedený príkaz je pre novšie verzie príslušnej distribúcie.





Potom spustite nasledujúci príkaz na inštaláciu ddrescue:

sudo mňam inštalácia ddrescue

Pre linuxové distribúcie založené na Arch ako napr Arch-Linux a Manjaro , pomocou nižšie uvedeného príkazu nainštalujte pomôcku na obnovenie ddrescue.



sudo pacman -S ddrescue

Keďže používam Ubuntu 22.04, na jeho inštaláciu použijem správcu balíkov APT.

Pochopenie základov

Pred použitím nástroja ddrescue na obnovu údajov by som odporučil používateľom, ktorí sú v procese obnovy noví, aby pochopili niektoré konvencie pomenovania Linuxu.

Linux rozpozná bloky (zariadenia) ako súbory a umiestňuje ich do /dev adresár. Ak chcete zobraziť zoznam súborov v adresári /dev, použite súbor ls /dev príkaz.

The pevné disky (úložné bloky) sú reprezentované s SD nasledujú abecedy; v prípade viacerých úložných zariadení budú súbory reprezentované ako /dev/sd a, /dev/sd b, a tak ďalej.

Ak má úložné zariadenie priečky , potom budú reprezentované číslom s príslušným názvom súboru na disku, napríklad /dev/sda 1 , /dev/sda 2 , a tak ďalej.

Ak chcete zobraziť zoznam všetkých blokov a ďalších pripojených zariadení so systémom, použite blok zoznamu lsblk príkaz:

lsblk

Príkaz ddrescue môže obnoviť celý blok (obsahujúci MBR a oddiely) alebo oddiel. Na druhej strane, ak potrebujete obnoviť iba konkrétne súbory z konkrétneho oddielu, potom je lepšie obnoviť oddiel namiesto celého bloku.

Dôležité úvahy

Pred použitím pomôcky ddrescue by ste mali zvážiť niekoľko veľmi kľúčových bodov:

  • Nepokúšajte sa obnoviť pripojený blok, blok by nemal byť ani v režime iba na čítanie.
  • Nepokúšajte sa opraviť blok s chybami I/O.
  • Systém môže pri reštarte zmeniť názvy vstupných a výstupných zariadení. Pred spustením procesu kopírovania skontrolujte, či sú názvy zariadení správne.
  • Ak ako výstupné zariadenie používate samostatný blok, všetky údaje na zariadení sa prepíšu.

Pomocou ddrescue

Po nainštalovaní pomôcky ddrescue a pochopení konvencií pomenovaní je ďalším krokom identifikácia chybného disku a jeho obnovenie pomocou nástroja ddrescue.

Obnova poškodeného bloku

Prvý príklad bude zahŕňať proces obnovy celého bloku. Najprv vytvorte zoznam blokov pomocou lsblk príkaz:

lsblk -O NAME, SIZE, FSTYPE

The -O príznak sa používa na určenie typu informácií (polí), ktoré má príkaz vydať. Spomenul som NÁZOV , VEĽKOSŤ , a FSTYPE alebo typ systému súborov.

Teraz môžete identifikovať cieľový blok, oblasť a umiestnenie na uloženie súboru zachráneného obrázka.

Ďalšou dôležitou vecou, ​​ktorú treba poznamenať, je, že v systéme Linux sa názov bloku priraďuje dynamicky pri zavádzaní systému a po reštarte sa názvy blokov môžu zmeniť. Takže buďte opatrní pri zaznamenávaní názvov blokov.

Teraz použite nasledujúcu syntax na záchranu bloku ako obrazového súboru s protokolovým súborom v koreňovom adresári.

sudo ddrescue -d -rX / dev / [ blokovať ] [ cesta / názov ] .img [ logfile_name ] .log

Poznámka: Nahradiť [blok] , [názov cesty] obrazového súboru a [logfile_name] s príslušnými preferovanými názvami.

V tomto príklade obnovujem /dev/sda v koreňovom adresári s názvom súboru s obrázkom recovery.img . Súbor denníka známy aj ako súbor mapy je nevyhnutný, ak chcete kedykoľvek obnoviť obnovu.

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

Vo vyššie uvedenom príkaze sa používajú dva dôležité príznaky.

d – nepriame Používa sa na prikázanie nástroja, aby priamo pristupoval na disk a ignoroval vyrovnávaciu pamäť jadra
rX -opakovať-prejde Používa sa na prikázanie nástroja, aby X-krát zopakoval chybný sektor

Po vykonaní vyššie uvedeného príkazu si v prehliadači súborov všimnete dva súbory s názvami recovery.img a recovery.log .

Čas obnovy závisí od veľkosti vstupného bloku a poškodenia. Ak obnovujete veľký blok, odporúčam mať súbor denníka, pretože dokončenie procesu môže trvať niekoľko hodín alebo dokonca dní.

Výstup vyššie uvedeného príkazu je uvedený nižšie:

Na výstupnom obrázku ipos je vstupná pozícia vstupného súboru, odkiaľ sa začalo kopírovanie a vredy je výstupná pozícia vo výstupnom súbore, kde sa údaje zapisujú.

The nevyskúšané je veľkosť bloku nevyskúšaná. The zachránený označuje veľkosť úspešne obnoveného bloku. The pct zachránený označuje úspešnú obnovu údajov v percentách. Podmienky, neorezané , nezošrotované , zlý sektor , a zlé oblasti sú samovysvetľujúce. Avšak, chyby pri čítaní výraz označuje neúspešné pokusy o čítanie v číslach.

The beh programu zobrazuje čas, ktorý nástroju trvalo dokončenie procesu, zatiaľ čo zostávajúci čas je čas zostávajúci na dokončenie procesu obnovy. Vyššie uvedený výstup zobrazuje zostávajúci čas 0, pretože proces sa skončil, prečítajte si výstup na nasledujúcom obrázku nedokončeného procesu.

Pozrime sa, čo dostaneme v protokolovom súbore; na otvorenie vygenerovaného súboru denníka použite vim recovery.log príkaz.

The momentálna situácia je +, čo znamená, že proces je ukončený, zatiaľ čo aktuálny_poz je poloha na bloku.

Zoznam aktuálnych stavov je uvedený v nasledujúcej tabuľke:

? Kopírovanie
* Orezávanie
/ Zošrotovanie
Opakuje sa pokus
F Vyplnenie určených blokov
G Generovanie súboru denníka
+ Proces je ukončený

Pod tým sa v protokolovom súbore nachádzajú indikácie stavu predtým zachránených blokov vo forme znakov uvedených nižšie:

? Blok nie je odskúšaný
* Neorezaný neúspešný blok
/ Nezošrotovaný neúspešný blok
Zlyhaný blok zlého sektora
+ Hotový blok

Obnovenie obrazového súboru do nového bloku

Po dokončení procesu obnovy a získaní súboru s obrázkom. Teraz možno budete chcieť, aby sa presunul na nový disk z poškodeného disku. Ak chcete presunúť súbor obrázka do nového bloku, najprv pripojte tento blok k systému a potom identifikujte názov bloku pomocou lsblk príkaz.

Predpokladajme, že áno /dev/sdb , pomocou nasledujúceho príkazu skopírujte obrázok do nového bloku.

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

The -f príznak sa používa na prepísanie nového bloku, ak existujú nejaké údaje. Majte na pamäti, že názov súboru denníka musí byť odlišný, aby bol oddelený od predtým uloženého súboru denníka.

Vyššie uvedená operácia môže byť vykonaná aj pomocou dd , ďalší výkonný príkaz používaný na kopírovanie súborov.

sudo dd ak =recovery.img z = / dev / sdb

Pred vykonaním obnovy majte na pamäti, že nový blok musí byť dostatočne veľký, aby udržal celý obnovený blok; ak je napríklad obnovovací blok 5 GB, nový blok by mal byť väčší ako 5 GB.

Ak obnovený obrazový súbor vykreslí veľa chýb, možno ich opraviť pomocou fsck príkaz na Linuxe do určitej miery. V systéme Windows môžete použiť CHKDSK alebo SFC príkazy, ako to urobiť. Obnova však závisí od počtu chýb, ktoré vygeneroval poškodený súbor.

Teraz je proces obnovy a obnovy dokončený. Ďalšou dôležitou vecou, ​​​​ktorú si treba uvedomiť, je, že poškodený blok môžete obnoviť priamo v inom bloku namiesto vytvorenia súboru obrázka a jeho následného skopírovania do nového bloku. V nasledujúcej časti sa tomuto procesu venujem podrobne.

Obnovenie bloku do iného bloku

Ak chcete obnoviť blok priamo do nového bloku, najprv pripojte blok k systému a znova použite lsblk príkaz na identifikáciu názvu bloku. Nesprávne názvy blokov môžu narušiť celý proces a môžete stratiť údaje.

Po identifikácii zdrojového a cieľového bloku použite na obnovenie bloku nasledujúci príkaz:

sudo ddrescue -d -f -r2 / dev / [ zdroj ] / dev / [ destinácia ] backup.log

Predpokladajme /dev/sdb je cieľový blok, takže ho skopírovať /dev/sda adresár do nového bloku použite:

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

Pred pokusom o tento proces si opäť pozrite kritické úvahy uvedené v predchádzajúcich častiach.

Obnova konkrétnych údajov zo súborov obnovených obrázkov

V mnohých prípadoch je účelom obnovy dát nájsť konkrétne súbory z poškodených diskov. Ak chcete získať prístup ku konkrétnemu súboru, musíte pripojiť súbor s obrázkom. V systéme Linux je možné obnovený obrazový súbor preskúmať pomocou namontovať príkaz.

Pred pripojením obrazového súboru vytvorte priečinok alebo adresár, do ktorého chcete extrahovať obsah obrazového súboru.

mkdir RecoveryMount

Potom pripojte súbor s obrázkom pomocou:

sudo namontovať -O obnovenie slučky.img ~ / RecoveryMount

Príznak -o označuje voľby, zatiaľ čo voľba loop sa používa na zaobchádzanie s obrazovým súborom ako s blokovým zariadením.

Teraz máte prístup k obsahu súboru obrázka, ako je zobrazené na nasledujúcej snímke obrazovky.

Na odpojenie bloku použite umount príkaz.

sudo umount ~ / RecoveryMount

Pokročilé vlastnosti

Ak chcete spustiť obnovu z určitého bodu, použite -i vlajka resp – vstupná poloha . Malo by byť v bajtoch, predvolene je to tak 0 bajtov. Toto je dôležité pre obnovenie kopírovania od určitého bodu. Ak napríklad chcete začať proces kopírovania od bodu 10 GB, použite nasledujúci príkaz.

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

Ak chcete definovať maximálnu veľkosť vstupného zariadenia, -s bude použitá vlajka. The -s označuje veľkosť a môže sa použiť aj ako -veľkosť v bajtoch. Ak nástroj nedokáže rozpoznať veľkosť vstupného súboru, použite túto možnosť na jej určenie.

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

The -opýtať sa možnosť môže byť celkom užitočná, pretože pred začatím procesu kopírovania vyžaduje potvrdenie vstupných a výstupných blokov. Ako bolo uvedené vyššie, systém dynamicky priraďuje názvy blokom a tie sa menia pri reštarte. Takže v takom prípade môže byť táto možnosť užitočná.

sudo ddrescue --opýtať sa / dev / sda imagefile.img logfile.log

Okrem toho je nižšie uvedený zoznam niektorých ďalších možností:

-R – spätne Pre obrátenie smeru kopírovania
-q -celkom Na potlačenie všetkých výstupných správ
-v – veľavravný Pre upresnenie, všetky výstupné správy
-p – predbežne prideliť Na predbežné pridelenie úložiska pre výstupný súbor
-P – náhľad údajov Riadky zobrazenia posledných načítaných údajov sú štandardne 3 riadky

Ako funguje ddrescue

ddrescue používa výkonný algoritmus obnovy, ktorý je rozdelený do štyroch fáz:

1. Kopírovanie

2. Orezávanie

3. Škrabanie

4. Opakovaný pokus

Spustenie algoritmu ddrescue je znázornené na nasledujúcom obrázku.

Záver

The ddrescue je výkonný nástroj na obnovu, ktorý sa používa na obnovenie údajov z poškodeného alebo zlyhávajúceho disku na iný disk skopírovaním údajov. Dá sa bez námahy nainštalovať na akúkoľvek distribúciu Linuxu pomocou predvoleného správcu balíkov. Pred použitím tohto nástroja si všimnite dôležitú úvahu uvedenú v tejto príručke. Proces kopírovania údajov je jednoduchý, odpojte disk a použite príkaz ddrescue s názvom zdrojového disku a názvom cieľového disku. Nezabudnite použiť súbor denníka, pretože je veľmi užitočné obnoviť proces obnovy.