13Sep

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?

Today's Question &La sessione di risposta ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di Q & A basato su community.

La domanda

SuperUser reader Philip Allgaier vuole sapere perché è stato in grado di recuperare i dati con un Live CD di Linux segnalato come irrecuperabile in Windows:

Background: All'inizio dell'anno avevo un problema con un'unità SSD che Windows avrebbe riconosciutopiù.Ma alla fine un Parted Magic avviabile 2012-10-10 ha fatto il trucco. Vedi questa discussione risolta. Una domanda mi è rimasta impressa da quel momento. ..

Domanda: Sono consapevole che Linux è generalmente un po 'più tecnico e crudo, ma qualcuno può approssimativamente delineare perché un sistema Linux( o in realtà solo quello particolare, dal momento che Ubuntu non ha fattoil trucco) è in grado di accedere ancora / comunicare con un dispositivo mezzo danneggiato quando Windows non lo è?

  • Ignorano tutti i potenziali indicatori che qualcosa potrebbe essere sbagliato?

  • Ci sono dei motivi concreti?

  • Era solo fortuna che questo particolare ambiente fosse in grado di ottenere la risposta SSD se solo per un tempo limitato?

Anche se sicuramente potrebbe essere stata una fortuna, è probabile che vi siano più fattori in gioco. Indagiamo

La risposta

SuperUser contributore Eike offre alcune possibili spiegazioni, oltre alla semplice fortuna, per la sua capacità di salvare i dati:

Di solito questo dipende da cosa, esattamente, si sta accedendo e come, 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 si legge il settore 5, la differenza potrebbe essere semplicemente 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, spetta al sistema operativo quali strutture ritiene necessario leggere. Windows potrebbe leggere le copie secondarie della MFT, o potrebbe 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 trovasu supporti di recente scoperta, automaticamente. È per questo motivo che le distribuzioni specializzate orientate al recupero sono una scommessa migliore, in quanto fanno solo ciò che tu espressamente chiedi loro invece di fare le cose automaticamente

Naturalmente, tupotrebbe anche essere stato fortunato, anche. Non so abbastanza sulla modalità di guasto dell'SSD da dire.

Linux generalmente 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 vedrete molti messaggi di errore. Dipende da quali programmi stanno accedendo in maniera attiva al disco cosa succederà dopo. Se si tratta di un software orientato al recupero, potrebbe 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 di settori da leggere nel modo più pulito possibile, equindi prova a recuperare i tuoi dati da quell'immagine( fare qualsiasi analisi direttamente sull'unità è una cattiva idea di solito dato che 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.)

Il collaboratore di AthonSfere offre un altro aspetto:

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 il sistema operativo gestisce ciò che entra in gioco, Windows sarà BSOD o riavviare, 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 leggere 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 file system riporta 13 mancante, ignorare l'intestazione vuota e leggere il file in ogni caso, 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-reason