Miks võib Linuxi süsteemid mõnikord taastada Windowsi andmed?
Miks on Windowsi andmete taastamiseks võimalik kasutada Linuxi põhist arvutit või Linux Live CD-d?
Tänane küsimuste ja vastuste seanss saabub meiega kohtades, kus on SuperUser-Stack Exchange'i alajaotis, kogukondlikult juhitav Q&A veebisaitide rühmitus.
Küsimus
SuperUser-lugeja Philip Allgaier tahab teada, miks ta oli võimeline taastama andmeid Windows Live'i CD-ga, mida teatati Windowsis taastumatuks:
Taust: Sel aastal oli mul probleem SSD-draiviga, mille Windows enam ära tundis. Aga lõpuks sai alguses buutiv parted Magic 2012-10-10. Vaadake seda lahendatud lõnga. Üks küsimus jäi minuga sellest hetkest kinni ...
Küsimus: Ma tean, et Linux on üldjuhul natuke tehnilisem ja toores, kuid kas keegi võib üldjoontes visandada, miks Linuxi süsteem (või tegelikult ainult see, kuna Ubuntu ei teinud seda trikki) on veel võimeline poole poole pöörduma / suhtlema - Windows ei ole viga saanud?
-
Kas nad lihtsalt ignoreerivad võimalikke näitajaid, mida midagi võib valesti teha?
-
Kas on mingeid konkreetseid põhjusi?
-
Kas see oli lihtsalt õnne, et see konkreetne keskkond sai SSD-le reageerida ainult piiratud aja jooksul?
Kuigi see oleks kindlasti olnud õnne, on tõenäoliselt rohkem kui mõned tegurid. Uurime.
Vastus
SuperUser'i toetaja Eike pakub mõningaid võimalikke selgitusi, peale õnne, tema võime andmeid salvestada:
Tavaliselt langeb see sellele, mida täpselt kasutatakse ja kuidas täpselt seade ei tööta. Näiteks, kui kõnesolev SSD ei suuda sektorit 5 alla laadida ja hakkab seiskuma niipea, kui midagi loeb sektorit 5, võib erinevus lihtsalt olla tingitud sellest, millised erinevad süsteemid automaatselt uue ketta tuvastamise järel automaatselt juurde pääsevad.
Kui Windows tuvastab uue ketta, loeb see partitsioonitabeli ja üritab automaatselt avada failisüsteeme, mida ta teab. Kui mõni selle paigaldusprotsessi ajal loetud struktuuridest / plokkidest vallandab teie vigase SSD-d, et see läheks mööda, on erinevus selle konkreetse linux-levikuga lihtsalt see, et see ei pruugi kõiki kõnealuseid partitsioone automaatselt paigaldada või paigaldamisel lugege lihtsalt teistsugust sektorite alamhulka (NTFS-i rakendamine Linuxis on väga erinev Windowsi süsteemist - samas kui kettal on sama formaat, on OS-i ülesanne, millised struktuurid on vajalikud lugemiseks). Windows võib lugeda MFT sekundaarseid koopiaid või võib see alustada mõnede andmete eelkäsitamist ja see võib olla erinev. Ubuntu on sarnases paadis - see ei ole suunatud kasti taastamiseks, ta püüab paigaldada mis tahes leitud failisüsteemi just sel põhjusel, et taaskasutamisele suunatud spetsialiseeritud jaotused on paremad panused, sest nad teevad seda ainult seda, mida te selgesõnaliselt palute, mitte aga automaatselt toimima.
Muidugi võite ka lihtsalt õnnelikuks saada. Ma ei tea piisavalt SSD rikke režiimist.
Linux ei ignoreeri tavaliselt näitajaid, mis on midagi valesti. See saab samad SCSI vead SATA kiibistikust kui Windows - kui vaadata kerneli logi, näete vigasel kettal palju veateateid. See sõltub sellest, millised programmid ketta juurde jõuavad, mis järgmisena juhtub. Kui tarkvara on suunatud taaskasutamisele, võib ta püüda sama sektorit uuesti lugeda piiratud arv kordi, see võib vahele jätta jne. Tavaliselt on parim võimalus saada draivi pilt nii paljude sektorite poolt, mis on võimalikult puhtad, ja siis proovige taastada oma andmed sellest pildist (mis tahes analüüsi tegemine otse draivil on halb mõte, kuna selle seisund võib halveneda ja lihtsalt sellepärast, et sa võisid korraga midagi lugeda, see ei tähenda, et saate seda uuesti lugeda .)
Kaasautor AthonSfere pakub veel üks asju:
Palju on see, kuidas keskkond failisüsteemi ja ACL-e või kõvaketast käsitseb.
Windows kavatseb teha kõik endast oleneva, et täita oma ACL-e, ja sektorid, mis on märgitud halbaks või tühjaks. Nii töötavad Windows Windowsis loodud ja hallatavad NTFS- või Fat-partitsioonid ning Windowsi MBR-id, kui Windows selle tähistab.
Samuti, kui draiv ei suuda seda enam kasutada, seda tõenäolisem on tõsise probleemiga kokku puutuda ja keskkond krahhi. Siis kuidas operatsioonisüsteem hakkab mängima, Windows hakkab BSOD-i või taaskäivitama, Windowsi käivitamise protsess viskab MBR-i sõnumid, puuduvad failisõnumid (NTDLR.dll on puudu või rikutud) ja peatage, sest need halvad failid on vajalikud.
Kui te kasutate elavat ketast, siis te ei tugine sellele. Halb MBR on möödas, sest te käivitate kettalt. Halb sektor, mis NTDLR.dll-i rikkus, ei ole vajalik. Kõik on kettal. Seejärel saate lugeda. Kui see tekitab "tühja" sektori või halva biti, siis see keskkond hakkab seda siiski programmeerima. Ubuntu tõenäoliselt säilitaks tavalise operatsioonisüsteemi käitumise ja jätkaks seda, mis tõenäoliselt toimub. Sektor on tühi, tehke midagi muud. See sektor on halb, eemale, ära loe uuesti ei kirjuta või tekitab probleeme.
Taaskasutusplatvorm tahab siiski kõiki andmeid lugeda. Failimarkerid ütlevad, et fail peaks olema 0,5, 13…. kui failisüsteemi aruanded 13 on puudu, ignoreerige tühja päist ja lugege fail ikkagi või lugege halb sektor nii hästi kui võimalik ja proovige taastada.
Samuti võib Windows seda teha kolmandate osapoolte rakendustega, Recuva võib leida palju neid „puuduvaid” faile ühe jaoks. Aga te ei taha olla keskkonnas, mis võib kettale tagasi kirjutada ja põhjustada tõelist püsivat kadu.
Ma lihtsustasin seda ja lisasin mõningast tõlgendust, kuid see peaks täitma mõned küsimused, mida te küsite.
Kas teil on midagi lisada selgitusele? Hääletage kommentaarides. Kas soovite lugeda rohkem vastuseid teistelt tech-savvy Stack Exchange'i kasutajatelt? Vaadake siin täielikku arutelu lõiku.
http://superuser.com/questions/586666/why-can-linux-systems-sometime-recover-data-windows-cant-any-concrete-reasons