13Sep
Varför är det att du kan använda en Linux-baserad dator eller Linux Live CD för att återställa data Windows kunde inte?
Dagens fråga &Svarssession kommer till oss med tillstånd av SuperUser-en indelning av Stack Exchange, en community-driven gruppering av Q & A-webbplatser.
Frågan
SuperUser-läsaren Philip Allgaier vill veta varför han kunde återställa data med en Linux Live-CD som rapporterades som oåterkallelig i Windows:
Bakgrund: Tidigare i år hade jag ett problem med en SSD-enhet som Windows skulle känna igenlängre. Men så småningom en bootable Parted Magic 2012-10-10 gjorde tricket. Se den här lösta tråden. En fråga som fastnat med mig från det ögonblicket. ..
Fråga: Jag är medveten om att Linux i allmänhet är lite mer teknisk och rå, men kan någon grovt redogöra för varför ett Linux-system( eller faktiskt bara den speciella, eftersom Ubuntu inte gjordetricket) kan fortfarande komma åt / kommunicera med en halvkorrupterad enhet när Windows inte är?
-
De ignorerar bara några potentiella indikatorer att något kan vara fel?
-
Finns det några konkreta orsaker?
-
Var det bara lycka att den här miljön kunde få SSD att svara om det bara var en begränsad tid?
Även om det verkligen hade varit lycka, är det troligt mer än några faktorer i spel. Låt oss undersöka.
Svaret
SuperUser-bidragsgivare Eike erbjuder några potentiella förklaringar, förutom lycka till, för hans förmåga att spara data:
Vanligtvis kommer detta till att precis nås och hur exakt enheten inte fungerar. Om exempelvis SSD i fråga inte kan hämta, säg sektor 5 och börjar starta så fort som någonting läser sektorn 5, kan skillnaden helt enkelt bero på vilka olika system som automatiskt kommer åt när de känner igen en ny disk.
När Windows upptäcker en ny disk, läser den partitionstabellen och försöker automatiskt öppna filsystem som den kan läsa. Om någon av de strukturer / block som läses under denna "monteringsprocessen" utlöser din felaktiga SSD förbi, är skillnaden med den specifika Linux-distributionen helt enkelt att det inte automatiskt kan montera alla partitioner i fråga, eller kanske,när du monterar, läser du helt enkelt en annan delmängd av sektorer( implementeringen av NTFS i Linux är väldigt annorlunda än den i Windows - medan diskformatet är detsamma är det upp till operativsystemet vilka strukturer den anser vara nödvändiga för att läsa. Windows kan läsa sekundära kopior av MFT, eller det kan börja förhindra vissa data och det kan vara skillnaden. Ubuntu befinner sig i en liknande båt - den är inte inriktad på återhämtning ur lådan, det kommer att försöka montera vilket filsystem som det finnerpå nyupptäckta medier automatiskt. Det är av den anledningen att specialiserade utdelningar som är inriktade på återhämtning är en bättre satsning, eftersom de bara gör vad du uttryckligen frågar dem i stället för att göra saker automatiskt.
Självklart, dukan helt enkelt ha haft tur också.Jag vet inte tillräckligt om SSD: s felläge att säga.
Linux ignorerar generellt inte indikatorer om att något är fel. Det kommer att få samma SCSI-fel från SATA-chipset som Windows vill - om du tittar på kärnloggen, på en felaktig disk kommer du att se många felmeddelanden. Det beror på vilka program som är aktuellt med åtkomst till skivan, vad som händer nästa gång. Om det är programvara som är inriktat på återhämtning kan det försöka att omläsa samma sektor ett begränsat antal gånger, det kan hoppa över det. Vanligtvis är det bästa att få en bild av enheten med så många sektorer som möjligt läsa läsligt ochförsök sedan återställa dina data från den bilden( gör någon analys direkt på enheten är en dålig idé, vanligtvis eftersom dess tillstånd kan förvärras och bara för att du kunde läsa någonting en gång betyder det inte att du kommer att kunna läsa den igen.)
Medelbidragare AthonSfere, erbjuder en annan satsning på saker:
Mycket av det är hur miljön hanterar filsystemet, och ACL eller hårddisken.
Windows kommer att göra allt det kan för sig för att lyda sina ACL och sektorer som är märkta som dåliga eller tomma. Så NTFS eller Fat-partitioner skapade och underhållna i Windows samt Windows MBR-filer hanteras av Windows när Windows markerade den.
Om drevet misslyckas desto mer använder du det desto mer sannolikt är det att stöta på ett stort problem och miljön kommer att krascha. Därefter hur operativsystemet hanterar det som kommer till spel, Windows kommer BSOD eller starta om, Windows-startprocessen kommer att kasta MBR-meddelanden, saknade filmeddelanden( NTDLR.dll saknas eller korrumperas) och slutar, eftersom dessa dåliga filer krävs.
När du använder en levande disk, lita du inte på något av detta. En dålig MBR är förbikopplad eftersom du startar av disken. En dålig sektor som skadade NTDLR.dll behövs inte. Allt är på disken. Du kan sedan försöka läsa. Om det möter en "tom" sektor eller dålig bit, hanterar den miljön den men den var programmerad att göra. Ubuntu skulle troligen hellre behålla normala operativsystemsoperationer och fortsätta med det som sannolikt kommer att hända. Sektorn är tom, gör något annat. Den sektorn är dålig, håll dig borta, läs inte igen skriv inte eller det kommer att orsaka problem.
En återställningsplattform kommer dock att vilja läsa all data. Filmarkörerna säger att filen ska vara på 0,5, 13. ...om filsystemrapporterna 13 saknas ignorerar du den tomma rubriken och läser filen ändå, eller läser den dåliga sektorn så bra som möjligt och försöker återhämta sig.
Windows kan också göra mycket av det här med tredjepartsprogram, Recuva kan hitta många av dessa "saknade" filer, för en. Men du vill inte vara i en miljö som kan skriva tillbaka till disken och orsaka sann permanent förlust.
Jag förenklade detta och lägger till lite tolkning, men det borde fylla i några ämnen för vad du frågar.
Har något att lägga till förklaringen? Ljud av i kommentarerna. Vill du läsa mer svar från andra tech-savvy Stack Exchange-användare? Kolla in hela diskussionsgängan här.
http: //superuser.com/questions/586666/ why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-orsaker