Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati

Era il 2019. Il nostro laboratorio ha ricevuto un'unità QUANTUM FIREBALL Plus KA con una capacità di 9.1 GB, cosa non del tutto comune per i nostri tempi. Secondo il proprietario del drive, il guasto si è verificato nel 2004 a causa di un guasto all'alimentazione elettrica, che ha portato con sé il disco rigido e altri componenti del PC. Poi ci sono state visite a vari servizi con tentativi di riparare l'unità e ripristinare i dati, senza successo. In alcuni casi avevano promesso che sarebbe stato economico, ma non hanno mai risolto il problema, in altri era troppo costoso e il cliente non voleva ripristinare i dati, ma alla fine il disco è passato per molti centri di assistenza. È andato perso più volte, ma grazie al fatto che il proprietario si è occupato di registrare in anticipo le informazioni dai vari adesivi sull'unità, è riuscito a garantire che il suo disco rigido fosse restituito da alcuni centri di assistenza. Le passeggiate non sono passate senza lasciare traccia, sono rimaste più tracce di saldatura sulla scheda controller originale e anche visivamente si è avvertita la mancanza di elementi SMD (guardando al futuro, dirò che questo è l'ultimo dei problemi di questa unità).

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 1 disco fisso Quantum Fireball Plus KA 9,1 GB

La prima cosa che abbiamo dovuto fare è stata cercare nell'archivio dei donatori un fratello gemello così antico di questo motore con una scheda controller funzionante. Una volta completata questa ricerca, è stato possibile effettuare misure diagnostiche estese. Dopo aver controllato la presenza di un cortocircuito negli avvolgimenti del motore e accertandoci che non vi sia cortocircuito, installiamo la scheda dall'azionamento del donatore all'azionamento del paziente. Diamo alimentazione e sentiamo il normale suono dell'albero che gira, superando un test di calibrazione con caricamento del firmware, e dopo pochi secondi l'unità segnala tramite registri che è pronta a rispondere ai comandi dall'interfaccia.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 2 DRD Gli indicatori DSC indicano la disponibilità a ricevere comandi.

Eseguiamo il backup di tutte le copie dei moduli firmware. Controlliamo l'integrità dei moduli firmware. Non ci sono problemi con la lettura dei moduli, ma l'analisi delle relazioni mostra che ci sono alcune stranezze.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 3. Tabella delle zone.

Prestiamo attenzione alla tabella di distribuzione zonale e notiamo che il numero di cilindri è 13845.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 4 P-list (lista primaria – elenco dei difetti introdotti durante il ciclo produttivo).

Richiamiamo l'attenzione sul numero troppo piccolo di difetti e sulla loro ubicazione. Esaminiamo il modulo di registro che nasconde i difetti di fabbrica (60h) e scopriamo che è vuoto e non contiene una singola voce. Sulla base di ciò, possiamo supporre che in uno dei precedenti centri di assistenza siano state effettuate alcune manipolazioni nell'area di servizio dell'unità e che accidentalmente o intenzionalmente sia stato scritto un modulo estraneo o l'elenco dei difetti nell'originale uno è stato cancellato. Per verificare questo presupposto, creiamo un'attività in Data Extractor con le opzioni "crea copia settore per settore" e "crea traduttore virtuale" abilitate.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 5 Parametri dell'attività.

Dopo aver creato l'attività, esaminiamo le voci nella tabella delle partizioni nel settore zero (LBA 0)

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 6 Record di avvio principale e tabella delle partizioni.

All'offset 0x1BE c'è una singola voce (16 byte). Il tipo di file system sulla partizione è NTFS, offset all'inizio di 0x3F (63) settori, dimensione della partizione 0x011309A3 (18) settori.
Nell'editor di settore, aprire LBA 63.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 7 Settore di avvio NTFS

Secondo le informazioni nel settore di avvio della partizione NTFS, possiamo dire quanto segue: la dimensione del settore accettata nel volume è 512 byte (la parola 0x0 (0) è scritta con offset 0200x512B), il numero di settori nel cluster è 8 (il byte 0x0 è scritto all'offset 0x08D), la dimensione del cluster è 512x8=4096 byte, il primo record MFT si trova ad un offset di 6 settori dall'inizio del disco (ad un offset di 291x519 parola quadrupla 0x30 0 00 00 00 00C 00 0 (00) numero del primo cluster MFT. Il numero del settore è calcolato con la formula: numero del cluster * numero di settori nel cluster + offset all'inizio della sezione 00* 786+432= 786).
Passiamo al settore 6.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Fig. 8

Ma i dati contenuti in questo settore sono completamente diversi da quelli della MFT. Sebbene ciò indichi una possibile traduzione errata a causa di un elenco errato dei difetti, non dimostra questo fatto. Per un ulteriore controllo, leggeremo il disco per 10 settori in entrambe le direzioni rispetto a 000 settori. E poi cercheremo le espressioni regolari in ciò che leggiamo.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 9 Prima registrazione MFT

Nel settore 6 troviamo il primo record MFT. La sua posizione differisce da quella calcolata di 291 settori, a cui segue continuamente un gruppo di 551 record (da 32 a 16). Inseriamo la posizione del settore 0 nella tabella dei turni e andiamo avanti di 15 settori.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Fig. 10

La posizione del record n. 16 dovrebbe essere all'offset 12, ma lì troviamo degli zeri invece del record MFT. Conduciamo una ricerca simile nell'area circostante.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 11 Voce MFT 0x00000011 (17)

Viene rilevato un grande frammento di MFT, a partire dal record numero 17 con una lunghezza di 53 record) con uno spostamento di 646 settori. Per la posizione 17, inserire uno spostamento di +12 settori nella tabella degli spostamenti.
Avendo determinato la posizione dei frammenti MFT nello spazio, possiamo concludere che ciò non sembra un guasto casuale e la registrazione dei frammenti MFT con offset errati. Una versione con traduttore errato può essere considerata confermata.
Per localizzare ulteriormente i punti di spostamento, imposteremo lo spostamento massimo possibile. Per fare ciò, determiniamo quanto viene spostato l'indicatore di fine della partizione NTFS (copia del settore di avvio). Nella Figura 7, all'offset 0x28, la quadword è il valore della dimensione della partizione dei settori 0x00 00 00 00 01 13 09 A2 (18). Sommando l'offset della partizione stessa dall'inizio del disco alla sua lunghezza, otteniamo l'offset del marcatore NTFS finale 024 + 866= 18 Come previsto, la copia richiesta del settore di avvio non era presente. Durante la ricerca nell'area circostante, è stato trovato con uno spostamento crescente di +024 settori rispetto all'ultimo frammento MFT.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 12 Copia del settore di avvio NTFS

Ignoriamo l'altra copia del settore di avvio all'offset 18, poiché non è correlata alla nostra partizione. Sulla base delle attività precedenti, è stato stabilito che all'interno della sezione sono inclusi 041 settori che sono “apparsi” nella trasmissione, il che ha ampliato i dati.
Eseguiamo una lettura completa dell'unità, che lascia 34 settori non letti. Sfortunatamente, è impossibile garantire in modo affidabile che tutti siano difetti rimossi dalla lista P, ma in un'ulteriore analisi è consigliabile tenere conto della loro posizione, poiché in alcuni casi sarà possibile determinare in modo affidabile i punti di spostamento con una precisione del settore e non del file.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 13 Statistiche di lettura del disco.

Il nostro prossimo compito sarà quello di stabilire le posizioni approssimative degli spostamenti (secondo la precisione del file in cui si sono verificati). Per fare ciò, eseguiremo la scansione di tutti i record MFT e creeremo catene di posizioni dei file (frammenti di file).

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 14 Catene di localizzazione dei file o dei loro frammenti.

Successivamente, passando da un file all'altro, cerchiamo il momento in cui ci saranno altri dati invece dell'intestazione del file prevista e l'intestazione desiderata verrà trovata con un certo spostamento positivo. E mentre perfezioniamo i punti di spostamento, compiliamo la tabella. Il risultato del suo riempimento sarà di oltre il 99% dei file senza danni.

Attraversare l'agonia o la lunga storia di un tentativo di recupero dei dati
Riso. 15 Elenco dei file utente (è stato ricevuto il consenso dal cliente per pubblicare questo screenshot)

Per stabilire spostamenti di punto nei singoli file, puoi svolgere lavoro aggiuntivo e, se conosci la struttura del file, trovare inclusioni di dati che non sono correlati ad esso. Ma questo compito non era economicamente fattibile.

PS Vorrei rivolgermi anche ai miei colleghi, nelle cui mani era in precedenza questo disco. Si prega di prestare attenzione quando si lavora con il firmware del dispositivo e di eseguire il backup dei dati del servizio prima di modificare qualsiasi cosa e di non aggravare deliberatamente il problema se non si è riusciti a concordare il lavoro con il cliente.

Pubblicazione precedente: Salvataggio delle partite o recupero dei dati da un HDD di macinazione Seagate ST3000NC002-1DY166

Fonte: habr.com

Aggiungi un commento