- Tas nepārraksta atgūtos datus, bet aizpilda nepilnības iteratīvās atkopšanas gadījumā. Tomēr to var saīsināt, ja rīkam tas ir skaidri norādīts.
- Atgūt datus vienā failā no vairākiem failiem vai blokiem.
- Atbalsta vairāku veidu ierīču saskarnes, piemēram, SATA, ATA, SCSI, MFM diskus, disketes un SD kartes.
Šajā rokasgrāmatā es izpētīšu šo neticami noderīgo datu atkopšanas rīku. Es arī apspriedīšu tā instalēšanas procesu un to, kā to izmantot bloka ierīces vai nodalījuma atkopšanai.
- Notiek ddrescue instalēšana
- Pamatu izpratne
- Svarīgi apsvērumi
- Izmantojot ddrescue
- Bojātā bloka atkopšana
- Attēla faila atjaunošana jaunā blokā
- Bloka atkopšana uz citu bloku
- Konkrētu datu atkopšana no atgūtajiem attēlu failiem
- Papildu funkcijas
- Kā darbojas ddrescue
- Secinājums
Piezīme: Šajā rokasgrāmatā sniegtajiem norādījumiem es izmantoju Linux izplatīšanu (Ubuntu 22.04). Ddrescue utilīta instalēšanas process var atšķirties, taču norādījumi būs vienādi visos Linux izplatījumos.
Notiek ddrescue instalēšana
Lai instalētu ddrescue operētājsistēmā Linux, jo īpaši Ubuntu un tā garšas vai Uz Debian bāzes distros, izmantojiet:
sudo apt uzstādīt gddrescue
Lai to instalētu REHL , Fedora , un CentOS , vispirms iespējojiet SILTS (Papildu pakotnes Enterprise Linux).
sudo yum instalēt siltā atbrīvošana
Iepriekš minētā komanda ir paredzēta attiecīgā izplatīšanas jaunākām versijām.
Pēc tam izpildiet šo komandu, lai instalētu ddrescue:
sudo yum instalēt ddrescueUz Arch balstītiem Linux izplatījumiem, piemēram, Arch-Linux un Manjaro , izmantojiet tālāk norādīto komandu, lai instalētu ddrescue atkopšanas utilītu.
sudo pacman -S ddrescue
Tā kā es izmantoju Ubuntu 22.04, es izmantošu APT pakotņu pārvaldnieku, lai to instalētu.
Pamatu izpratne
Pirms ddrescue rīka izmantošanas datu atkopšanai, es ieteiktu lietotājiem, kuri ir iesācēji atkopšanas procesā, izprast dažus Linux nosaukumu piešķiršanas noteikumus.
Linux atpazīst blokus (ierīces) kā failus un ievieto tos mapē /dev direktoriju. Lai uzskaitītu failus direktorijā /dev, izmantojiet ls /dev komandu.
The cietie diski (uzglabāšanas bloki) ir attēloti ar sd seko alfabēts; vairāku atmiņas ierīču gadījumā faili tiks attēloti kā /dev/sd a, /dev/sd b, un tā tālāk.
Ja atmiņas ierīcē ir starpsienas , tad tie tiks attēloti ar skaitli ar attiecīgā diska faila nosaukumu, piemēram, /dev/sda 1 , /dev/sda 2 , un tā tālāk.
Lai uzskaitītu visus blokus un citas sistēmai pievienotās ierīces, izmantojiet saraksta bloku lsblk komanda:
lsblk
Komanda ddrescue var atgūt visu bloku (kas satur MBR un nodalījumus) vai arī nodalījumu. No otras puses, ja jums ir jāatgūst tikai konkrēti faili no konkrēta nodalījuma, tad labāk ir atgūt nodalījumu, nevis visu bloku.
Svarīgi apsvērumi
Pirms utilīta ddrescue izmantošanas ir jāņem vērā daži ļoti svarīgi punkti:
- Nemēģiniet atgūt uzstādīto bloku, blokam nevajadzētu būt pat tikai lasīšanas režīmā.
- Nemēģiniet labot bloku ar I/O kļūdām.
- Sistēma var mainīt ievades un izvades ierīču nosaukumus atsāknēšanas laikā. Pirms kopēšanas procesa uzsākšanas pārliecinieties, vai ierīču nosaukumi ir pareizi.
- Ja kā izvades ierīci izmantojat atsevišķu bloku, visi ierīcē esošie dati tiks pārrakstīti.
Izmantojot ddrescue
Pēc utilīta ddrescue instalēšanas un nosaukumu piešķiršanas noteikumu izpratnes nākamais solis ir identificēt bojāto disku un atkopt to, izmantojot rīku ddrescue.
Bojātā bloka atkopšana
Pirmais piemērs ietvers visa bloka atkopšanas procesu. Vispirms uzskaitiet blokus, izmantojot lsblk komanda:
lsblk -O NOSAUKUMS, IZMĒRS, FSTYPEThe -O karodziņš tiek izmantots, lai norādītu, kāda veida informācija (lauki) komandai jāizvada. Esmu minējis VĀRDS , IZMĒRS , un FSTYPE vai failu sistēmas tips.
Tagad varat noteikt mērķa bloku, nodalījumu un atrašanās vietu, lai saglabātu izglābtā attēla failu.
Vēl viena svarīga lieta, kas jāņem vērā, ir tāda, ka operētājsistēmā Linux bloka nosaukums sāknēšanas laikā tiek piešķirts dinamiski, un pēc atsāknēšanas bloku nosaukumi var mainīties. Tāpēc esiet piesardzīgs, pierakstot bloku nosaukumus.
Tagad izmantojiet šo sintaksi, lai glābtu bloku kā attēla failu ar žurnāla failu saknes direktorijā.
sudo ddrescue -d -rX / izstrādātājs / [ bloķēt ] [ ceļš / nosaukums ] .img [ žurnālfaila_nosaukums ] .logPiezīme: Aizvietot [bloķēt] , [ceļš/nosaukums] no attēla faila un [žurnāla faila_nosaukums] attiecīgi ar vēlamajiem nosaukumiem.
Šajā piemērā es atgūstu /dev/sda saknes direktorijā ar attēla faila nosaukumu atgūšana.img . Žurnāla fails, kas pazīstams arī kā kartes fails, ir būtisks, ja vēlaties jebkurā laikā atsākt atkopšanu.
sudo ddrescue -d -r2 / izstrādātājs / sda2 recovery.img recovery.logIepriekš minētajā komandā tiek izmantoti divi svarīgi karodziņi.
d | – netiešs | Tiek izmantots, lai norādītu rīkam tieši piekļūt diskam, ignorējot kodola kešatmiņu |
rX | – atkārtotas piespēles | Lieto, lai norādītu rīkam X reizes, lai vēlreiz mēģinātu bojāto sektoru |
Izpildot iepriekš minēto komandu, jūs pamanīsit, ka failu pārlūkprogrammā tiek parādīti divi faili ar nosaukumiem atgūšana.img un recovery.log .
Atkopšanas laiks ir atkarīgs no ievades bloka lieluma un bojājuma. Ja atkopjat lielu bloku, ieteicams izveidot žurnālfailu, jo procesa pabeigšana var ilgt vairākas stundas vai pat dienas.
Iepriekš minētās komandas izvade ir norādīta zemāk:
Izvades attēlā, ipos ir ievades faila ievades pozīcija, no kuras tiek sākta kopēšana, un čūlas ir izvades pozīcija izvades failā, kurā tiek rakstīti dati.
The nav izmēģināts ir bloka lielums vēl nav pārbaudīts. The izglāba norāda veiksmīgi atgūtā bloka lielumu. The pc izglābts norāda uz veiksmīgu datu atkopšanu procentos. Noteikumi, neapgriezts , nav nodoti metāllūžņos , sliktais sektors , un sliktas vietas ir pašsaprotami. Tomēr lasīt kļūdas termins apzīmē neveiksmīgos lasīšanas mēģinājumus skaitļos.
The darbības laiks parāda laiku, kāds rīkam bija nepieciešams procesa pabeigšanai, kamēr atlikušais laiks ir atkopšanas procesa pabeigšanai atlikušais laiks. Iepriekš redzamā izvade parāda atlikušo laiku 0, jo process ir beidzies, izlasiet izvadi nākamajā nepabeigtā procesa attēlā.
Apskatīsim, ko mēs iegūstam žurnālfailā; lai atvērtu ģenerēto žurnālfailu, izmantojiet vim recovery.log komandu.
The pašreizējais statuss ir +, kas nozīmē, ka process ir pabeigts, kamēr pašreizējā_poz ir pozīcija uz bloka.
Pašreizējo statusu saraksts ir parādīts šajā tabulā:
? | Kopēšana |
* | Apgriešana |
/ | Nodošana metāllūžņos |
– | Notiek atkārtots mēģinājums |
F | Norādīto bloku aizpildīšana |
G | Žurnāla faila ģenerēšana |
+ | Process ir pabeigts |
Zem tā žurnālfailā ir iepriekš saglabāto bloku statusa norādes tālāk norādīto rakstzīmju veidā:
? | Bloks nav izmēģināts |
* | Neapgrieztais bloks neizdevās |
/ | Neizmantotais bloks neizdevās |
– | Sliktā sektora bloks neizdevās |
+ | Pabeigts bloks |
Attēla faila atjaunošana jaunā blokā
Kad esat pabeidzis atkopšanas procesu un ieguvis attēla failu. Tagad, iespējams, vēlēsities to pārvietot uz jauno disku no bojāta diska. Lai pārvietotu attēla failu uz jaunu bloku, vispirms pievienojiet šo bloku sistēmai un pēc tam identificējiet bloka nosaukumu, izmantojot lsblk komandu.
Pieņemsim, ka tā ir /dev/sdb , izmantojiet šo komandu, lai kopētu attēlu uz jaunu bloku.
sudo ddrescue -f atgūšana.img / izstrādātājs / sdb logfile.logThe -f karodziņš tiek izmantots, lai pārrakstītu jauno bloku, ja ir kādi dati. Ņemiet vērā, ka žurnālfaila nosaukumam ir jābūt citam, lai tas būtu nošķirts no iepriekš saglabātā žurnālfaila.
Iepriekš minēto darbību var veikt arī, izmantojot dd , vēl viena spēcīga komanda, ko izmanto failu kopēšanai.
sudo dd ja =atkopšana.img no = / izstrādātājs / sdbPirms atjaunošanas ņemiet vērā, ka jaunajam blokam ir jābūt pietiekami lielam, lai saglabātu visu atjaunoto bloku; piemēram, ja atkopšanas bloks ir 5 GB, jaunajam blokam ir jābūt lielākam par 5 GB.
Ja atkoptais attēla fails rada daudz kļūdu, tās var labot, izmantojot fsck zināmā mērā komanda operētājsistēmā Linux. Operētājsistēmā Windows varat izmantot CHKDSK vai SFC komandas to darīt. Tomēr atkopšana ir atkarīga no bojātā faila ģenerēto kļūdu skaita.
Tagad ir pabeigts atkopšanas process un atjaunošana. Vēl viena svarīga lieta, kas jāņem vērā, ir tāda, ka bojātu bloku var atgūt tieši citā blokā, nevis izveidot attēla failu un pēc tam kopēt to jaunajā blokā. Nākamajā sadaļā es detalizēti apskatīšu šo procesu.
Bloka atkopšana uz citu bloku
Lai atjaunotu bloku tieši jaunā blokā, vispirms pievienojiet bloku sistēmai un vēlreiz izmantojiet lsblk komanda, lai identificētu bloka nosaukumu. Nepareizi bloku nosaukumi var izjaukt visu procesu, un jūs varat zaudēt datus.
Pēc avota bloka un mērķa bloka identificēšanas izmantojiet šo komandu, lai atkoptu bloku:
sudo ddrescue -d -f -r2 / izstrādātājs / [ avots ] / izstrādātājs / [ galamērķis ] backup.logPieņemsim /dev/sdb ir galamērķa bloks, tāpēc, lai kopētu /dev/sda direktoriju jaunajam bloka lietojumam:
sudo ddrescue -d -f -r2 / izstrādātājs / sda / izstrādātājs / sdb backup.logVēlreiz, pirms mēģināt veikt šo procesu, skatiet iepriekšējās sadaļās minētos kritiskos apsvērumus.
Konkrētu datu atkopšana no atgūtajiem attēlu failiem
Daudzos gadījumos datu atkopšanas mērķis ir atrast konkrētus failus no bojātiem diskdziņiem. Lai piekļūtu konkrētajam failam, ir jāpievieno attēla fails. Operētājsistēmā Linux atkopto attēla failu var izpētīt, izmantojot mount komandu.
Pirms attēla faila uzstādīšanas izveidojiet mapi vai direktoriju, kurā vēlaties izvilkt attēla faila saturu.
mkdir RecoveryMountPēc tam instalējiet attēla failu, izmantojot:
sudo mount -O cilpas atkopšana.img ~ / RecoveryMountKarogs -o norāda opcijas, savukārt cilpas opcija tiek izmantota, lai attēla failu apstrādātu kā bloka ierīci.
Tagad jums ir piekļuve attēla faila saturam, kā parādīts nākamajā ekrānuzņēmumā.
Lai atvienotu bloku, izmantojiet umount komandu.
sudo umount ~ / RecoveryMountPapildu funkcijas
Lai sāktu atkopšanu no noteikta punkta, izmantojiet -i karogs vai -ievade-pozīcija . Tam jābūt baitos, pēc noklusējuma tas ir 0 baiti. Tas ir svarīgi, lai atsāktu kopēšanu no noteikta punkta. Piemēram, ja vēlaties sākt kopēšanas procesu no 10 GB punkta, izmantojiet šo komandu.
sudo ddrescue -i10GiB / izstrādātājs / sda imagefile.img logfile.logLai definētu ievades ierīces maksimālo izmēru, -s tiks izmantots karogs. The -s apzīmē izmēru un to var izmantot arī kā -Izmērs baitos. Ja rīks nespēj atpazīt ievades faila lielumu, izmantojiet šo opciju, lai to norādītu.
sudo ddrescue -s10GiB / izstrādātājs / sda imagefile.img logfile.logThe – jautāt opcija var būt diezgan ērta, jo pirms kopēšanas procesa sākšanas tiek prasīts apstiprināt ievades un izvades blokus. Kā minēts iepriekš, sistēma blokiem dinamiski piešķir nosaukumus, un tie mainās atsāknēšanas laikā. Tātad šajā gadījumā šī opcija var būt noderīga.
sudo ddrescue -- jautājiet / izstrādātājs / sda imagefile.img logfile.logTurklāt tālāk ir minēts dažu citu iespēju saraksts:
-R | – otrādi | Lai mainītu kopēšanas virzienu |
-q | – diezgan | Lai apspiestu visus izvades ziņojumus |
-in | – daudzrunīgs | Sīkāk, visi izejas ziņojumi |
-lpp | – iepriekš piešķirt | Lai iepriekš piešķirtu krātuvi izvades failam |
-P | -datu priekšskatījums | Jaunāko datu nolasīšanas displeja rindiņas noklusējuma ir 3 rindas |
Kā darbojas ddrescue
Ddrescue izmanto jaudīgu atkopšanas algoritmu, kas ir sadalīts četrās fāzēs:
1. Kopēšana
2. Apgriešana
3. Kasīšana
4. Atkārtots mēģinājums
Ddrescue algoritma izpilde ir parādīta nākamajā attēlā.
Secinājums
The ddrescue ir spēcīgs atkopšanas rīks, ko izmanto, lai atgūtu datus no bojāta vai bojāta diska uz citu disku, kopējot datus. To var bez piepūles instalēt jebkurā Linux izplatīšanā, izmantojot noklusējuma pakotņu pārvaldnieku. Pirms šī rīka izmantošanas ievērojiet šajā rokasgrāmatā minēto svarīgo apsvērumu. Datu kopēšanas process ir vienkāršs, atvienojiet disku un izmantojiet komandu ddrescue ar avota diska nosaukumu un galamērķa diska nosaukumu. Neaizmirstiet izmantot žurnāla failu, jo tas kļūst diezgan noderīgi, lai atsāktu atkopšanas procesu.