Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data

Ia adalah 2019. Makmal kami menerima pemacu QUANTUM FIREBALL Plus KA dengan kapasiti 9.1GB, yang tidak begitu biasa pada zaman kita. Menurut pemilik pemacu itu, kegagalan itu berlaku pada tahun 2004 kerana bekalan kuasa yang gagal, yang membawa cakera keras dan komponen PC lain bersamanya. Kemudian terdapat lawatan ke pelbagai perkhidmatan dengan percubaan untuk membaiki pemacu dan memulihkan data, yang tidak berjaya. Dalam sesetengah kes, mereka berjanji ia akan menjadi murah, tetapi mereka tidak pernah menyelesaikan masalah itu, pada yang lain ia terlalu mahal dan pelanggan tidak mahu memulihkan data, tetapi pada akhirnya cakera itu melalui banyak pusat servis. Ia telah hilang beberapa kali, tetapi terima kasih kepada hakikat bahawa pemilik menjaga maklumat rakaman dari pelbagai pelekat pada pemacu terlebih dahulu, dia berjaya memastikan cakera kerasnya dikembalikan dari beberapa pusat servis. Jalan-jalan tidak berlalu tanpa jejak, banyak kesan pematerian kekal di papan pengawal asal, dan kekurangan elemen SMD juga dirasai secara visual (melihat ke hadapan, saya akan mengatakan bahawa ini adalah yang paling sedikit masalah pemacu ini).

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 1 HDD Quantum Fireball Plus KA 9,1GB

Perkara pertama yang perlu kami lakukan ialah mencari dalam arkib penderma untuk saudara kembar purba pemacu ini dengan papan pengawal yang berfungsi. Apabila pencarian ini selesai, ia menjadi mungkin untuk menjalankan langkah diagnostik yang luas. Selepas memeriksa belitan motor untuk litar pintas dan memastikan tiada litar pintas, kami memasang papan dari pemacu penderma ke pemacu pesakit. Kami menggunakan kuasa dan mendengar bunyi biasa aci berputar ke atas, lulus ujian penentukuran dengan memuatkan perisian tegar, dan selepas beberapa saat pemacu melaporkan dengan mendaftar bahawa ia bersedia untuk bertindak balas kepada arahan daripada antara muka.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 2 penunjuk DRD DSC menunjukkan kesediaan untuk menerima arahan.

Kami menyandarkan semua salinan modul perisian tegar. Kami menyemak integriti modul perisian tegar. Tiada masalah dengan membaca modul, tetapi analisis laporan menunjukkan bahawa terdapat beberapa keanehan.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 3. Jadual zon.

Kami memberi perhatian kepada jadual pengedaran zon dan perhatikan bahawa bilangan silinder ialah 13845.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 4 P-senarai (senarai utama – senarai kecacatan yang diperkenalkan semasa kitaran pengeluaran).

Kami menarik perhatian kepada bilangan kecacatan yang terlalu kecil dan lokasinya. Kami melihat modul log penyembunyian kecacatan kilang (60j) dan mendapati ia kosong dan tidak mengandungi satu entri. Berdasarkan ini, kita boleh mengandaikan bahawa di salah satu pusat servis sebelumnya, beberapa manipulasi mungkin telah dilakukan dengan kawasan servis pemacu, dan secara tidak sengaja atau sengaja modul asing telah ditulis, atau senarai kecacatan pada asal. satu telah dibersihkan. Untuk menguji andaian ini, kami mencipta tugas dalam Pengekstrak Data dengan pilihan "buat salinan sektor demi sektor" dan "buat penterjemah maya" didayakan.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 5 Parameter tugas.

Setelah mencipta tugas, kami melihat entri dalam jadual partition dalam sektor sifar (LBA 0)

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 6 Rekod but induk dan jadual partition.

Pada offset 0x1BE terdapat satu entri (16 bait). Jenis sistem fail pada partition ialah NTFS, diimbangi kepada permulaan sektor 0x3F (63), saiz partition 0x011309A3 (18) sektor.
Dalam editor sektor, buka LBA 63.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 7 sektor but NTFS

Menurut maklumat dalam sektor boot partition NTFS, kita boleh mengatakan perkara berikut: saiz sektor yang diterima dalam volum ialah 512 bait (perkataan 0x0 (0) ditulis pada offset 0200x512B), bilangan sektor dalam kelompok ialah 8 (bait 0x0 ditulis pada offset 0x08D), saiz kluster ialah 512x8=4096 bait, rekod MFT pertama terletak pada offset 6 sektor dari permulaan cakera (pada offset 291x519 perkataan empat kali 0x30 0 00 00 00 00C 00 0 (00) nombor gugusan MFT pertama. Nombor sektor dikira dengan formula: Nombor kluster * bilangan sektor dalam gugusan + diimbangi kepada permulaan bahagian 00* 786+432= 786).
Mari kita beralih ke sektor 6.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
Rajah. Xnumx

Tetapi data yang terkandung dalam sektor ini berbeza sama sekali daripada rekod MFT. Walaupun ini menunjukkan kemungkinan terjemahan yang salah disebabkan oleh senarai kecacatan yang salah, ia tidak membuktikan fakta ini. Untuk menyemak selanjutnya, kami akan membaca cakera sebanyak 10 sektor dalam kedua-dua arah berbanding 000 sektor. Dan kemudian kita akan mencari ungkapan biasa dalam apa yang kita baca.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 9 Rakaman MFT pertama

Dalam sektor 6 kita dapati rekod MFT pertama. Kedudukannya berbeza daripada yang dikira dengan 291 sektor, dan kemudian sekumpulan 551 rekod (dari 32 hingga 16) terus mengikuti. Mari kita masukkan kedudukan sektor 0 ke dalam jadual anjakan dan bergerak ke hadapan sebanyak 15 sektor.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
Rajah. Xnumx

Kedudukan rekod No. 16 sepatutnya berada pada offset 12, tetapi kami mendapati sifar di sana dan bukannya rekod MFT. Mari kita lakukan carian serupa di kawasan sekitar.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 11 Entri MFT 0x00000011 (17)

Serpihan besar MFT dikesan, bermula dengan rekod nombor 17 dengan panjang 53 rekod) dengan anjakan sebanyak 646 sektor. Untuk kedudukan 17, letakkan anjakan +12 sektor dalam jadual anjakan.
Setelah menentukan kedudukan serpihan MFT dalam ruang, kita boleh membuat kesimpulan bahawa ini tidak kelihatan seperti kegagalan rawak dan rakaman serpihan MFT pada offset yang salah. Versi dengan penterjemah yang salah boleh dianggap disahkan.
Untuk menyetempatkan lagi titik anjakan, kami akan menetapkan anjakan maksimum yang mungkin. Untuk melakukan ini, kami menentukan berapa banyak penanda akhir partition NTFS (salinan sektor but) dialihkan. Dalam Rajah 7, pada offset 0x28, quadword ialah nilai saiz partition 0x00 00 00 00 01 13 09 A2 (18) sektor. Mari tambahkan offset partition itu sendiri dari permulaan cakera kepada panjangnya, dan kita mendapat offset penanda NTFS akhir 024 + 866= 18. Seperti yang dijangkakan, salinan yang diperlukan bagi sektor but tidak ada di sana. Apabila mencari kawasan sekitar, ia didapati dengan peningkatan anjakan +024 sektor berbanding serpihan MFT terakhir.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 12 Salinan sektor but NTFS

Kami mengabaikan salinan lain sektor but pada offset 18, kerana ia tidak berkaitan dengan partition kami. Berdasarkan aktiviti sebelumnya, telah ditetapkan bahawa dalam bahagian itu terdapat kemasukan 041 sektor yang "muncul" dalam siaran, yang mengembangkan data.
Kami melakukan pembacaan penuh pemacu, yang meninggalkan 34 sektor yang belum dibaca. Malangnya, adalah mustahil untuk menjamin dengan pasti bahawa kesemuanya adalah kecacatan yang dikeluarkan dari senarai P, tetapi dalam analisis selanjutnya adalah dinasihatkan untuk mengambil kira kedudukan mereka, kerana dalam beberapa kes, adalah mungkin untuk menentukan titik anjakan dengan pasti dengan ketepatan sektor, dan bukan fail.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 13 Statistik bacaan cakera.

Tugas kami seterusnya adalah untuk mewujudkan anggaran lokasi anjakan (mengikut ketepatan fail di mana ia berlaku). Untuk melakukan ini, kami akan mengimbas semua rekod MFT dan membina rantaian lokasi fail (serpihan fail).

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 14 Rantaian lokasi fail atau serpihannya.

Seterusnya, bergerak dari fail ke fail, kami mencari saat di mana akan terdapat data lain dan bukannya pengepala fail yang dijangkakan, dan pengepala yang dikehendaki akan ditemui dengan anjakan positif tertentu. Dan semasa kami memperhalusi titik anjakan, kami mengisi jadual. Hasil pengisiannya akan melebihi 99% fail tanpa kerosakan.

Berjalan melalui penderitaan atau sejarah panjang satu percubaan pemulihan data
nasi. 15 Senarai fail pengguna (persetujuan diterima daripada pelanggan untuk menerbitkan tangkapan skrin ini)

Untuk mewujudkan anjakan titik dalam fail individu, anda boleh menjalankan kerja tambahan dan, jika anda mengetahui struktur fail, cari kemasukan data yang tidak berkaitan dengannya. Tetapi dalam tugas ini ia tidak dapat dilaksanakan secara ekonomi.

PS Saya juga ingin menyampaikan kepada rakan sekerja saya, yang mana cakera ini berada sebelum ini. Sila berhati-hati apabila bekerja dengan perisian tegar peranti dan sandarkan data perkhidmatan sebelum menukar apa-apa, dan jangan sengaja memburukkan masalah jika anda tidak dapat bersetuju dengan pelanggan mengenai kerja itu.

Penerbitan sebelumnya: Menyimpan padanan atau memulihkan data daripada HDD Seagate ST3000NC002-1DY166 yang mengisar

Sumber: www.habr.com

Tambah komen