If-Koubou

Защо Linux системите понякога възстановяват данните Windows не може?

Защо Linux системите понякога възстановяват данните Windows не може? (Как да)


Защо можете да използвате компютър с Linux или Linux Live CD, за да възстановите данни Windows не можа?

Днешната сесия за въпроси и отговори ни идва с любезното съдействие на SuperUser - подразделение на Stack Exchange - обединяване на уеб сайтове с въпроси и отговори.

Въпроса

Четецът на SuperUser Philip Allgaier иска да разбере защо е успял да възстанови данните си с Linux Live CD, който е бил обявен за невъзстановен в Windows:

Заден план: По-рано тази година имах проблем със SSD устройството, което вече ще разпознае Windows. Но в крайна сметка стартирала стартирана Parted Magic 2012-10-10. Вижте тази решена тема. Един въпрос остана с мен от този момент ...

Въпрос: Аз съм наясно, че Linux обикновено е малко по-технически и суров, но може ли някой да очертае грубо защо една Linux система (или всъщност само тази, тъй като Ubuntu не е направила този трик) е в състояние да достъпи / комуникира с половината - неправилно устройство, когато Windows не е?

  • Дали те просто игнорират потенциалните индикатори, че нещо не е наред?

  • Има ли някакви конкретни причини?

  • Беше ли просто късмет, че тази конкретна среда е в състояние да получи SSD за отговор, само ако за ограничен период от време?

Макар че със сигурност можеше да има късмет, в играта вероятно има повече от няколко фактора. Нека да разследваме.

Отговорът

Сътрудникът на SuperUser Eike предлага някои потенциални обяснения, освен късмет, за способността му да запазва данните:

Обикновено това се свежда до това докъде точно се достига и как точно устройството се проваля. Например, ако въпросният SSD не е в състояние да извлече, да речем, сектор 5 и ще започне да блокира, веднага щом нещо прочете сектор 5, разликата може да се дължи просто на това, какви системи имат достъп автоматично след като разпознаят нов диск.

Когато Windows открие нов диск, той ще прочете таблицата на дяловете и автоматично ще се опита да отвори файловата система, която знае как да чете. Ако някоя от структурите / блоковете, които се четат по време на "монтажния" процес, задейства вашият SSD, за да отиде bye, разликата с това специфично разпределение на Linux е просто, че не може автоматично да се монтират всички въпросни дялове, когато монтирате, просто прочетете различни подгрупи от сектори (внедряването на NTFS в Linux е много различно от това в Windows - докато форматът на диска е еднакъв, зависи от операционната система кои структури счита за необходими за четене. Windows може да чете вторични копия на MFT или може да започне да пречупва някои данни и това може да е разликата. Ubuntu е на подобна лодка - не е насочена към възстановяване от кутията, ще се опита да монтира всяка файлова система, която намира на новооткритите медии, автоматично.За тази цел специализираните дистрибуции, насочени към възстановяване, са по-добър залог, тъй като те правят само онова, което изрично ги питате, за разлика от това да правят нещата автоматично.

Разбира се, може би просто сте имали късмет. Аз не знам достатъчно за режима на повреда на SSD да кажа.

Linux обикновено не пренебрегва индикаторите, че нещо не е наред. Тя ще получи едни и същи SCSI грешки от SATA чипсет, както Windows ще - ако погледнете в дневника на ядрото, на дефектен диск ще видите много съобщения за грешка. Това зависи от това, какви програми имат активен достъп до диска, какво ще се случи по-нататък. Ако това е софтуер, насочен към възстановяване, той може да се опита да препрочете същия сектор ограничен брой пъти, може да го пропусне и т.н. Обикновено най-добрият вариант е да получите изображение на устройството с толкова много сектори, след това се опитайте да възстановите данните си от това изображение (правилният анализ директно на устройството е лоша идея, обикновено, тъй като състоянието му може да се влоши и само защото сте успели да прочетете нещо веднъж, това не означава, че ще можете да го прочетете отново .)

Друг сътрудник AthonSfere, предлага още едно нещо:

Много от тях са начините, по които околната среда се справя с файловата система, ACL или твърдия диск.

Windows ще направи всичко по силите си, за да се подчинява на своите ACL и секторите, маркирани като лоши или празни. Така че NTFS или Fat дялове, създадени и поддържани в Windows, както и Windows MBRs, ще бъдат обработвани от Windows като Windows го означават.

Също така, ако устройството се провали, колкото повече го използвате, толкова по-вероятно е да срещнете сериозен проблем и околната среда ще се срине. Тогава как се работи OS, която влиза в игра, Windows ще BSOD или рестартиране, процесът на зареждане на Windows ще хвърли MBR съобщения, липсващи файлови съобщения (NTDLR.dll липсва или е повреден) и да спре, защото тези лоши файлове са задължителни.

Когато използвате диск на живо, вие не разчитате на това. Лошо MBR е заобиколено, защото зареждате диска. Лош сектор, който поврежда NTDLR.dll, не е необходим. Всичко е на диска. След това можете да опитате да прочетете. Ако срещне "празен" сектор или лош бит, тази среда го третира, но е програмирана да го направи. Убунту вероятно ще запази нормалното поведение на операционната система и ще продължи с това, което най-вероятно ще се случи. Секторът е празен, правете нещо друго. Този сектор е лош, стойте далеч, не четете отново, не пишете, или ще предизвикате проблеми.

Една платформа за възстановяване обаче ще иска да прочете всички данни. Файловите маркери казват, че файлът трябва да е на 0,5, 13 .... ако отчетните файлове за файловата система 13 липсват, игнорирайте празното заглавие и прочетете файла така или иначе прочетете лошия сектор възможно най-добре и се опитайте да го възстановите.

Също така, Windows може да направи много от това с приложения от трети страни, Recuva може да намери много от тези "липсващи" файлове за една. Но не искате да сте в среда, която може да пише на диска и да причини истинска трайна загуба.

Опростих това и добавих някакво тълкуване, но би трябвало да попълните някои празни места за това, което питате.

Имате ли нещо, което да добавите към обяснението? Звучи в коментарите. Искате ли да прочетете повече отговори от други потребители на Stack Exchange? Вижте цялата тема на дискусията тук.

http://superuser.com/questions/586666/why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-reasons