- Se ei korvaa palautettuja tietoja, mutta täyttää aukot iteratiivisen palautuksen tapauksessa. Se voidaan kuitenkin katkaista, jos työkalua kehotetaan tekemään se nimenomaisesti.
- Palauta tiedot yhdeksi tiedostoksi useista tiedostoista tai lohkoista.
- Tukee useita laiteliitäntöjä, kuten SATA-, ATA-, SCSI-, MFM-asemia, levykkeitä ja SD-kortteja.
Tässä oppaassa aion tutkia tätä uskomattoman hyödyllistä tietojen palautustyökalua. Keskustelen myös sen asennusprosessista ja siitä, kuinka sitä käytetään lohkolaitteen tai osion palauttamiseen.
- Asennetaan ddrescue
- Perusasioiden ymmärtäminen
- Tärkeitä huomioita
- Käyttämällä ddrescuea
- Viallisen lohkon palauttaminen
- Kuvatiedoston palauttaminen uuteen lohkoon
- Palautetaan lohko toiseen lohkoon
- Tiettyjen tietojen palauttaminen palautetuista kuvatiedostoista
- Lisäominaisuudet
- Miten ddrescue toimii
- Johtopäätös
Huomautus: Käytän Linux-jakelua (Ubuntu 22.04) tämän oppaan ohjeisiin. Ddrescue-apuohjelman asennusprosessi voi vaihdella, mutta ohjeet ovat samat kaikissa Linux-jakeluissa.
Asennetaan ddrescue
Erityisesti ddrescuen asentaminen Linuxiin Ubuntu ja sen maut tai Debian-pohjainen distros, käytä:
sudo apt Asentaa gddrescue
Asentaaksesi sen REHL , Fedora , ja CentOS , ota ensin käyttöön LÄMMIN (Lisäpaketit Enterprise Linuxille).
sudo nam asennus lämmin vapautus
Yllä oleva komento on vastaavan jakelun uudemmille versioille.
Suorita sitten seuraava komento asentaaksesi ddrescue:
sudo nam asennus ddrescueArch-pohjaisille Linux-jakeluille, kuten Arch-Linux ja Manjaro , käytä alla annettua komentoa asentaaksesi ddrescue-palautusapuohjelman.
sudo pacman -S ddrescue
Koska käytän Ubuntu 22.04:ää, käytän sen asentamiseen APT-pakettienhallintaa.
Perusasioiden ymmärtäminen
Ennen kuin käytät ddrescue-työkalua tietojen palauttamiseen, suosittelen käyttäjiä, jotka ovat uusia palautusprosessissa, ymmärtämään joitain Linuxin nimeämiskäytäntöjä.
Linux tunnistaa lohkot (laitteet) tiedostoiksi ja sijoittaa ne tiedostoihin /dev hakemistosta. Voit luetella /dev-hakemiston tiedostot käyttämällä ls /dev komento.
The Kovalevyt (tallennuslohkot) on edustettuna sd sen jälkeen aakkoset; useiden tallennuslaitteiden tapauksessa tiedostot esitetään muodossa /dev/sd a, /dev/sd b, ja niin edelleen.
Jos tallennuslaitteessa on väliseinät , niin niitä edustaa numero, jolla on vastaava asematiedoston nimi, kuten /dev/sda 1 , /dev/sda 2 , ja niin edelleen.
Listaa kaikki lohkot ja muut järjestelmään liitetyt laitteet käyttämällä luettelolohkoa lsblk komento:
lsblk
ddrescue-komento voi palauttaa koko lohkon (sisältää MBR:n ja osiot) tai myös osion. Toisaalta, jos sinun on palautettava vain tietyt tiedostot tietystä osiosta, on parempi palauttaa osio koko lohkon sijaan.
Tärkeitä huomioita
Ennen kuin käytät ddrescue-apuohjelmaa, tulee ottaa huomioon joitakin erittäin tärkeitä kohtia:
- Älä yritä palauttaa asennettua lohkoa, lohkon ei pitäisi olla edes vain luku -tilassa.
- Älä yritä korjata lohkoa, jossa on I/O-virheitä.
- Järjestelmä voi muuttaa syöttö- ja tulostuslaitteiden nimet uudelleenkäynnistettäessä. Varmista ennen kopioinnin aloittamista, että laitteiden nimet ovat oikein.
- Jos käytät erillistä lohkoa tulostuslaitteena, kaikki laitteen tiedot korvataan.
Käyttämällä ddrescuea
Kun olet asentanut ddrescue-apuohjelman ja ymmärtänyt nimeämiskäytännöt, seuraava vaihe on tunnistaa viallinen levy ja palauttaa se ddrescue-työkalulla.
Viallisen lohkon palauttaminen
Ensimmäinen esimerkki kattaa koko lohkon palautusprosessin. Listaa ensin lohkot käyttämällä lsblk komento:
lsblk -O NIMI, KOKO, FSTYPEThe -O lippua käytetään määrittämään minkä tyyppiset tiedot (kentät) komennon tulee tulostaa. Olen maininnut NIMI , KOKO , ja FSTYPE tai tiedostojärjestelmätyyppi.
Nyt voit tunnistaa kohdelohkon, osion ja sijainnin pelastetun kuvatiedoston tallentamista varten.
Toinen tärkeä huomioitava asia on, että Linuxissa lohkon nimi määritetään dynaamisesti käynnistyksen yhteydessä ja uudelleenkäynnistyksen jälkeen lohkojen nimet voivat muuttua. Ole siis varovainen, kun kirjoitat muistiin lohkojen nimet.
Käytä nyt seuraavaa syntaksia pelastaaksesi lohko kuvatiedostona, jonka juurihakemistossa on lokitiedosto.
sudo ddrescue -d -rX / kehittäjä / [ lohko ] [ polku / nimi ] .img [ lokitiedoston_nimi ] .HirsiHuomautus: Korvata [lohko] , [polku/nimi] kuvatiedostosta ja [lokitiedoston_nimi] sopivilla nimillä.
Tässä esimerkissä olen palauttamassa /dev/sda juurihakemistossa kuvatiedoston nimellä recovery.img . Lokitiedosto, joka tunnetaan myös nimellä karttatiedosto, on välttämätön, jos haluat jatkaa palautusta milloin tahansa.
sudo ddrescue -d -r2 / kehittäjä / sda2 recovery.img recovery.logYllä olevassa komennossa käytetään kahta tärkeää lippua.
d | -epäsuora | Käytetään käskemään työkalua käyttämään levyä suoraan ytimen välimuistia huomioimatta |
rX | -yritä-hyvitykset | Käytetään käskemään työkalua yrittämään virheellistä sektoria uudelleen X monta kertaa |
Kun suoritat yllä olevan komennon, huomaat, että tiedostoselaimessa näkyy kaksi tiedostoa nimillä recovery.img ja recovery.log .
Toipumisaika riippuu tulolohkon koosta ja vauriosta. Jos olet palauttamassa suurta lohkoa, suosittelen lokitiedostoa, koska prosessin suorittaminen voi kestää useita tunteja tai jopa päiviä.
Yllä olevan komennon tulos on annettu alla:
Lähtökuvassa ipos on syöttötiedoston syöttöpaikka, josta kopiointi aloitetaan ja haavaumat on tulosteen paikka tulostiedostossa, johon tietoja kirjoitetaan.
The kokeilematon on lohkon koko ei odota kokeilua. The pelastettu ilmaisee onnistuneesti palautetun lohkon koon. The pct pelastettu ilmaisee tietojen onnistuneen palautuksen prosentteina. Ehdot, leikkaamaton , ei romutettu , huono sektori , ja huonot alueet ovat itsestään selviä. Kuitenkin lukuvirheet termi osoittaa epäonnistuneet lukuyritykset numeroina.
The ajoaika näyttää ajan, jonka työkalu kesti prosessin suorittamiseen, kun taas jäljellä oleva aika on palautusprosessin suorittamiseen jäljellä oleva aika. Yllä oleva tulos näyttää jäljellä olevan ajan 0, koska prosessi on päättynyt, lue tulos seuraavasta keskeneräisen prosessin kuvasta.
Katsotaanpa, mitä saamme lokitiedostoon; Avaa luotu lokitiedosto käyttämällä vim recovery.log komento.
The nykyinen tila on +, mikä tarkoittaa, että prosessi on valmis, kun taas nykyinen_pos on sijainti lohkossa.
Luettelo nykyisistä tiloista on seuraavassa taulukossa:
? | Kopioidaan |
* | Trimmaus |
/ | Romutus |
– | Yritetään uudelleen |
F | Määritettyjen lohkojen täyttäminen |
G | Luodaan lokitiedostoa |
+ | Prosessi on valmis |
Tämän alapuolella lokitiedostossa on tilailmaisimet aiemmin pelastetuista lohkoista alla lueteltujen merkkien muodossa:
? | Lohkoa ei ole kokeiltu |
* | Leikkaamaton epäonnistunut lohko |
/ | Romuamaton lohko epäonnistui |
– | Huono sektori epäonnistui lohko |
+ | Valmis lohko |
Kuvatiedoston palauttaminen uuteen lohkoon
Kun olet suorittanut palautusprosessin ja sinulla on kuvatiedosto. Voit nyt haluta sen siirtävän uuteen asemaan vioittuneelta asemalta. Jos haluat siirtää kuvatiedoston uuteen lohkoon, yhdistä ensin kyseinen lohko järjestelmään ja tunnista sitten lohkon nimi käyttämällä lsblk komento.
Oletetaan, että se on /dev/sdb , käytä seuraavaa komentoa kopioidaksesi kuva uuteen lohkoon.
sudo ddrescue -f recovery.img / kehittäjä / sdb logfile.logThe -f lippua käytetään uuden lohkon päällekirjoittamiseen, jos dataa on. Muista, että lokitiedoston nimen on oltava erilainen, jotta se pysyy erillään aiemmin tallennetusta lokitiedostosta.
Yllä oleva toimenpide voidaan tehdä myös käyttämällä dd , toinen tehokas komento, jota käytetään tiedostojen kopioimiseen.
sudo dd jos =recovery.img / = / kehittäjä / sdbEnnen kuin teet palautuksen, muista, että uuden lohkon on oltava tarpeeksi suuri säilyttääkseen koko palautetun lohkon. Jos palautuslohko on esimerkiksi 5 Gt, uuden lohkon tulee olla suurempi kuin 5 Gt.
Jos palautettu kuvatiedosto tuottaa paljon virheitä, ne voidaan korjata käyttämällä fsck komento jossain määrin Linuxissa. Kun käytät Windowsia, voit käyttää CHKDSK tai SFC käskee tehdä tämän. Palautuminen riippuu kuitenkin vioittun tiedoston luomien virheiden määrästä.
Nyt palautusprosessi ja kunnostus on tehty. Toinen tärkeä huomioitava asia on, että voit palauttaa vioittun lohkon suoraan toiseen lohkoon sen sijaan, että luot kuvatiedoston ja kopioit sen uuteen lohkoon. No, seuraavassa osiossa käsittelen tätä prosessia yksityiskohtaisesti.
Palautetaan lohko toiseen lohkoon
Jos haluat palauttaa lohkon suoraan uuteen lohkoon, yhdistä lohko ensin järjestelmään ja käytä uudelleen lsblk komento tunnistaa lohkon nimi. Väärät lohkonimet voivat sotkea koko prosessin ja saatat menettää tietoja.
Kun olet tunnistanut lähdelohkon ja kohdelohkon, käytä seuraavaa komentoa lohkon palauttamiseksi:
sudo ddrescue -d -f -r2 / kehittäjä / [ lähde ] / kehittäjä / [ määränpäähän ] backup.logOletetaan /dev/sdb on kohdelohko, joten kopioidaksesi /dev/sda hakemisto uuteen lohkokäyttöön:
sudo ddrescue -d -f -r2 / kehittäjä / sda / kehittäjä / sdb backup.logKatso jälleen aiemmissa osissa mainitut kriittiset näkökohdat ennen tämän prosessin yrittämistä.
Tiettyjen tietojen palauttaminen palautetuista kuvatiedostoista
Monissa tapauksissa tietojen palauttamisen tarkoituksena on löytää tietyt tiedostot vioittuneista asemista. Jotta voit käyttää tiettyä tiedostoa, sinun on liitettävä kuvatiedosto. Linuxissa palautettua kuvatiedostoa voi tutkia käyttämällä kiinnitys komento.
Ennen kuin liität kuvatiedoston, tee kansio tai hakemisto, johon haluat purkaa kuvatiedoston sisällön.
mkdir RecoveryMountAsenna seuraavaksi kuvatiedosto käyttämällä:
sudo kiinnitys -O silmukan palautus.img ~ / RecoveryMountLippu -o ilmaisee valinnat, kun taas silmukkaoptiota käytetään kuvatiedoston käsittelemiseen lohkolaitteena.
Sinulla on nyt pääsy kuvatiedoston sisältöön, kuten seuraavassa kuvakaappauksessa näkyy.
Lohkon irrottamiseksi käytä umount komento.
sudo umount ~ / RecoveryMountLisäominaisuudet
Aloita palautus tietystä kohdasta käyttämällä -i lippu tai -tulo-asento . Sen pitäisi olla tavuissa, oletuksena se on 0 tavua. Tämä on tärkeää, jos haluat jatkaa kopioimista tietystä kohdasta. Jos esimerkiksi haluat aloittaa kopioinnin 10 Gt:n pisteestä, käytä seuraavaa komentoa.
sudo ddrescue -i10GiB / kehittäjä / sda imagefile.img logfile.logVoit määrittää syöttölaitteen enimmäiskoon -s lippua käytetään. The -s tarkoittaa kokoa ja sitä voidaan käyttää myös -koko tavuissa. Jos työkalu ei tunnista syöttötiedoston kokoa, määritä se tällä vaihtoehdolla.
sudo ddrescue -s10GiB / kehittäjä / sda imagefile.img logfile.logThe -kysyä -vaihtoehto voi olla varsin kätevä, koska se pyytää vahvistamaan tulo- ja lähtölohkot ennen kopioinnin aloittamista. Kuten aiemmin mainittiin, järjestelmä antaa lohkoille dynaamisesti nimet, ja ne muuttuvat uudelleenkäynnistettäessä. Joten siinä tapauksessa tämä vaihtoehto voi olla hyödyllinen.
sudo ddrescue --kysyä / kehittäjä / sda imagefile.img logfile.logLisäksi alla mainitaan luettelo joistakin muista vaihtoehdoista:
-R | -käänteinen | Kopiointisuunnan vaihtaminen |
-q | -melko | Estääksesi kaikki ulostuloviestit |
-sisään | -sanallinen | Tarkemmin sanottuna kaikki lähtöviestit |
-s | – jakaa etukäteen | Tallennustilan ennakkovaraaminen tulostiedostolle |
-P | -tietojen esikatselu | Viimeisimmän luetun datan näyttörivit oletuksena on 3 riviä |
Miten ddrescue toimii
ddrescue käyttää tehokasta palautusalgoritmia, joka on jaettu neljään vaiheeseen:
1. Kopiointi
2. Trimmaus
3. Kaapiminen
4. Yritetään uudelleen
Ddrescue-algoritmin suoritus näkyy seuraavassa kuvassa.
Johtopäätös
The ddrescue on tehokas palautustyökalu, jota käytetään tietojen palauttamiseen vioittuneelta tai viallisesta asemasta toiseen asemaan kopioimalla tiedot. Se voidaan asentaa vaivattomasti mihin tahansa Linux-jakeluun oletuspaketinhallinnan avulla. Huomioi tässä oppaassa mainittu tärkeä seikka ennen tämän työkalun käyttöä. Tietojen kopiointiprosessi on yksinkertainen, irrota asema ja käytä ddrescue-komentoa lähdeaseman ja kohdeaseman nimen kanssa. Älä unohda käyttää lokitiedostoa, sillä palautusprosessin jatkamisesta tulee varsin hyödyllistä.