Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data

Saat itu tahun 2019. Laboratorium kami menerima drive QUANTUM FIREBALL Plus KA dengan kapasitas 9.1 GB, yang jarang ditemukan di zaman kita. Menurut pemilik drive tersebut, kegagalan tersebut terjadi pada tahun 2004 karena kegagalan catu daya, yang menyebabkan hard drive dan komponen PC lainnya ikut serta. Lalu ada kunjungan ke berbagai layanan dengan upaya memperbaiki drive dan memulihkan data, namun tidak berhasil. Dalam beberapa kasus mereka berjanji akan murah, tetapi mereka tidak pernah menyelesaikan masalah, dalam kasus lain terlalu mahal dan klien tidak ingin memulihkan data, tetapi pada akhirnya disk tersebut melewati banyak pusat layanan. Itu hilang beberapa kali, tetapi karena pemiliknya telah mencatat informasi dari berbagai stiker pada drive terlebih dahulu, dia berhasil memastikan bahwa hard drive-nya dikembalikan dari beberapa pusat layanan. Perjalanan tidak berlalu tanpa jejak, beberapa jejak penyolderan tetap ada di papan pengontrol asli, dan kurangnya elemen SMD juga terasa secara visual (melihat ke depan, saya akan mengatakan bahwa ini adalah masalah terkecil dari drive ini).

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 1 HDD Quantum Fireball Plus KA 9,1GB

Hal pertama yang harus kami lakukan adalah mencari di arsip donor untuk menemukan saudara kembar kuno dari drive ini dengan papan pengontrol yang berfungsi. Ketika pencarian ini selesai, tindakan diagnostik ekstensif dapat dilakukan. Setelah memeriksa belitan motor apakah ada hubungan pendek dan memastikan tidak ada hubungan pendek, kami memasang papan dari drive donor ke drive pasien. Kami menerapkan daya dan mendengar suara normal poros berputar, lulus uji kalibrasi dengan memuat firmware, dan setelah beberapa detik drive melaporkan melalui register bahwa ia siap merespons perintah dari antarmuka.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 2 indikator DRD DSC menunjukkan kesiapan menerima perintah.

Kami mencadangkan semua salinan modul firmware. Kami memeriksa integritas modul firmware. Tidak ada masalah dengan membaca modul, namun analisis laporan menunjukkan ada beberapa keanehan.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 3. Tabel zona.

Kami memperhatikan tabel distribusi zonal dan mencatat bahwa jumlah silinder adalah 13845.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 4 P-list (daftar utama – daftar cacat yang terjadi selama siklus produksi).

Kami memperhatikan terlalu sedikitnya jumlah cacat dan lokasinya. Kami melihat modul log penyembunyian cacat pabrik (60 jam) dan menemukan bahwa modul tersebut kosong dan tidak berisi satu entri pun. Berdasarkan hal ini, kita dapat berasumsi bahwa di salah satu pusat layanan sebelumnya, beberapa manipulasi mungkin telah dilakukan dengan area layanan drive, dan secara tidak sengaja atau sengaja modul asing ditulis, atau daftar cacat pada aslinya satu telah dibersihkan. Untuk menguji asumsi ini, kami membuat tugas di Data Extractor dengan opsi β€œbuat salinan sektor demi sektor” dan β€œbuat penerjemah virtual” diaktifkan.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 5 Parameter tugas.

Setelah membuat tugas, kami melihat entri dalam tabel partisi di sektor nol (LBA 0)

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 6 Catatan boot utama dan tabel partisi.

Pada offset 0x1BE ada satu entri (16 byte). Jenis sistem file pada partisi adalah NTFS, diimbangi ke awal sektor 0x3F (63), ukuran partisi 0x011309A3 (18) sektor.
Di editor sektor, buka LBA 63.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 7 sektor boot NTFS

Berdasarkan informasi di sektor boot partisi NTFS, kita dapat mengatakan yang berikut: ukuran sektor yang diterima dalam volume adalah 512 byte (kata 0x0 (0) ditulis pada offset 0200x512B), jumlah sektor dalam cluster adalah 8 (byte 0x0 ditulis pada offset 0x08D), ukuran cluster adalah 512x8=4096 byte, catatan MFT pertama terletak pada offset 6 sektor dari awal disk (pada offset 291x519 empat kali lipat kata 0x30 0 00 00 00 00C 00 0 (00) nomor cluster MFT pertama Nomor sektor dihitung dengan rumus: Nomor cluster * jumlah sektor dalam cluster + offset ke awal bagian 00* 786+432= 786).
Mari kita beralih ke sektor 6.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Gambar. 8

Namun data yang terdapat di sektor ini sama sekali berbeda dengan catatan MFT. Meskipun hal ini menunjukkan kemungkinan kesalahan terjemahan karena daftar cacat yang salah, hal ini tidak membuktikan fakta tersebut. Untuk pemeriksaan lebih lanjut, kita akan membaca disk sebanyak 10 sektor di kedua arah relatif terhadap 000 sektor. Dan kemudian kita akan mencari ekspresi reguler dalam apa yang kita baca.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 9 Rekaman MFT pertama

Di sektor 6 kami menemukan rekor MFT pertama. Posisinya berbeda dari yang dihitung dengan 291 sektor, dan kemudian diikuti oleh sekelompok 551 catatan (dari 32 hingga 16). Mari kita masukkan posisi sektor 0 ke dalam tabel shift dan maju sebanyak 15 sektor.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Gambar. 10

Posisi catatan No. 16 seharusnya di offset 12, tapi kami menemukan angka nol di sana, bukan catatan MFT. Mari kita lakukan pencarian serupa di area sekitar.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 11 Entri MFT 0x00000011 (17)

Fragmen besar MFT terdeteksi, dimulai dengan record nomor 17 dengan panjang 53 record) dengan pergeseran 646 sektor. Untuk posisi 17, masukkan pergeseran +12 sektor pada tabel pergeseran.
Setelah menentukan posisi fragmen MFT di ruang angkasa, kita dapat menyimpulkan bahwa ini tidak terlihat seperti kegagalan yang tidak disengaja dan perekaman fragmen MFT pada offset yang salah. Versi dengan penerjemah yang salah dapat dianggap dikonfirmasi.
Untuk lebih melokalisasi titik pergeseran, kami akan mengatur perpindahan maksimum yang mungkin. Untuk melakukan ini, kita menentukan seberapa besar penanda akhir partisi NTFS (salinan sektor boot) digeser. Pada Gambar 7, pada offset 0x28, quadword adalah nilai ukuran partisi dari sektor 0x00 00 00 00 01 13 09 A2 (18). Mari kita tambahkan offset partisi itu sendiri dari awal disk ke panjangnya, dan kita mendapatkan offset penanda NTFS akhir 024 + 866= 18 Seperti yang diharapkan, salinan sektor boot yang diperlukan tidak ada. Saat menelusuri area sekitarnya, ditemukan peningkatan pergeseran sebesar +024 sektor dibandingkan fragmen MFT terakhir.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 12 Salinan sektor boot NTFS

Kami mengabaikan salinan lain dari sektor boot pada offset 18, karena tidak terkait dengan partisi kami. Berdasarkan kegiatan sebelumnya, diketahui bahwa di dalam bagian tersebut terdapat 041 sektor yang β€œmuncul” dalam siaran tersebut, sehingga memperluas datanya.
Kami melakukan pembacaan penuh pada drive, menyisakan 34 sektor yang belum dibaca. Sayangnya, tidak mungkin untuk menjamin secara andal bahwa semuanya adalah cacat yang dihapus dari daftar-P, tetapi dalam analisis lebih lanjut disarankan untuk mempertimbangkan posisinya, karena dalam beberapa kasus akan mungkin untuk menentukan titik pergeseran dengan andal. keakuratan sektornya, dan bukan filenya.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 13 Statistik pembacaan disk.

Tugas kita selanjutnya adalah menetapkan perkiraan lokasi pergeseran (dengan keakuratan file tempat terjadinya pergeseran). Untuk melakukan ini, kami akan memindai semua catatan MFT dan membangun rangkaian lokasi file (fragmen file).

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 14 Rantai lokasi file atau fragmennya.

Selanjutnya, berpindah dari satu file ke file lainnya, kita mencari momen di mana akan ada data lain selain header file yang diharapkan, dan header yang diinginkan akan ditemukan dengan pergeseran positif tertentu. Dan saat kami menyempurnakan titik pergeseran, kami mengisi tabelnya. Hasil pengisiannya akan lebih dari 99% file tanpa kerusakan.

Melewati penderitaan atau sejarah panjang dari satu upaya pemulihan data
Beras. 15 Daftar file pengguna (persetujuan diterima dari klien untuk mempublikasikan tangkapan layar ini)

Untuk menetapkan pergeseran titik dalam file individual, Anda dapat melakukan pekerjaan tambahan dan, jika Anda mengetahui struktur file, temukan penyertaan data yang tidak terkait dengannya. Namun dalam tugas ini hal itu tidak layak secara ekonomi.

PS Saya juga ingin menyampaikan kepada rekan-rekan saya, yang sebelumnya memegang disk ini. Harap berhati-hati saat bekerja dengan firmware perangkat dan membuat cadangan data layanan sebelum mengubah apa pun, dan jangan dengan sengaja memperburuk masalah jika Anda tidak dapat menyetujui pekerjaan tersebut dengan klien.

Publikasi sebelumnya: Menghemat kecocokan atau memulihkan data dari HDD Seagate ST3000NC002-1DY166 yang rusak

Sumber: www.habr.com

Tambah komentar