Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish

2019 yil edi. Laboratoriyamiz 9.1 Gb sig'imli QUANTUM FIREBALL Plus KA diskini oldi, bu bizning davrimiz uchun unchalik keng tarqalgan emas. Drayv egasining so'zlariga ko'ra, nosozlik 2004 yilda qattiq disk va boshqa shaxsiy kompyuter komponentlarini o'zi bilan olib ketgan quvvat manbai ishlamay qolganligi sababli sodir bo'lgan. Keyin drayverni ta'mirlash va ma'lumotlarni qayta tiklashga urinishlar bilan turli xizmatlarga tashriflar amalga oshirildi, ular muvaffaqiyatsiz bo'ldi. Ba'zi hollarda ular arzon bo'lishini va'da qilishdi, lekin ular hech qachon muammoni hal qilishmadi, boshqalarda bu juda qimmat va mijoz ma'lumotlarni qayta tiklashni xohlamadi, lekin oxirida disk ko'plab xizmat ko'rsatish markazlaridan o'tdi. U bir necha marta yo'qolgan, ammo egasi diskdagi turli xil stikerlardan ma'lumotlarni yozib olish haqida oldindan g'amxo'rlik qilgani tufayli, u qattiq diskini ba'zi xizmat ko'rsatish markazlaridan qaytarib berilishini ta'minlashga muvaffaq bo'ldi. Yurishlar izsiz o'tmadi, asl boshqaruv panelida bir nechta lehim izlari qoldi va SMD elementlarining etishmasligi ham vizual ravishda sezildi (oldinga qarab, bu haydovchining eng kichik muammolari deb aytaman).

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 1 HDD Quantum Fireball Plus KA 9,1GB

Biz qilishimiz kerak bo'lgan birinchi narsa donor arxivida ishlaydigan boshqaruv paneli bo'lgan ushbu haydovchining qadimgi egizak ukasini qidirish edi. Ushbu qidiruv tugagach, keng qamrovli diagnostika tadbirlarini o'tkazish mumkin bo'ldi. Dvigatel o'rashlarini qisqa tutashuv uchun tekshirib, qisqa tutashuv yo'qligiga ishonch hosil qilgandan so'ng, biz platani donor haydovchidan bemor haydovchisiga o'rnatamiz. Biz quvvat sarflaymiz va milning normal aylanayotgan ovozini eshitamiz, proshivkani yuklash bilan kalibrlash sinovidan o'tamiz va bir necha soniyadan so'ng haydovchi registrlar tomonidan interfeysdan buyruqlarga javob berishga tayyorligi haqida xabar beradi.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 2 DRD DSC ko'rsatkichlari buyruqlarni qabul qilishga tayyorligini bildiradi.

Biz proshivka modullarining barcha nusxalarini zaxiralaymiz. Biz proshivka modullarining yaxlitligini tekshiramiz. Modullarni o'qish bilan bog'liq muammolar yo'q, ammo hisobotlarni tahlil qilish shuni ko'rsatadiki, ba'zi g'alatiliklar mavjud.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 3. Hududlar jadvali.

Biz zonal taqsimot jadvaliga e'tibor beramiz va silindrlar soni 13845 ekanligini ta'kidlaymiz.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 4 P-ro'yxati (birlamchi ro'yxat - ishlab chiqarish tsikli davomida kiritilgan nuqsonlar ro'yxati).

Biz e'tiborni juda kam sonli nuqsonlar va ularning joylashuviga qaratamiz. Biz zavod nuqsonlarini yashirish jurnali modulini (60h) ko'rib chiqamiz va uning bo'shligini va bitta yozuvni o'z ichiga olmaydi. Shunga asoslanib, biz oldingi xizmat ko'rsatish markazlaridan birida haydovchining xizmat ko'rsatish sohasi bilan ba'zi manipulyatsiyalar qilingan bo'lishi mumkin va tasodifiy yoki ataylab begona modul yoki asl nusxadagi nuqsonlar ro'yxati yozilgan deb taxmin qilishimiz mumkin. biri tozalandi. Ushbu taxminni sinab ko'rish uchun biz Data Extractor-da β€œsektor bo'yicha nusxa yaratish” va β€œvirtual tarjimon yaratish” opsiyalari yoqilgan holda vazifa yaratamiz.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 5 Vazifa parametrlari.

Vazifani yaratgandan so'ng, biz nol sektoridagi bo'lim jadvalidagi yozuvlarni ko'rib chiqamiz (LBA 0)

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 6 Asosiy yuklash yozuvi va bo'limlar jadvali.

0x1BE ofsetida bitta yozuv mavjud (16 bayt). Bo'limdagi fayl tizimi turi NTFS bo'lib, 0x3F (63) sektor boshiga ofset, bo'lim hajmi 0x011309A3 (18 024 867) sektor.
Sektor muharririda LBA 63 ni oching.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 7 NTFS yuklash sektori

NTFS bo'limining yuklash sektoridagi ma'lumotlarga ko'ra, biz quyidagilarni aytishimiz mumkin: hajmda qabul qilingan sektor hajmi 512 bayt (so'z 0x0 (0) 0200x512B ofsetida yozilgan), klasterdagi sektorlar soni. 8 (bayt 0x0 0x08D ofsetida yoziladi), klaster hajmi 512x8=4096 bayt, birinchi MFT yozuvi disk boshidan 6 291 519 sektor ofsetida joylashgan (0x30 to'rt martalik so'z 0x00 00 ofsetida) 00 00C 00 0 (00 00) birinchi MFT klasterining raqami Sektor raqami quyidagi formula bo'yicha hisoblanadi: Klaster raqami * klasterdagi sektorlar soni + bo'lim boshiga siljish 786* 432+786= 432).
Keling, 6-sektorga o'tamiz.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Shakl. 8

Ammo ushbu sektordagi ma'lumotlar MFT yozuvidan butunlay farq qiladi. Garchi bu noto'g'ri nuqsonlar ro'yxati tufayli mumkin bo'lgan noto'g'ri tarjimani ko'rsatsa-da, bu haqiqatni isbotlamaydi. Keyinchalik tekshirish uchun biz diskni 10 000 6 sektorga nisbatan har ikki yo'nalishda 291 519 sektor bo'yicha o'qiymiz. Va keyin biz o'qiganlarimizdan muntazam iboralarni qidiramiz.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 9 Birinchi MFT yozuvi

6 291 551 sektorda biz birinchi MFT rekordini topamiz. Uning pozitsiyasi hisoblangandan 32 ta sektor bilan farq qiladi, so'ngra doimiy ravishda 16 ta yozuvdan iborat guruh (0 dan 15 gacha) keladi. Keling, 6 291 519-sektor pozitsiyasini smena jadvaliga kiritamiz va 32 sektorga oldinga siljiymiz.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Shakl. 10

16-sonli yozuvning pozitsiyasi 12 ofsetda bo'lishi kerak, ammo biz MFT yozuvi o'rniga u erda nollarni topamiz. Keling, yaqin atrofda xuddi shunday qidiruvni o'tkazaylik.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 11 MFT yozuvi 0x00000011 (17)

MFT ning katta bo'lagi aniqlangan, bu 17-sonli rekorddan boshlab, uzunligi 53 yozuvdan iborat) 646 sektorning siljishi bilan. 17-pozitsiya uchun smena jadvaliga +12 sektorni o'zgartirishni qo'ying.
MFT fragmentlarining kosmosdagi o'rnini aniqlagandan so'ng, biz bu tasodifiy nosozlik va MFT fragmentlarini noto'g'ri ofsetlarda yozib olish kabi ko'rinmaydi degan xulosaga kelishimiz mumkin. Noto'g'ri tarjimonga ega versiya tasdiqlangan deb hisoblanishi mumkin.
O'zgartirish nuqtalarini yanada lokalizatsiya qilish uchun biz maksimal mumkin bo'lgan siljishni o'rnatamiz. Buning uchun biz NTFS bo'limining so'nggi belgisi (yuklash sektorining nusxasi) qanchalik siljishini aniqlaymiz. 7-rasmda 0x28 ofsetda to'rt so'z 0x00 00 00 00 01 13 09 A2 (18 024 866) sektorlarning bo'lim o'lchami qiymatidir. Diskning boshidan uning uzunligiga bo'limning o'zi ofsetini qo'shamiz va biz NTFS end markerining ofsetini olamiz 18 024 866 + 63 = 18 024 929. Kutilganidek, yuklash sektorining kerakli nusxasi yo'q edi. Atrofni qidirganda, u oxirgi MFT fragmentiga nisbatan +12 sektorning ortib borayotgan siljishi bilan topildi.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 12 NTFS yuklash sektorining nusxasi

Biz yuklash sektorining boshqa nusxasini 18 041 006 ofsetda e'tiborsiz qoldiramiz, chunki u bizning bo'limimizga aloqador emas. Oldingi tadbirlarga asoslanib, bo'limda translyatsiyada "paydo bo'lgan" 61 ta sektor mavjud bo'lib, ular ma'lumotlarni kengaytirdi.
Biz diskni to'liq o'qishni amalga oshiramiz, bu 34 ta o'qilmagan sektorni qoldiradi. Afsuski, ularning barchasi P-ro'yxatidan olib tashlangan nuqsonlar ekanligiga ishonchli kafolat berish mumkin emas, ammo keyingi tahlilda ularning pozitsiyasini hisobga olish tavsiya etiladi, chunki ba'zi hollarda siljish nuqtalarini ishonchli aniqlash mumkin bo'ladi. fayl emas, balki sektorning aniqligi.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 13 Diskni o'qish statistikasi.

Bizning keyingi vazifamiz siljishlarning taxminiy joylarini aniqlash bo'ladi (ular sodir bo'lgan faylning aniqligiga). Buning uchun biz barcha MFT yozuvlarini skanerlaymiz va fayl joylashuvi zanjirlarini (fayl bo'laklari) quramiz.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 14 Fayllar yoki ularning qismlari joylashuv zanjiri.

Keyinchalik, fayldan faylga o'tish, biz kutilgan fayl sarlavhasi o'rniga boshqa ma'lumotlar bo'lishini qidiramiz va kerakli sarlavha ma'lum bir ijobiy siljish bilan topiladi. Va siljish nuqtalarini aniqlaganimizda, biz jadvalni to'ldiramiz. Uni to'ldirish natijasida 99% dan ortiq fayllar zarar ko'rmaydi.

Qiyinchilik yoki ma'lumotlarni qayta tiklashga urinishning uzoq tarixidan o'tish
Guruch. 15 Foydalanuvchi fayllari ro'yxati (mijozdan ushbu skrinshotni nashr qilish uchun rozilik olingan)

Alohida fayllarda nuqta siljishlarini o'rnatish uchun siz qo'shimcha ishlarni bajarishingiz mumkin va agar siz faylning tuzilishini bilsangiz, unga aloqador bo'lmagan ma'lumotlar qo'shimchalarini topishingiz mumkin. Ammo bu vazifani iqtisodiy jihatdan amalga oshirish mumkin emas edi.

P.S. Men ushbu disk ilgari qo'lida bo'lgan hamkasblarimga ham murojaat qilmoqchiman. Iltimos, biror narsani o'zgartirishdan oldin qurilmaning proshivka dasturi bilan ishlashda ehtiyot bo'ling va xizmat ma'lumotlarining zaxira nusxasini yarating va agar mijoz bilan ish bo'yicha kelisha olmagan bo'lsangiz, muammoni ataylab kuchaytirmang.

Oldingi nashr: Gugurtlarni tejash yoki silliqlash HDD Seagate ST3000NC002-1DY166 ma'lumotlarini tiklash

Manba: www.habr.com

a Izoh qo'shish