Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją

Tai buvo 2019 m. Mūsų laboratorija gavo 9.1 GB talpos QUANTUM FIREBALL Plus KA diską, kuris mūsų laikais nėra gana įprastas. Anot disko savininko, gedimas įvyko dar 2004 metais dėl sugedusio maitinimo šaltinio, kuris kartu su savimi pasiėmė kietąjį diską ir kitus kompiuterio komponentus. Tada buvo apsilankymų įvairiose tarnybose su bandymais taisyti diską ir atkurti duomenis, kurie buvo nesėkmingi. Kai kuriais atvejais žadėjo, kad bus pigu, bet problemos taip ir neišsprendė, kitais – per brangu, o klientas nenorėjo atkurti duomenų, tačiau galiausiai diskas nukeliavo per daugybę aptarnavimo centrų. Jis buvo pamestas kelis kartus, tačiau dėl to, kad savininkas iš anksto pasirūpino informacijos įrašymu iš įvairių lipdukų ant disko, pavyko užtikrinti, kad kietasis diskas būtų grąžintas iš kai kurių servisų. Pasivaikščiojimai nepraėjo be pėdsakų, ant originalios valdiklio plokštės liko keli litavimo pėdsakai, o SMD elementų trūkumas taip pat buvo vizualiai jaučiamas (žiūrint į priekį, pasakysiu, kad tai mažiausia iš šio disko problemų).

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 1 HDD Quantum Fireball Plus KA 9,1 GB

Pirmas dalykas, kurį turėjome padaryti, buvo donorų archyve ieškoti tokio senovinio šio disko brolio dvynio su veikiančia valdiklio plokšte. Kai šis ieškojimas buvo baigtas, tapo įmanoma atlikti išsamias diagnostikos priemones. Patikrinę, ar variklio apvijose nėra trumpojo jungimo ir įsitikinę, kad nėra trumpojo jungimo, montuojame plokštę nuo donoro pavaros iki paciento pavaros. Prijungiame maitinimą ir girdime įprastą veleno sukimosi garsą, atliekame kalibravimo testą įkeliant programinę įrangą, o po kelių sekundžių pavara registrais praneša, kad yra pasiruošusi reaguoti į komandas iš sąsajos.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 2 DRD DSC indikatoriai rodo pasirengimą priimti komandas.

Kuriame atsargines visų programinės įrangos modulių kopijų kopijas. Mes patikriname programinės įrangos modulių vientisumą. Skaitant modulius problemų nėra, tačiau ataskaitų analizė rodo, kad yra keistenybių.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 3. Zonų lentelė.

Atkreipiame dėmesį į zonų paskirstymo lentelę ir pažymime, kad cilindrų skaičius yra 13845.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 4 P-sąrašas (pirminis sąrašas – gamybos ciklo metu atsiradusių defektų sąrašas).

Atkreipiame dėmesį į per mažą defektų skaičių ir jų vietą. Mes žiūrime į gamyklinį defektų slėpimo žurnalo modulį (60h) ir nustatome, kad jis tuščias ir jame nėra nė vieno įrašo. Remdamiesi tuo, galime daryti prielaidą, kad viename iš ankstesnių aptarnavimo centrų kai kurios manipuliacijos galėjo būti atliktos su disko aptarnavimo zona ir netyčia ar tyčia buvo parašytas svetimas modulis arba originalo defektų sąrašas. vienas buvo išvalytas. Norėdami patikrinti šią prielaidą, duomenų ekstraktoriuje sukuriame užduotį su įjungtomis parinktimis „sukurti kiekvieno sektoriaus kopiją“ ir „kurti virtualųjį vertėją“.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 5 Užduoties parametrai.

Sukūrę užduotį, žiūrime į skaidinių lentelės įrašus nuliniame sektoriuje (LBA 0)

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 6 Pagrindinis įkrovos įrašas ir skaidinių lentelė.

Poslinkyje 0x1BE yra vienas įrašas (16 baitų). Failų sistemos tipas skaidinyje yra NTFS, poslinkis į 0x3F (63) sektorių pradžią, skaidinio dydis 0x011309A3 (18 024 867) sektorių.
Sektorių rengyklėje atidarykite LBA 63.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 7 NTFS įkrovos sektorius

Pagal informaciją NTFS skaidinio įkrovos sektoriuje galime pasakyti taip: tome priimtas sektoriaus dydis yra 512 baitų (žodis 0x0 (0) rašomas poslinkiu 0200x512B), sektorių skaičius klasteryje yra 8 (baitas 0x0 rašomas poslinkiu 0x08D), klasterio dydis yra 512x8=4096 baitai, pirmasis MFT įrašas yra 6 291 519 sektorių poslinkyje nuo disko pradžios (esant 0x30 keturgubų žodžių poslinkiui 0x00 00 00 00C 00 0 (00 00) pirmojo MFT klasterio numeris Sektorių numeris apskaičiuojamas pagal formulę: Klasterio numeris * klasteryje esančių sektorių skaičius + poslinkis į skyriaus pradžią 786 432* 786+432= 8 63 6).
Pereikime prie 6 291 519 sektoriaus.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Pav. 8

Tačiau šiame sektoriuje esantys duomenys visiškai skiriasi nuo MFT įrašo. Nors tai rodo galimą neteisingą vertimą dėl neteisingo defektų sąrašo, tai neįrodo šio fakto. Norėdami toliau patikrinti, mes nuskaitysime diską 10 000 sektorių abiem kryptimis, palyginti su 6 291 519 sektorių. Ir tada mes ieškosime reguliarių posakių tame, ką skaitome.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 9 Pirmasis MFT įrašas

6 291 551 sektoriuje randame pirmąjį MFT įrašą. Jo padėtis skiriasi nuo apskaičiuotos 32 sektoriais, o tada nuolat seka 16 įrašų grupė (nuo 0 iki 15). Įveskime 6 291 519 sektoriaus padėtį į pamainų lentelę ir judėkime į priekį 32 sektoriais.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Pav. 10

Įrašo Nr. 16 padėtis turėtų būti 12 551 431 poslinkyje, tačiau vietoje MFT įrašo randame nulius. Atlikime panašią paiešką apylinkėse.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 11 MFT įrašas 0x00000011 (17)

Aptinkamas didelis MFT fragmentas, pradedant nuo 17 įrašo, kurio ilgis yra 53 646 įrašai) su 17 sektorių poslinkiu. 12 155 431 pozicijoje perkelkite +17 sektorių pamainų lentelėje.
Nustačius MFT fragmentų padėtį erdvėje, galime daryti išvadą, kad tai neatrodo kaip atsitiktinis gedimas ir MFT fragmentų įrašymas esant neteisingam poslinkiui. Versija su neteisingu vertėju gali būti laikoma patvirtinta.
Norėdami toliau lokalizuoti poslinkio taškus, nustatysime didžiausią galimą poslinkį. Norėdami tai padaryti, nustatome, kiek pasislenka NTFS skaidinio pabaigos žymeklis (įkrovos sektoriaus kopija). 7 paveiksle, esant poslinkiui 0x28, keturvardis yra 0x00 00 00 00 01 13 09 A2 (18 024 866) sektorių skaidinio dydžio reikšmė. Prie jo ilgio pridėkime paties skaidinio poslinkį nuo disko pradžios ir gausime pabaigos NTFS žymeklio poslinkį 18 024 866 + 63= 18 024 929. Kaip ir tikėtasi, reikiamos įkrovos sektoriaus kopijos nebuvo. Ieškant apylinkių, jis buvo rastas su didėjančiu +12 sektorių poslinkiu, palyginti su paskutiniu MFT fragmentu.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 12 NTFS įkrovos sektoriaus kopija

Mes nepaisome kitos įkrovos sektoriaus kopijos, esančios poslinkyje 18 041 006, nes ji nesusijusi su mūsų skaidiniu. Remiantis ankstesne veikla, nustatyta, kad skiltyje yra transliacijoje „iššokęs“ 61 sektorius, kuris praplėtė duomenis.
Atliekame visą disko nuskaitymą, paliekant 34 neskaitytus sektorius. Deja, neįmanoma patikimai garantuoti, kad visi jie yra defektai, pašalinti iš P sąrašo, tačiau tolimesnėje analizėje patartina atsižvelgti į jų padėtį, nes kai kuriais atvejais bus galima patikimai nustatyti pamainos taškus su sektoriaus tikslumas, o ne failas.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 13 Disko skaitymo statistika.

Kita mūsų užduotis bus nustatyti apytiksles pamainų vietas (pagal failo, kuriame jie įvyko, tikslumą). Norėdami tai padaryti, nuskaitysime visus MFT įrašus ir sukursime failų vietų (failų fragmentų) grandines.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 14 Failų ar jų fragmentų buvimo vietos grandinės.

Toliau, judėdami iš failo į failą, ieškome momento, kada vietoje laukiamos failo antraštės bus kiti duomenys, o norima antraštė bus rasta su tam tikru teigiamu poslinkiu. O kai tobuliname pamainų taškus, pildome lentelę. Užpildžius daugiau nei 99% failų bus nepažeista.

Vaikščiojimas per agoniją arba ilgą vieno duomenų atkūrimo bandymo istoriją
Ryžiai. 15 Vartotojo failų sąrašas (gautas kliento sutikimas publikuoti šią ekrano kopiją)

Norėdami nustatyti taškų poslinkius atskiruose failuose, galite atlikti papildomą darbą ir, jei žinote failo struktūrą, rasti su juo nesusijusių duomenų įtraukimus. Tačiau ši užduotis nebuvo ekonomiškai pagrįsta.

PS Taip pat norėčiau kreiptis į savo kolegas, kurių rankose šis diskas buvo anksčiau. Būkite atsargūs dirbdami su įrenginio programine įranga ir prieš ką nors keisdami sukurkite atsargines priežiūros duomenų kopijas ir sąmoningai nedidinkite problemos, jei nepavyko susitarti su klientu dėl darbo.

Ankstesnis leidinys: degtukų išsaugojimas arba duomenų atkūrimas iš šlifavimo HDD Seagate ST3000NC002-1DY166

Šaltinis: www.habr.com

Добавить комментарий