
Dlaczego możesz użyć komputera z systemem Linux lub Linux Live CD do odzyskania danych, których system Windows nie mógł?
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser — pododdziału Stack Exchange, społecznościowej grupy witryn z pytaniami i odpowiedziami.
Pytanie
Czytnik SuperUser Philip Allgaier chce wiedzieć, dlaczego był w stanie odzyskać dane za pomocą płyty Linux Live CD, która została zgłoszona jako niemożliwa do odzyskania w systemie Windows:
Tło:Na początku tego roku miałem problem z dyskiem SSD, który Windows będzie już rozpoznawał. Ale ostatecznie bootowalny Parted Magic 2012-10-10 załatwił sprawę. Zobaczrozwiązany wątek. Jedno pytanie utkwiło mi w pamięci od tego momentu…
Pytanie:Zdaję sobie sprawę, że Linux jest ogólnie nieco bardziej techniczny i surowy, ale czy ktoś może z grubsza opisać, dlaczego system Linux (a właściwie tylko ten konkretny, ponieważ Ubuntu nie poradził sobie z tym) nadal jest w stanie uzyskać dostęp/komunikować się z połową -uszkodzone urządzenie, gdy system Windows nie?
-
Czy po prostu ignorują jakiekolwiek potencjalne oznaki, że coś może być nie tak?
-
Czy są w ogóle jakieś konkretne powody?
-
Czy to tylko szczęście, że to konkretne środowisko było w stanie zmusić dysk SSD do odpowiedzi, choćby tylko przez ograniczony czas?
Chociaż z pewnością mogło to być szczęście, prawdopodobnie w grę wchodzi więcej niż kilka czynników. Zbadajmy.
Odpowiedź
Współtwórca SuperUser Eike oferuje kilka potencjalnych wyjaśnień, poza samym szczęściem, dotyczących jego zdolności do zapisywania danych:
Zwykle sprowadza się to do tego, do czego dokładnie uzyskuje się dostęp i jak dokładnie urządzenie ulega awarii. Na przykład, jeśli dany dysk SSD nie jest w stanie odzyskać, powiedzmy, sektora 5 i zacznie się zatrzymywać, gdy tylko cokolwiek odczyta sektor 5, różnica może po prostu wynikać z tego, do czego różne systemy automatycznie uzyskują dostęp po rozpoznaniu nowego dysku.
Gdy system Windows wykryje nowy dysk, odczyta tablicę partycji i automatycznie spróbuje otworzyć dowolny system plików, który potrafi odczytać. Jeśli którakolwiek ze struktur/bloków odczytywanych podczas tego procesu „montowania” spowoduje, że wadliwy dysk SSD zostanie pożegnany, różnica w tej konkretnej dystrybucji Linuksa polega po prostu na tym, że może nie montować automatycznie wszystkich danych partycji lub może, podczas montowania po prostu odczytaj inny podzbiór sektorów (implementacja NTFS w systemie Linux bardzo różni się od tej w systemie Windows — podczas gdy format na dysku jest taki sam, to od systemu operacyjnego zależy, które struktury uzna za konieczne do odczytania. Windows może odczytać wtórne kopie MFT lub może rozpocząć wstępne buforowanie niektórych danych i to może być różnica.Ubuntu jest na podobnej łodzi — nie jest nastawiony na odzyskiwanie po wyjęciu z pudełka, spróbuje zamontować każdy znaleziony system plików na nowo odkrytych nośnikach, automatycznie.Z tego powodu wyspecjalizowane dystrybucje nastawione na odzyskiwanie są lepszym zakładem, ponieważ robią tylko to, o co ich wyraźnie poprosisz, w przeciwieństwie do robienia rzeczy automatycznie.
Oczywiście, możesz po prostu mieć szczęście. Nie wiem wystarczająco dużo o trybie awarii dysku SSD, aby powiedzieć.
Linux generalnie nie ignoruje oznak, że coś jest nie tak. Otrzyma te same błędy SCSI z chipsetu SATA, co system Windows — jeśli spojrzysz na dziennik jądra, na uszkodzonym dysku zobaczysz wiele komunikatów o błędach. To, co będzie dalej, zależy od tego, jakie programy faktycznie uzyskują dostęp do dysku. Jeśli jest to oprogramowanie nastawione na odzyskiwanie, może próbować ponownie odczytać ten sam sektor ograniczoną liczbę razy, może go pominąć itp. Zwykle najlepszym rozwiązaniem jest uzyskanie obrazu dysku z jak największą liczbą sektorów odczytanych czysto, a następnie spróbuj odzyskać swoje dane z tego obrazu (wykonywanie jakiejkolwiek analizy bezpośrednio na dysku jest złym pomysłem, zwykle ponieważ jego stan może się pogorszyć i tylko dlatego, że udało Ci się coś przeczytać raz, nie oznacza to, że będziesz mógł to przeczytać ponownie .)
Współtwórca, AthonSfere, oferuje inne spojrzenie na rzeczy:
Wiele z nich to sposób, w jaki środowisko obsługuje system plików i listy ACL lub dysk twardy.
System Windows zrobi wszystko, co w jego mocy, aby przestrzegać swoich list ACL i sektorów oznaczonych jako złe lub puste. Tak więc partycje NTFS lub Fat utworzone i utrzymywane w systemie Windows, a także Windows MBR będą obsługiwane przez system Windows tak, jak to Windows oznaczył.
Ponadto, jeśli dysk ulegnie awarii, im częściej go używasz, tym bardziej prawdopodobne jest, że napotka poważny problem i środowisko ulegnie awarii. Następnie, w jaki sposób system operacyjny obsługuje, który wchodzi w grę, system Windows będzie BSOD lub ponownie się uruchomi, proces uruchamiania systemu Windows wyrzuci komunikaty MBR, komunikaty o brakującym pliku (brak NTDLR.dll lub jest uszkodzony) i zatrzyma się, ponieważ te złe pliki są wymagane.
Kiedy korzystasz z dysku na żywo, nie polegasz na tym. Zły MBR jest pomijany, ponieważ uruchamiasz komputer z dysku. Uszkodzony sektor, który uszkodził plik NTDLR.dll, nie jest potrzebny. Wszystko jest na dysku. Następnie możesz spróbować odczytać. Jeśli napotka „pusty” sektor lub zły bit, to środowisko poradzi sobie z tym tak, jak zostało to zaprogramowane. Ubuntu prawdopodobnie wolałby zachować normalne zachowanie systemu operacyjnego i kontynuować to, co najprawdopodobniej się wydarzy. Sektor jest pusty, zrób coś innego. Ten sektor jest zły, trzymaj się z daleka, nie czytaj ponownie, nie pisz, bo spowoduje to problemy.
Jednak platforma odzyskiwania będzie chciała odczytać wszystkie dane. Znaczniki pliku mówią, że plik powinien być na 0,5, 13…. jeśli system plików zgłasza brak 13, zignoruj pusty nagłówek i mimo to przeczytaj plik lub odczytaj uszkodzony sektor najlepiej jak to możliwe i spróbuj odzyskać.
Ponadto system Windows MOŻE zrobić wiele z aplikacjami innych firm, Recuva może znaleźć wiele tych „brakujących” plików, na przykład. Ale nie chcesz być w środowisku, które może zapisywać dane na dysku i powodować prawdziwą trwałą utratę.
Uprościłem to i dodałem pewną interpretację, ale powinno to wypełnić kilka pustych miejsc na to, o co prosisz.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych doświadczonych technologicznie użytkowników Stack Exchange?Sprawdź pełny wątek dyskusji tutaj.
http://superuser.com/questions/586666/why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-reasons