Perché i sistemi Linux possono talvolta recuperare dati Windows no?
Perché è possibile utilizzare un computer basato su Linux o Linux Live CD per recuperare i dati che Windows non ha potuto?
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
La domanda
Il lettore SuperUser Philip Allgaier vuole sapere perché è stato in grado di recuperare i dati con un Live CD di Linux segnalato come irrecuperabile in Windows:
Sfondo: All'inizio di quest'anno ho avuto un problema con un drive SSD che Windows riconoscerebbe più. Ma alla fine un Parted Magic avviabile 2012-10-10 ha fatto il trucco. Vedi questa discussione risolta. Una domanda mi è rimasta da quel momento ...
Domanda: Sono consapevole del fatto che Linux è generalmente un po 'più tecnico e crudo, ma qualcuno può definire approssimativamente perché un sistema Linux (o in realtà solo quello particolare, dal momento che Ubuntu non ha fatto il trucco) è ancora in grado di accedere / comunicare a metà - dispositivo corrotto quando Windows non lo è?
-
Ignorano semplicemente qualsiasi potenziale indicatore che qualcosa potrebbe essere sbagliato?
-
Ci sono dei motivi concreti?
-
È stata solo fortuna che questo particolare ambiente è stato in grado di ottenere la risposta SSD se solo per un tempo limitato?
Mentre certamente potrebbe essere stata fortuna, è probabile che ci siano più di pochi fattori in gioco. Indagiamo.
La risposta
Contributo SuperUser Eike offre alcune spiegazioni potenziali, oltre alla semplice fortuna, per la sua capacità di salvare i dati:
Di solito questo dipende da cosa, esattamente, si sta accedendo e in che modo, esattamente, il dispositivo sta fallendo. Ad esempio, se l'SSD in questione non è in grado di recuperare, ad esempio, il settore 5 e inizierà lo stallo non appena tutto ciò che legge il settore 5, la differenza potrebbe essere dovuta a ciò che i diversi sistemi accedono automaticamente una volta riconosciuto un nuovo disco.
Quando Windows rileva un nuovo disco, legge la tabella delle partizioni e tenta automaticamente di aprire qualsiasi filesystem che sa leggere. Se una qualsiasi delle strutture / blocchi da leggere durante questo processo di "montaggio" fa sì che il tuo SSD guasto vada via, la differenza con quella specifica distribuzione di Linux è semplicemente che non può montare automaticamente tutte le partizioni in questione, o potrebbe, durante il montaggio, è sufficiente leggere un diverso sottoinsieme di settori (l'implementazione di NTFS in Linux è molto diversa da quella di Windows - mentre il formato su disco è lo stesso, dipende dal sistema operativo le strutture che ritiene necessarie da leggere. Windows può leggere le copie secondarie della MFT, o può iniziare a precaricare alcuni dati e questa potrebbe essere la differenza: Ubuntu si trova in una barca simile - non è orientato verso il ripristino, proverà a montare qualsiasi filesystem che trova su supporti appena scoperti, automaticamente. È per questo motivo che le distribuzioni specializzate orientate al recupero sono una scommessa migliore, poiché fanno solo ciò che gli chiedi esplicitamente di fare piuttosto che fare cose automaticamente.
Certo, potresti anche essere stato fortunato. Non so abbastanza sulla modalità di errore dell'SSD da dire.
In genere, Linux non ignora gli indicatori che qualcosa non va. Riceverà gli stessi errori SCSI dal chipset SATA come Windows - se si guarda il log del kernel, su un disco difettoso si vedranno molti messaggi di errore. Dipende da quali programmi stanno accedendo in maniera attiva al disco cosa succederà dopo. Se è un software orientato al recupero, può provare a rileggere lo stesso settore un numero limitato di volte, potrebbe saltarlo, ecc. Di solito la soluzione migliore è ottenere un'immagine del disco con il maggior numero possibile di settori letti nel modo più semplice possibile, e quindi prova a recuperare i tuoi dati da quell'immagine (fare un'analisi direttamente sull'unità è una cattiva idea di solito poiché le sue condizioni potrebbero peggiorare e solo perché sei riuscito a leggere qualcosa una volta, questo non significa che sarai in grado di leggerlo di nuovo .)
La collega, AthonSfere, offre un altro punto di vista:
Molto è il modo in cui l'ambiente gestisce il file system e gli ACL o il disco rigido.
Windows farà tutto il possibile per obbedire agli ACL e ai settori contrassegnati come danneggiati o vuoti. Quindi le partizioni NTFS o Fat create e mantenute in Windows e gli MBR di Windows verranno gestiti da Windows come indicato da Windows.
Inoltre, se l'unità non funziona, più la si utilizza più è probabile che si verifichi un problema grave e l'ambiente si bloccherà. Quindi come funziona il sistema operativo che entra in gioco, Windows sarà BSOD o riavvio, il processo di avvio di Windows invierà messaggi MBR, i messaggi di file mancanti (NTDLR.dll è mancante o danneggiato) e si fermerà, perché questi file danneggiati sono obbligatori.
Quando si utilizza un disco live, non si sta facendo affidamento su nulla del genere. Un MBR errato viene ignorato perché si avvia il disco. Un settore danneggiato che ha danneggiato NTDLR.dll non è necessario. Tutto è sul disco. È quindi possibile tentare una lettura. Se incontra un settore 'vuoto' o un bit negativo, quell'ambiente lo gestisce comunque è stato programmato. Probabilmente Ubuntu preferirebbe mantenere normali comportamenti del sistema operativo e continuare con ciò che è più probabile che accada. Il settore è vuoto, fai qualcos'altro. Quel settore è brutto, stai lontano, non leggi di nuovo non scrivere o causerà problemi.
Tuttavia, una piattaforma di recupero vorrà leggere tutti i dati. I marcatori di file dicono che il file dovrebbe essere su 0,5, 13 .... se il filesystem riporta 13 mancante, ignorare l'intestazione vuota e leggere il file comunque, oppure leggere il settore danneggiato nel miglior modo possibile e provare a recuperare.
Inoltre, Windows può fare molto di questo con applicazioni di terze parti, Recuva può trovare un sacco di questi file "mancanti", per uno. Ma tu non vuoi essere in un ambiente che potrebbe scrivere di nuovo sul disco e causare una vera perdita permanente.
L'ho semplificato, aggiungendo qualche interpretazione, ma dovrebbe riempire alcuni spazi vuoti per quello che stai chiedendo.
Hai qualcosa da aggiungere alla spiegazione? Sound off nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.
http://superuser.com/questions/586666/why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-reasons