అది 2019. మా ప్రయోగశాల 9.1GB సామర్థ్యంతో QUANTUM FIREBALL Plus KA డ్రైవ్ను అందుకుంది, ఇది మన కాలానికి చాలా సాధారణం కాదు. డ్రైవ్ యజమాని ప్రకారం, విఫలమైన విద్యుత్ సరఫరా కారణంగా 2004లో వైఫల్యం సంభవించింది, ఇది హార్డ్ డ్రైవ్ మరియు ఇతర PC భాగాలను తీసుకుంది. అప్పుడు డ్రైవ్ను రిపేర్ చేయడానికి మరియు డేటాను పునరుద్ధరించడానికి ప్రయత్నించిన వివిధ సేవలకు సందర్శనలు జరిగాయి, అవి విజయవంతం కాలేదు. కొన్ని సందర్భాల్లో వారు చౌకగా ఉంటుందని వాగ్దానం చేసారు, కానీ వారు సమస్యను ఎప్పుడూ పరిష్కరించలేదు, ఇతరులలో ఇది చాలా ఖరీదైనది మరియు క్లయింట్ డేటాను పునరుద్ధరించడానికి ఇష్టపడలేదు, కానీ చివరికి డిస్క్ అనేక సేవా కేంద్రాల ద్వారా వెళ్ళింది. ఇది చాలాసార్లు పోయింది, అయితే యజమాని డ్రైవ్లోని వివిధ స్టిక్కర్ల నుండి సమాచారాన్ని రికార్డ్ చేయడానికి ముందుగానే జాగ్రత్త తీసుకున్నందుకు ధన్యవాదాలు, అతను తన హార్డ్ డ్రైవ్ కొన్ని సేవా కేంద్రాల నుండి తిరిగి వచ్చేలా చూడగలిగాడు. నడకలు ట్రేస్ లేకుండా ఉత్తీర్ణత సాధించలేదు, అసలు కంట్రోలర్ బోర్డ్లో టంకం యొక్క బహుళ జాడలు మిగిలి ఉన్నాయి మరియు SMD మూలకాల లేకపోవడం కూడా దృశ్యమానంగా భావించబడింది (ముందుకు చూస్తే, ఈ డ్రైవ్ యొక్క సమస్యలలో ఇది చాలా తక్కువ అని నేను చెబుతాను).
అన్నం. 1 HDD క్వాంటం ఫైర్బాల్ ప్లస్ KA 9,1GB
మేము చేయవలసిన మొదటి విషయం ఏమిటంటే, వర్కింగ్ కంట్రోలర్ బోర్డ్తో ఈ డ్రైవ్కు చెందిన అటువంటి పురాతన కవల సోదరుడి కోసం దాత ఆర్కైవ్లో వెతకడం. ఈ అన్వేషణ పూర్తయినప్పుడు, విస్తృతమైన రోగనిర్ధారణ చర్యలు చేపట్టడం సాధ్యమైంది. షార్ట్ సర్క్యూట్ కోసం మోటార్ వైండింగ్లను తనిఖీ చేసి, షార్ట్ సర్క్యూట్ లేదని నిర్ధారించుకున్న తర్వాత, మేము డోనర్ డ్రైవ్ నుండి రోగి డ్రైవ్కు బోర్డుని ఇన్స్టాల్ చేస్తాము. మేము శక్తిని వర్తింపజేస్తాము మరియు షాఫ్ట్ స్పిన్నింగ్ యొక్క సాధారణ ధ్వనిని వింటాము, ఫర్మ్వేర్ను లోడ్ చేయడంతో క్రమాంకనం పరీక్షలో ఉత్తీర్ణత సాధిస్తాము మరియు కొన్ని సెకన్ల తర్వాత డ్రైవ్ ఇంటర్ఫేస్ నుండి ఆదేశాలకు ప్రతిస్పందించడానికి సిద్ధంగా ఉందని రిజిస్టర్ల ద్వారా నివేదిస్తుంది.
అన్నం. 2 DRD DSC సూచికలు ఆదేశాలను స్వీకరించడానికి సంసిద్ధతను సూచిస్తాయి.
మేము ఫర్మ్వేర్ మాడ్యూల్స్ యొక్క అన్ని కాపీలను బ్యాకప్ చేస్తాము. మేము ఫర్మ్వేర్ మాడ్యూల్స్ యొక్క సమగ్రతను తనిఖీ చేస్తాము. రీడింగ్ మాడ్యూల్స్తో ఎటువంటి సమస్యలు లేవు, కానీ నివేదికల విశ్లేషణ కొన్ని విచిత్రాలు ఉన్నాయని చూపిస్తుంది.
అన్నం. 3. జోన్ పట్టిక.
మేము జోనల్ పంపిణీ పట్టికకు శ్రద్ధ చూపుతాము మరియు సిలిండర్ల సంఖ్య 13845 అని గమనించండి.
అన్నం. 4 పి-జాబితా (ప్రాధమిక జాబితా - ఉత్పత్తి చక్రంలో ప్రవేశపెట్టిన లోపాల జాబితా).
మేము చాలా తక్కువ సంఖ్యలో లోపాలు మరియు వాటి స్థానానికి దృష్టిని ఆకర్షిస్తాము. మేము ఫ్యాక్టరీ లోపాన్ని దాచిపెట్టే లాగ్ మాడ్యూల్ (60h)ని పరిశీలిస్తాము మరియు అది ఖాళీగా ఉందని మరియు ఒక్క ఎంట్రీని కలిగి లేదని గుర్తించాము. దీని ఆధారంగా, మునుపటి సేవా కేంద్రాలలో ఒకదానిలో, డ్రైవ్ యొక్క సేవా ప్రాంతంతో కొన్ని అవకతవకలు జరిగి ఉండవచ్చని మరియు అనుకోకుండా లేదా ఉద్దేశపూర్వకంగా ఒక విదేశీ మాడ్యూల్ వ్రాయబడిందని లేదా అసలైన లోపాల జాబితాను మేము ఊహించవచ్చు. ఒకటి క్లియర్ చేయబడింది. ఈ ఊహను పరీక్షించడానికి, మేము డేటా ఎక్స్ట్రాక్టర్లో "సెక్టార్-బై-సెక్టార్ కాపీని సృష్టించు" మరియు "వర్చువల్ ట్రాన్స్లేటర్ని సృష్టించు" ఎంపికలతో ఒక టాస్క్ని సృష్టిస్తాము.
అన్నం. 5 టాస్క్ పారామితులు.
టాస్క్ను సృష్టించిన తర్వాత, విభజన పట్టికలోని ఎంట్రీలను సెక్టార్ సున్నా (LBA 0)లో చూస్తాము.
అన్నం. 6 మాస్టర్ బూట్ రికార్డ్ మరియు విభజన పట్టిక.
ఆఫ్సెట్ 0x1BE వద్ద ఒకే ఎంట్రీ (16 బైట్లు) ఉంది. విభజనపై ఫైల్ సిస్టమ్ రకం NTFS, 0x3F (63) సెక్టార్ల ప్రారంభానికి ఆఫ్సెట్ చేయబడింది, విభజన పరిమాణం 0x011309A3 (18) సెక్టార్లు.
సెక్టార్ ఎడిటర్లో, LBA 63ని తెరవండి.
అన్నం. 7 NTFS బూట్ సెక్టార్
NTFS విభజన యొక్క బూట్ సెక్టార్లోని సమాచారం ప్రకారం, మేము ఈ క్రింది వాటిని చెప్పగలము: వాల్యూమ్లో ఆమోదించబడిన సెక్టార్ పరిమాణం 512 బైట్లు (పదం 0x0 (0) ఆఫ్సెట్ 0200x512B వద్ద వ్రాయబడింది), క్లస్టర్లోని సెక్టార్ల సంఖ్య 8 (బైట్ 0x0 ఆఫ్సెట్ 0x08Dలో వ్రాయబడింది), క్లస్టర్ పరిమాణం 512x8=4096 బైట్లు, మొదటి MFT రికార్డ్ డిస్క్ ప్రారంభం నుండి 6 సెక్టార్ల ఆఫ్సెట్లో ఉంది (291x519 క్వాడ్రపుల్ వర్డ్ 0x30 0 ఆఫ్సెట్ వద్ద మొదటి MFT క్లస్టర్ యొక్క 00 00C 00 00 (00) సంఖ్య. సెక్టార్ సంఖ్య ఫార్ములా ద్వారా లెక్కించబడుతుంది: క్లస్టర్ సంఖ్య * క్లస్టర్లోని సెక్టార్ల సంఖ్య + సెక్షన్ ప్రారంభానికి ఆఫ్సెట్ 0* 00+00= 786).
సెక్టార్ 6కి వెళ్దాం.
అంజీర్. 8
కానీ ఈ రంగంలో ఉన్న డేటా MFT రికార్డు నుండి పూర్తిగా భిన్నంగా ఉంటుంది. సరికాని లోపం జాబితా కారణంగా ఇది తప్పు అనువాదాన్ని సూచించినప్పటికీ, ఇది ఈ వాస్తవాన్ని నిరూపించలేదు. మరింత తనిఖీ చేయడానికి, మేము 10 సెక్టార్లకు సంబంధించి రెండు దిశలలో 000 సెక్టార్ల ద్వారా డిస్క్ను రీడ్ చేస్తాము. ఆపై మనం చదివే వాటిలో రెగ్యులర్ ఎక్స్ప్రెషన్స్ కోసం వెతుకుతాము.
అన్నం. 9 మొదటి MFT రికార్డింగ్
సెక్టార్ 6లో మేము మొదటి MFT రికార్డును కనుగొన్నాము. దాని స్థానం 291 సెక్టార్ల ద్వారా లెక్కించబడిన దాని నుండి భిన్నంగా ఉంటుంది, ఆపై 551 రికార్డుల సమూహం (32 నుండి 16 వరకు) నిరంతరం అనుసరిస్తుంది. సెక్టార్ 0 స్థానాన్ని షిఫ్ట్ టేబుల్లోకి ఎంటర్ చేసి, 15 సెక్టార్ల ద్వారా ముందుకు వెళ్దాం.
అంజీర్. 10
రికార్డ్ నంబర్ 16 యొక్క స్థానం 12 ఆఫ్సెట్లో ఉండాలి, అయితే MFT రికార్డ్కు బదులుగా సున్నాలను మేము కనుగొంటాము. చుట్టుపక్కల ప్రాంతంలో ఇదే విధమైన శోధనను నిర్వహిస్తాము.
అన్నం. 11 MFT ఎంట్రీ 0x00000011 (17)
17 సెక్టార్ల మార్పుతో 53 రికార్డుల పొడవుతో రికార్డ్ నంబర్ 646తో ప్రారంభమయ్యే MFT యొక్క పెద్ద భాగం కనుగొనబడింది. స్థానం 17 కోసం, షిఫ్ట్ టేబుల్లో +12 సెక్టార్ల షిఫ్ట్ని ఉంచండి.
అంతరిక్షంలో MFT శకలాల స్థానాన్ని నిర్ణయించిన తర్వాత, ఇది యాదృచ్ఛిక వైఫల్యం మరియు తప్పు ఆఫ్సెట్లలో MFT శకలాలు రికార్డ్ చేయడం లాగా కనిపించడం లేదని మేము నిర్ధారించగలము. సరికాని అనువాదకుడు ఉన్న సంస్కరణ ధృవీకరించబడినదిగా పరిగణించబడుతుంది.
షిఫ్ట్ పాయింట్లను మరింత స్థానికీకరించడానికి, మేము గరిష్టంగా సాధ్యమయ్యే స్థానభ్రంశం సెట్ చేస్తాము. దీన్ని చేయడానికి, NTFS విభజన యొక్క ముగింపు మార్కర్ (బూట్ సెక్టార్ యొక్క కాపీ) ఎంత మార్చబడిందో మేము నిర్ణయిస్తాము. మూర్తి 7లో, ఆఫ్సెట్ 0x28లో, క్వాడ్వర్డ్ అనేది 0x00 00 00 00 01 13 09 A2 (18) సెక్టార్ల విభజన పరిమాణం విలువ. విభజన యొక్క ఆఫ్సెట్ను డిస్క్ ప్రారంభం నుండి దాని పొడవుకు జోడిద్దాము మరియు ముగింపు NTFS మార్కర్ 024 + 866= 18 ఆఫ్సెట్ను పొందుతాము. ఊహించినట్లుగా, బూట్ సెక్టార్ యొక్క అవసరమైన కాపీ లేదు. చుట్టుపక్కల ప్రాంతాన్ని శోధిస్తున్నప్పుడు, చివరి MFT భాగానికి సంబంధించి +024 రంగాల పెరుగుతున్న మార్పుతో ఇది కనుగొనబడింది.
అన్నం. 12 NTFS బూట్ సెక్టార్ కాపీ
బూట్ సెక్టార్ యొక్క ఇతర కాపీని ఆఫ్సెట్ 18 వద్ద విస్మరిస్తాము, ఎందుకంటే ఇది మా విభజనకు సంబంధించినది కాదు. మునుపటి కార్యకలాపాల ఆధారంగా, విభాగంలో డేటాను విస్తరించిన ప్రసారంలో “పాప్ అప్” చేసిన 041 రంగాల చేరికలు ఉన్నాయని నిర్ధారించబడింది.
మేము డ్రైవ్ యొక్క పూర్తి రీడ్ను నిర్వహిస్తాము, ఇది 34 చదవని సెక్టార్లను వదిలివేస్తుంది. దురదృష్టవశాత్తు, అవన్నీ పి-జాబితా నుండి తొలగించబడిన లోపాలు అని విశ్వసనీయంగా హామీ ఇవ్వడం అసాధ్యం, అయితే తదుపరి విశ్లేషణలో వారి స్థానాన్ని పరిగణనలోకి తీసుకోవడం మంచిది, ఎందుకంటే కొన్ని సందర్భాల్లో షిఫ్ట్ పాయింట్లను విశ్వసనీయంగా నిర్ణయించడం సాధ్యమవుతుంది. సెక్టార్ యొక్క ఖచ్చితత్వం, మరియు ఫైల్ కాదు.
అన్నం. 13 డిస్క్ రీడింగ్ గణాంకాలు.
మా తదుపరి పని షిఫ్ట్ల యొక్క సుమారు స్థానాలను (అవి సంభవించిన ఫైల్ యొక్క ఖచ్చితత్వానికి) ఏర్పాటు చేయడం. దీన్ని చేయడానికి, మేము అన్ని MFT రికార్డులను స్కాన్ చేస్తాము మరియు ఫైల్ స్థానాల గొలుసులను (ఫైల్ శకలాలు) నిర్మిస్తాము.
అన్నం. 14 ఫైల్లు లేదా వాటి శకలాల స్థాన గొలుసులు.
తరువాత, ఫైల్ నుండి ఫైల్కు వెళ్లడం, మేము ఆశించిన ఫైల్ హెడర్కు బదులుగా ఇతర డేటా ఉండే క్షణం కోసం చూస్తాము మరియు కావలసిన హెడర్ నిర్దిష్ట సానుకూల మార్పుతో కనుగొనబడుతుంది. మరియు మేము షిఫ్ట్ పాయింట్లను మెరుగుపరుస్తాము, మేము పట్టికను పూరించాము. దీన్ని పూరించడం వల్ల 99% పైగా ఫైల్లు పాడవకుండా ఉంటాయి.
అన్నం. 15 వినియోగదారు ఫైల్ల జాబితా (ఈ స్క్రీన్షాట్ను ప్రచురించడానికి క్లయింట్ నుండి సమ్మతి పొందబడింది)
వ్యక్తిగత ఫైల్లలో పాయింట్ షిఫ్ట్లను ఏర్పాటు చేయడానికి, మీరు అదనపు పనిని నిర్వహించవచ్చు మరియు ఫైల్ యొక్క నిర్మాణం మీకు తెలిస్తే, దానికి సంబంధించిన డేటా యొక్క చేరికలను కనుగొనండి. కానీ ఈ పనిలో అది ఆర్థికంగా సాధ్యపడలేదు.
PS నేను నా సహోద్యోగులను కూడా ప్రసంగించాలనుకుంటున్నాను, ఈ డిస్క్ గతంలో ఎవరి చేతుల్లో ఉంది. దయచేసి పరికర ఫర్మ్వేర్తో పని చేస్తున్నప్పుడు జాగ్రత్తగా ఉండండి మరియు ఏదైనా మార్చడానికి ముందు సేవా డేటాను బ్యాకప్ చేయండి మరియు మీరు పనిలో క్లయింట్తో ఏకీభవించలేకపోతే ఉద్దేశపూర్వకంగా సమస్యను తీవ్రతరం చేయవద్దు.
మూలం: www.habr.com