Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka

Bila je 2019. Naš laboratorij je dobio pogon QUANTUM FIREBALL Plus KA kapaciteta 9.1 GB, što nije sasvim uobičajeno za naše vrijeme. Prema riječima vlasnika diska, kvar se dogodio još 2004. godine zbog kvara na napajanju, koje je sa sobom odnijelo tvrdi disk i ostale komponente računala. Zatim su uslijedili posjeti raznim servisima s pokušajima popravka diska i vraćanja podataka, koji su bili neuspješni. U nekim slučajevima su obećavali da će biti jeftino, ali nikad nisu riješili problem, u drugima je bilo preskupo i klijent nije htio vratiti podatke, ali na kraju je disk prošao kroz mnoge servise. Gubio se nekoliko puta, ali zahvaljujući činjenici da se vlasnik unaprijed pobrinuo za snimanje informacija s raznih naljepnica na pogonu, uspio je osigurati da mu se tvrdi disk vrati iz nekih servisnih centara. Šetnje nisu prošle bez traga, višestruki tragovi lemljenja ostali su na izvornoj ploči upravljača, a vizualno se osjetio nedostatak SMD elemenata (gledajući unaprijed, reći ću da je to najmanji problem ovog pogona).

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 1 HDD Quantum Fireball Plus KA 9,1 GB

Prvo što smo morali učiniti bilo je potražiti u arhivi donatora tako starog brata blizanca ovog pogona s ispravnom 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, postavljamo pločicu s pogona donatora na pogon pacijenta. Primjenjujemo napajanje i čujemo normalan zvuk osovine koja se okreće, prolazi test kalibracije s učitavanjem firmware-a, a nakon nekoliko sekundi pogon javlja registrima da je spreman odgovoriti na naredbe sa sučelja.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 2 DRD DSC indikatora pokazuju spremnost za primanje naredbi.

Izrađujemo sigurnosnu kopiju svih kopija firmware modula. Provjeravamo integritet modula firmvera. Nema problema s čitanjem modula, ali analiza izvješća pokazuje da postoje neke neobičnosti.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 3. Zonski stol.

Obraćamo pozornost na tablicu zonske raspodjele i napominjemo da je broj cilindara 13845.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 4 P-lista (primarna lista – lista nedostataka unesenih tijekom proizvodnog ciklusa).

Skrećemo pozornost na premali broj nedostataka i njihovu lokaciju. Gledamo modul dnevnika skrivanja tvorničkih nedostataka (60h) i otkrivamo da je prazan i da ne sadrži niti jedan unos. Na temelju toga možemo pretpostaviti da su u jednom od prethodnih servisnih centara možda učinjene neke manipulacije s servisnim područjem pogona, a slučajno ili namjerno upisan je strani modul ili je popis nedostataka u izvorniku jedan je bio očišćen. Kako bismo testirali ovu pretpostavku, kreiramo zadatak u alatu Data Extractor s omogućenim opcijama "kreiraj kopiju sektora po sektor" i "kreiraj virtualni prevoditelj".

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 5 Parametri zadatka.

Nakon što smo izradili zadatak, gledamo unose u particijsku tablicu u sektoru nula (LBA 0)

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 6 Glavni boot zapis i particijska tablica.

Na pomaku 0x1BE postoji jedan unos (16 bajtova). Vrsta datotečnog sustava na particiji je NTFS, pomak na početku 0x3F (63) sektora, veličina particije 0x011309A3 (18) sektora.
U uređivaču sektora otvorite LBA 63.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 7 NTFS sektor za pokretanje

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

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Slika. 8

No podaci sadržani u ovom sektoru potpuno su različiti od MFT zapisa. Iako ovo ukazuje na mogući netočan prijevod zbog netočnog popisa nedostataka, to ne dokazuje tu činjenicu. Da bismo dodatno provjerili, očitat ćemo disk po 10 000 sektora u oba smjera u odnosu na 6 291 519 sektora. A onda ćemo tražiti regularne izraze u onome što čitamo.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 9 Prva MFT snimka

U sektoru 6 nalazimo prvi MFT zapis. Njegov položaj od izračunatog se razlikuje za 291 sektora, a zatim kontinuirano slijedi skupina od 551 zapisa (od 32 do 16). Unesite poziciju sektora 0 u tablicu pomaka i pomaknimo se naprijed za 15 sektora.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Slika. 10

Pozicija zapisa br. 16 trebala bi biti na offsetu 12, ali tamo nalazimo nule umjesto MFT zapisa. Provedimo sličnu pretragu u okolici.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 11 MFT unos 0x00000011 (17)

Otkriven je veliki fragment MFT-a, počevši od zapisa broj 17 s duljinom od 53 646 zapisa) s pomakom od 17 sektora. Za poziciju 12, stavite pomak od +155 sektora u tablicu pomaka.
Nakon što smo utvrdili položaj MFT fragmenata u prostoru, možemo zaključiti da ovo ne izgleda kao slučajni kvar i snimanje MFT fragmenata na netočnim odmacima. Verzija s netočnim prevoditeljem može se smatrati potvrđenom.
Kako bismo dodatno lokalizirali točke pomaka, postavit ćemo najveći mogući pomak. Da bismo to učinili, određujemo koliko je krajnji marker NTFS particije (kopija sektora za pokretanje) pomaknut. Na slici 7, na pomaku 0x28, četvorna riječ je vrijednost veličine particije 0x00 00 00 00 01 13 09 A2 (18) sektora. Dodajmo pomak same particije od početka diska na njegovu duljinu i dobivamo pomak krajnjeg NTFS markera 024 866 18 + 024= 866 63 18. Očekivano, tražene kopije boot sektora nije bilo. Prilikom pretraživanja okolnog područja, pronađen je s rastućim pomakom od +024 sektora u odnosu na zadnji MFT fragment.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 12 Kopija NTFS sektora za pokretanje

Ignoriramo drugu kopiju sektora za pokretanje na pomaku 18, budući da nije povezana s našom particijom. Na temelju dosadašnjih aktivnosti utvrđeno je da unutar rubrike postoje uključenja 041 sektora koji su “iskočili” u emisiji, čime su podaci prošireni.
Izvodimo potpuno čitanje pogona, što ostavlja 34 nepročitana sektora. Nažalost, nemoguće je pouzdano jamčiti da su svi oni nedostaci uklonjeni s P-liste, ali u daljnjoj analizi preporučljivo je uzeti u obzir njihov položaj, budući da će u nekim slučajevima biti moguće pouzdano odrediti točke pomaka s točnost sektora, a ne datoteke.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 13 Statistika čitanja diska.

Naš sljedeći zadatak bit će utvrditi približne lokacije pomaka (u skladu s točnošću datoteke u kojoj su se dogodili). Da bismo to učinili, skenirat ćemo sve MFT zapise i izgraditi lance lokacija datoteka (fragmenata datoteka).

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 14 Lanci lokacije datoteka ili njihovih fragmenata.

Dalje, krećući se od datoteke do datoteke, tražimo trenutak u kojem će umjesto očekivanog zaglavlja datoteke biti drugi podaci, a željeno zaglavlje pronaći će se s određenim pozitivnim pomakom. I dok usavršavamo točke pomaka, popunjavamo tablicu. Rezultat popunjavanja bit će više od 99% datoteka bez oštećenja.

Hodanje kroz agoniju ili duga povijest jednog pokušaja vraćanja podataka
Riža. 15 Popis korisničkih datoteka (primljen je pristanak od klijenta za objavljivanje ove snimke zaslona)

Da biste ustanovili pomake točaka u pojedinačnim datotekama, možete dodatno raditi i, ako poznajete strukturu datoteke, pronaći uključivanja podataka koji nisu povezani s njom. Ali u ovom zadatku to nije bilo ekonomski izvedivo.

PS Također bih se želio obratiti svojim kolegama u čijim je rukama ovaj disk ranije bio. Budite pažljivi pri radu s firmware-om uređaja i napravite sigurnosnu kopiju servisnih podataka prije nego bilo što promijenite i nemojte namjerno pogoršavati problem ako se niste uspjeli dogovoriti s klijentom o radu.

Prethodna publikacija: Spremanje utakmica ili vraćanje podataka s HDD-a za mljevenje Seagate ST3000NC002-1DY166

Izvor: www.habr.com

Dodajte komentar