Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka

Bilo je to 2019. Naša laboratorija je dobila QUANTUM FIREBALL Plus KA drajv kapaciteta 9.1GB, što nije sasvim uobičajeno za naše vrijeme. Prema riječima vlasnika drajva, kvar se dogodio još 2004. godine zbog neispravnog napajanja, što je sa sobom odnijelo hard disk i druge komponente računara. Zatim su uslijedile posjete raznim servisima s pokušajima popravke diska i vraćanja podataka, koji su bili neuspješni. U nekim slučajevima su obećavali da će biti jeftino, ali nikada nisu riješili problem, u drugima je bilo preskupo i klijent nije želio da vrati podatke, ali je na kraju disk prošao kroz mnoge servisne centre. Nekoliko puta je izgubljen, ali zahvaljujući činjenici da se vlasnik unaprijed pobrinuo za snimanje informacija sa raznih naljepnica na disk, uspio je osigurati da mu hard disk bude vraćen iz nekih servisnih centara. Šetnje nisu prošle bez traga, višestruki tragovi lemljenja ostali su na originalnoj upravljačkoj ploči, a i vizuelno se osjetio nedostatak SMD elemenata (gledajući unaprijed, reći ću da je to najmanji problem ovog drajva).

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 1 HDD Quantum Fireball Plus KA 9,1 GB

Prvo što smo morali da uradimo je da potražimo u arhivi donatora tako drevnog brata blizanca ovog drajva sa funkcionalnom kontrolnom pločom. Kada je ova potraga završena, postalo je moguće provesti opsežne dijagnostičke mjere. Nakon što provjerimo namotaje motora na kratki spoj i uvjerimo se da nema kratkog spoja, ugrađujemo ploču od donorskog pogona u pogon pacijenta. Uključujemo napajanje i čujemo normalan zvuk okretanja osovine, prolazeći test kalibracije sa učitavanjem firmvera, a nakon nekoliko sekundi pogon javlja po registrima da je spreman da odgovori na komande sa interfejsa.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 2 DRD DSC indikatora ukazuju na spremnost za primanje komandi.

Izrađujemo sigurnosnu kopiju svih kopija modula firmvera. Provjeravamo integritet modula firmvera. Nema problema sa čitanjem modula, ali analiza izveštaja pokazuje da ima nekih neobičnosti.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 3. Zonska tablica.

Obratite pažnju na tabelu zonske distribucije i napominjemo da je broj cilindara 13845.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 4 P-lista (primarna lista – lista nedostataka unesenih tokom proizvodnog ciklusa).

Skrećemo pažnju na premali broj nedostataka i njihovu lokaciju. Gledamo fabrički kvar koji skriva modul dnevnika (60h) i nalazimo da je prazan i da ne sadrži niti jedan unos. Na osnovu ovoga možemo pretpostaviti da su u nekom od prethodnih servisnih centara možda rađene neke manipulacije sa servisnim područjem pogona, a slučajno ili namjerno je napisan strani modul ili spisak kvarova u originalu jedan je očišćen. Da bismo testirali ovu pretpostavku, kreiramo zadatak u Data Extractoru sa omogućenim opcijama „kreiraj kopiju sektor po sektor“ i „kreiraj virtuelni prevodilac“.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 5 Parametri zadatka.

Nakon kreiranja zadatka, gledamo unose u tabeli particija u nultom sektoru (LBA 0)

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 6 Glavni zapis za pokretanje sistema i tabela particija.

Na ofsetu 0x1BE nalazi se jedan unos (16 bajtova). Tip sistema datoteka na particiji je NTFS, pomak na početak 0x3F (63) sektora, veličina particije 0x011309A3 (18) sektora.
U uređivaču sektora otvorite LBA 63.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 7 NTFS sektor za pokretanje

Prema informacijama u boot sektoru NTFS particije, možemo reći sljedeće: veličina sektora prihvaćena u volumenu je 512 bajtova (riječ 0x0 (0) je upisana na pomaku 0200x512B), broj sektora u klasteru je 8 (bajt 0x0 je napisan na pomaku 0x08D), veličina klastera je 512x8=4096 bajtova, prvi MFT zapis se nalazi na pomaku od 6 sektora od početka diska (na pomaku od 291x519 četverostruke riječi 0x30 0 00 00C 00 00 (00) broj prvog MFT klastera Broj sektora se izračunava po formuli: broj klastera * broj sektora u klasteru + pomak na početak sekcije 0* 00+00= 786).
Pređimo na sektor 6.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Fig. 8

Ali podaci sadržani u ovom sektoru potpuno su drugačiji od MFT zapisa. Iako ovo ukazuje na mogući netačan prijevod zbog netačne liste nedostataka, to ne dokazuje ovu činjenicu. Za dalju provjeru, čitat ćemo disk za 10 sektora u oba smjera u odnosu na 000 sektora. A onda ćemo tražiti regularne izraze u onome što čitamo.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 9 Prvi MFT snimak

U sektoru 6 nalazimo prvi MFT zapis. Njena pozicija se razlikuje od izračunate za 291 sektora, a zatim kontinuirano slijedi grupa od 551 zapisa (od 32 do 16). Unesimo poziciju sektora 0 u tabelu pomaka i idemo naprijed za 15 sektora.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Fig. 10

Pozicija zapisa br. 16 bi trebala biti na offsetu 12, ali tamo nalazimo nule umjesto MFT zapisa. Hajde da izvršimo sličnu pretragu u okolini.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 11 MFT unos 0x00000011 (17)

Detektuje se veliki fragment MFT-a, počevši od zapisa broj 17 sa dužinom od 53 zapisa) sa pomakom od 646 sektora. Za poziciju 17, stavite pomak od +12 sektora u tabeli pomaka.
Odredivši položaj MFT fragmenata u prostoru, možemo zaključiti da ovo ne liči na slučajni kvar i snimanje MFT fragmenata pri netačnim pomacima. Verzija sa netačnim prevodiocem može se smatrati potvrđenom.
Da bismo dalje lokalizirali točke pomaka, postavit ćemo maksimalni mogući pomak. Da bismo to učinili, određujemo koliko je pomaknut krajnji marker NTFS particije (kopija sektora za pokretanje). Na slici 7, na pomaku 0x28, quadword je vrijednost veličine particije 0x00 00 00 00 01 13 09 A2 (18) sektora. Dodajmo pomak same particije od početka diska na njenu dužinu, i dobijamo pomak krajnjeg NTFS markera 024 866 18 + 024= 866 63 18. Očekivano, nije bilo potrebne kopije boot sektora. Prilikom pretraživanja okolnog područja pronađeno je sa sve većim pomakom od +024 sektora u odnosu na posljednji MFT fragment.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 12 Kopija NTFS sektora za pokretanje

Zanemarujemo drugu kopiju sektora za pokretanje na offsetu 18, jer nije povezana s našom particijom. Na osnovu dosadašnjih aktivnosti utvrđeno je da se u okviru rubrike nalaze uključenja 041 sektora koji su „iskočili“ u emisiji, što je proširilo podatke.
Izvodimo potpuno čitanje disk jedinice, što ostavlja 34 nepročitana sektora. Nažalost, nemoguće je pouzdano jamčiti da su svi oni nedostaci uklonjeni sa P-liste, ali je u daljnjoj analizi preporučljivo uzeti u obzir njihov položaj, jer će u nekim slučajevima biti moguće pouzdano odrediti točke pomaka sa tačnost sektora, a ne fajla.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 13 Statistika čitanja diska.

Naš sljedeći zadatak će biti da utvrdimo približne lokacije pomaka (do tačnosti datoteke u kojoj su se dogodile). Da bismo to učinili, skenirat ćemo sve MFT zapise i izgraditi lance lokacija datoteka (fragmenata datoteka).

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 14 Lanci lokacija datoteka ili njihovih fragmenata.

Zatim, krećući se od datoteke do datoteke, tražimo trenutak u kojem će biti drugih podataka umjesto očekivanog zaglavlja datoteke, a željeno zaglavlje će se pronaći sa određenim pozitivnim pomakom. I dok preciziramo tačke pomaka, popunjavamo tabelu. Rezultat popunjavanja će biti preko 99% fajlova bez oštećenja.

Hodanje kroz agoniju ili dugu istoriju jednog pokušaja oporavka podataka
Rice. 15 Lista korisničkih fajlova (dobila je saglasnost od klijenta za objavljivanje ovog snimka ekrana)

Da biste uspostavili pomake tačaka u pojedinačnim datotekama, možete obaviti dodatni posao i, ako poznajete strukturu datoteke, pronaći inkluzije podataka koji nisu povezani s njom. Ali u ovom zadatku to nije bilo ekonomski izvodljivo.

PS Želio bih se obratiti i mojim kolegama u čijim je rukama ovaj disk ranije bio. Molimo vas da budete oprezni kada radite sa firmverom uređaja i napravite rezervnu kopiju servisnih podataka pre nego što bilo šta promenite i nemojte namerno pogoršavati problem ako niste bili u mogućnosti da se dogovorite sa klijentom o radu.

Prethodna publikacija: Ušteda na šibicama ili oporavak podataka sa tvrdog diska za brušenje Seagate ST3000NC002-1DY166

izvor: www.habr.com

Dodajte komentar