Čím to je, že můžete k obnovení dat použít počítač se systémem Linux nebo Linux Live CD?
Dnešní relace Otázky a odpovědi k nám přichází s laskavým svolením SuperUser - členění Stack Exchange, komunitního seskupení webů otázek a odpovědí.
Otázka
Čtenář SuperUser Philip Allgaier chce vědět, proč dokázal obnovit data pomocí disku Linux Live CD, který byl ve Windows označen jako neobnovitelný:
Pozadí: Začátkem tohoto roku jsem měl problém s jednotkou SSD, kterou by Windows už rozpoznalo. Nakonec to ale udělal bootovací Parted Magic 2012-10-10. Viz vyřešené vlákno . Od té chvíle se na mě vrhla jedna otázka ...
Otázka: Jsem si vědom, že Linux je obecně trochu techničtější a syrovější, ale může někdo zhruba nastínit, proč je systém Linux (nebo ve skutečnosti pouze ten konkrétní, protože Ubuntu tento trik nedělal) schopen stále přistupovat / komunikovat s polovinou - poškozené zařízení, když Windows není?
-
Ignorují jen nějaké potenciální indikátory, že se něco může stát špatně?
-
Existují vůbec nějaké konkrétní důvody?
-
Bylo to jen štěstí, že toto konkrétní prostředí dokázalo přimět SSD reagovat, i když jen na omezenou dobu?
I když to určitě mohlo být štěstí, ve hře je pravděpodobně více než několik faktorů. Pojďme to prozkoumat.
Odpověď
Přispěvatel SuperUser Eike nabízí několik potenciálních vysvětlení, kromě štěstí, pro jeho schopnost ukládat data:
Obvykle se jedná o to, k čemu se přesně přistupuje a jak přesně zařízení selhává. Například pokud dotyčný SSD není schopen načíst, řekněme, sektor 5 a začne se zastavovat, jakmile cokoli přečte sektor 5, rozdíl může být jednoduše způsoben tím, k čemu různé systémy automaticky přistupují, jakmile rozpoznají nový disk.
Když Windows zjistí nový disk, přečte tabulku oddílů a automaticky se pokusí otevřít všechny souborové systémy, které umí číst. Pokud některá ze struktur / bloků čtených během tohoto „připojovacího“ procesu spouští váš vadný disk SSD sbohem, rozdíl v konkrétní distribuci linuxu spočívá v tom, že nemusí automaticky připojit všechny příslušné oddíly, nebo může, při připojování jednoduše načtěte jinou podmnožinu sektorů (implementace NTFS v Linuxu je velmi odlišná od implementace ve Windows - zatímco formát na disku je stejný, je na operačním systému, který považuje za nezbytný ke čtení. Windows mohou číst sekundární kopie MFT nebo mohou začít předběžně načítat některá data, což by mohl být rozdíl. Ubuntu je na podobné lodi - není zaměřen na obnovení z krabice, pokusí se připojit jakýkoli souborový systém, který najde na nově objevených médiích automaticky. Z tohoto důvodu jsou specializované distribuce zaměřené na zotavení lepší sázkou, protože dělají pouze to, co od nich výslovně požadujete, na rozdíl od toho, aby dělali věci automaticky.
Samozřejmě jste možná měli také štěstí. Nevím dost o tom, abych řekl poruchový režim SSD.
Linux obecně neignoruje indikátory, že něco není v pořádku. Z čipové sady SATA bude dostávat stejné chyby SCSI jako Windows - pokud se podíváte do protokolu jádra, na vadném disku uvidíte spoustu chybových zpráv. Co se stane dál, záleží na tom, jaké programy aktuálně přistupují k disku. Pokud jde o software zaměřený na zotavení, může se pokusit omezený počet opakování přečíst stejný sektor, může jej přeskočit atd. Obvykle je nejlepší získat obraz jednotky s co nejčistším přečtením sektorů a zkuste z tohoto obrázku obnovit svá data (provádět jakoukoli analýzu přímo na disku je obvykle špatný nápad, protože její stav se může zhoršit a to, že jste něco dokázali přečíst jednou, neznamená, že to budete moci přečíst znovu .)
Spoluautor AthonSfere nabízí další pohled na věci:
Hodně z toho je způsob, jakým prostředí zpracovává souborový systém a seznamy ACL nebo pevný disk.
Systém Windows udělá vše pro to, aby vyhověl svým ACL a sektorům označeným jako špatné nebo prázdné. Takže oddíly NTFS nebo Fat vytvořené a udržované ve Windows i MBR Windows budou zpracovány Windows tak, jak to Windows označilo.
Pokud jednotka selhává, čím více ji používáte, tím je pravděpodobnější, že narazí na zásadní problém a dojde k selhání prostředí. Poté, co operační systém zachází s tím, co přijde do hry, systém Windows BSOD nebo restartuje, proces spouštění systému Windows vyhodí zprávy MBR, zprávy o chybějících souborech (NTDLR.dll chybí nebo je poškozený) a zastaví se, protože tyto špatné soubory jsou vyžadovány.
Když používáte živý disk, nespoléháte se na nic z toho. Špatný MBR je obejit, protože bootujete z disku. Špatný sektor, který poškodil NTDLR.dll, není nutný. Všechno je na disku. Poté se můžete pokusit o čtení. Pokud narazí na „prázdný“ sektor nebo špatný bit, toto prostředí to zvládne, jakkoli bylo naprogramováno. Ubuntu by pravděpodobně raději udržovalo normální chování operačního systému a pokračovalo v tom, co se s největší pravděpodobností stane. Sektor je prázdný, udělejte něco jiného. Ten sektor je špatný, drž se dál, nečti znovu, nepiš, jinak to způsobí problémy.
Platforma pro obnovení však bude chtít číst všechna data. Značky pilníku říkají, že pilník by měl být na 0,5, 13…. pokud hlášení souborového systému 13 chybí, ignorujte prázdnou hlavičku a přečtěte si soubor stejně, nebo přečtěte vadný sektor, jak nejlépe umí, a zkuste se zotavit.
Windows to také dokáže hodně s aplikacemi třetích stran, Recuva může najít spoustu těchto „chybějících“ souborů. Ale nechcete být v prostředí, které může zapisovat zpět na disk a způsobit skutečnou trvalou ztrátu.
Zjednodušil jsem to a přidal nějaký výklad, ale mělo by to vyplnit několik prázdných míst pro to, co žádáte.
Máte co dodat k vysvětlení? Zvuk v komentářích. Chcete si přečíst více odpovědí od ostatních technicky zdatných uživatelů Stack Exchange? Podívejte se na celé diskusní vlákno zde .
http://superuser.com/questions/586666/why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-reasons