Dlaczego jest tak, że 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 jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Pytanie
Czytnik SuperUser Philip Allgaier chce wiedzieć, dlaczego udało mu się 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: Wcześniej w tym roku miałem problem z dyskiem SSD, który Windows już by rozpoznał. Ale ostatecznie udało się uruchomić Parted Magic 2012-10-10. Zobacz rozwiązany wątek . Jedno pytanie utkwiło mi w pamięci od tego momentu…
Pytanie: Zdaję sobie sprawę, że Linux jest generalnie nieco bardziej techniczny i surowy, ale czy ktoś może z grubsza zarysować, dlaczego system Linux (a właściwie tylko ten konkretny, ponieważ Ubuntu nie załatwił sprawy) jest w stanie nadal uzyskiwać dostęp / komunikować się z połową -zepsute urządzenie, gdy Windows nie jest?
-
Czy po prostu ignorują potencjalne oznaki, że coś może być nie tak?
-
Czy są jakieś konkretne powody?
-
Czy to tylko szczęście, że w tym konkretnym środowisku dysk SSD reagował, choćby przez ograniczony czas?
Chociaż z pewnością mogło to być szczęście, w grę wchodzi prawdopodobnie więcej niż kilka czynników. Zbadajmy.
Odpowiedź
Współpracownik SuperUser Eike oferuje kilka potencjalnych wyjaśnień, poza zwykłym szczęściem, dla 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 zawodzi. Na przykład, jeśli dysk SSD nie jest w stanie pobrać, powiedzmy, sektora 5 i zacznie się blokować, 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 Windows wykryje nowy dysk, odczyta tablicę partycji i automatycznie spróbuje otworzyć wszystkie systemy plików, które umie odczytać. Jeśli którakolwiek ze struktur / bloków odczytywanych podczas tego procesu „montowania” spowoduje, że uszkodzony dysk SSD przestanie działać, różnica w tej konkretnej dystrybucji Linuksa polega po prostu na tym, że nie może ona automatycznie montować wszystkich partycji, o których mowa, podczas montowania wystarczy odczytać inny podzbiór sektorów (implementacja NTFS w Linuksie bardzo różni się od tej w 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 mediach, automatycznie. Z tego powodu wyspecjalizowane dystrybucje nastawione na odzyskiwanie są lepszym rozwiązaniem, ponieważ robią tylko to, o co ich wyraźnie poprosisz, a nie robią rzeczy automatycznie.
Oczywiście możesz też po prostu mieć szczęście. Nie wiem wystarczająco dużo o trybie awarii dysku SSD.
Linux generalnie nie ignoruje wskaźników, że coś jest nie tak. Otrzyma te same błędy SCSI z chipsetu SATA, co Windows - jeśli spojrzysz na dziennik jądra, na uszkodzonym dysku zobaczysz wiele komunikatów o błędach. Zależy to od tego, jakie programy aktualnie uzyskują dostęp do dysku, co będzie dalej. 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. Zazwyczaj najlepszym rozwiązaniem jest uzyskanie obrazu dysku z jak największą liczbą sektorów odczytanych w sposób czytelny i następnie spróbuj odzyskać dane z tego obrazu (przeprowadzanie jakiejkolwiek analizy bezpośrednio na dysku jest zwykle złym pomysłem, ponieważ jego stan może się pogorszyć i tylko dlatego, że byłeś w stanie coś odczytać raz, nie oznacza to, że będziesz mógł to przeczytać ponownie .)
Współpracownik, AthonSfere, przedstawia inne podejście do rzeczy:
Wiele z nich dotyczy sposobu, w jaki środowisko obsługuje system plików, listy ACL lub dysk twardy.
System Windows zrobi wszystko, co w jego mocy, aby przestrzegać swoich list ACL i sektorów oznaczonych jako uszkodzone lub puste. Tak więc partycje NTFS lub Fat utworzone i utrzymywane w systemie Windows, a także MBR systemu Windows będą obsługiwane przez system Windows tak, jak oznaczył je system Windows.
Ponadto, jeśli dysk ulega awarii, im częściej go używasz, tym większe jest prawdopodobieństwo, że napotka poważny problem, a środowisko ulegnie awarii. Następnie, jak system operacyjny obsługuje, który wchodzi do gry, system Windows będzie BSOD lub uruchomi się ponownie, proces rozruchu systemu Windows wyśle komunikaty MBR, komunikaty o brakujących plikach (brakuje NTDLR.dll lub jest uszkodzony) i zatrzyma się, ponieważ te złe pliki są wymagane.
Kiedy używasz aktywnego dysku, nie polegasz na żadnym z nich. Zły MBR jest pomijany, ponieważ uruchamiasz się z dysku. Nie jest potrzebny uszkodzony sektor, który spowodował uszkodzenie pliku NTDLR.dll. Wszystko jest na dysku. Następnie możesz spróbować przeczytać. Jeśli napotka „pusty” sektor lub zły bit, to środowisko obsługuje go tak, jak zostało zaprogramowane. Ubuntu prawdopodobnie wolałby raczej 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 na pilniku wskazują, że plik powinien być na 0,5, 13…. jeśli brakuje raportów 13 systemu plików, zignoruj pusty nagłówek i mimo to przeczytaj plik lub przeczytaj uszkodzony sektor najlepiej, jak to możliwe i spróbuj odzyskać.
Ponadto system Windows MOŻE wiele tego zrobić z aplikacjami innych firm, Recuva może znaleźć wiele „brakujących” plików, na przykład. Ale nie chcesz przebywać w środowisku, które może zapisywać na dysku i spowodować prawdziwą trwałą utratę.
Uprościłem to i dodałem pewną interpretację, ale powinno to wypełnić puste miejsca na to, o co prosisz.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .
http://superuser.com/questions/586666/why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-reasons