Tisztelt tapasztalt jószándékú segítők, most a kérdésem feltevése előtt bővebben fogom kifejteni a tényállásomat, hogy már az elején pár dolgot tisztázzak, és kizárjunk a HDD mentésére vonatkozó esetleges időt rabló „megoldásokat” amik sajnos nem a megfelelőek a várható végeredmény szempontjából, mert az adott program fejlettségi szintje nem annyira komplex.
Van egy ismerősöm akinek eddig 2 esetben segítettem adatokat visszanyerni olyan NTFS HDD-ről ami írás közben lemerült laptop akku miatt, vagy lecsúszott USB kábel miatt vesztett fájlokat látszólag „komplett eltűnt” a HDD-t formázni kellett volna, és a tulaja rémülten telefonált mit tegyen most. Mire egyet mondtam neki, NE FORMATÁLD ÚJRA, NE TEGYÉL SEMMIT, ne pánikolj, az adataid nem vesztek el, csak az MFT sérült, ezért nem látszik.
Mind a két alkalommal a teljes tartalom akkoriban egy napon belül visszakerült az eredeti helyére, bár akkoriban nem Linuxot, hanem a Get Data Back NTFS programot használtam, win 7-en és hibátlanul visszaállította az elveszett partíciót, illetve a fájlokat, mappákat, almappákat, azaz mindent. Sőt még törölt, de felül nem írt fájlokat is.
Nos így került hozzám ismét egy 2TB nagyságú HDD ami most kivételesen nem törölt, csatoláskor minden látszik, csak hát semmi sem megnyitható de mégis 1,8TB adat van rajta. Az első dolgom volt, hogy megnéztem a S.M.A.R.T. adatokat és sajnos rossz értékeket kaptam. Az áthelyezhető szektorok véges száma teljesen betelt, és a probléma nem is annyira a lemezen, mintsem a fejen alapszik ami olvasna. IO hiba szinte mindenütt. Aztán gyanakodtam még azon is, hogy akkor ezt talán egy vírus okozta? Hiszen azt ismerjük, hogy létezik olyan vírus ami képes az egész lemezt elérhetetlenné tenni a tulajdonosa számára, és amint kifizette az emberünk a váltságdíjat a hacker visszaállítja az olvasható állapotot.
Tehát rákérdeztem tulajdonképpen hogy történt ezzel? A Tulaja közölte mivel a HDD-n felmásolt CD-k zenéit tárolta egy házibulihoz felkínálta lejátszásra, és már úgy kapta vissza, hogy a saját gépe nem engedte megnyitni a fájlokat. Azon is eltűnődtem, hogy vajon át lehetett e írni a tulajdonosi jogkört úgy, hogy más gépen ne lehessen vele mit kezdeni, de ez még nem indokolná a smart teszt rossz eredményét. Aztán ezt kizártam mert végül is akadt olyan fénykép, vagy akár mp3 is amit meg engedett nyitni, sőt egy 2Gb os filmből az első 232 MB ot hiba nélkül olvasta, és engedte is átmásolni, de az egész fájlt már nem.
A Testdisk programot ismerem, és mentettem is már vele komplett HDD tartalmát (kivételt képeztek azon törölt fájlok amik pirossal voltak jelezve, hogy helyreállíthatatlanok). A Get Data Back- hoz képest azt fedeztem fel, hogy elsőre sokáig tart a teljes lemez kianalizálása, majd érdekességképpen sok esetben minden fájlnak 4-szer is volt ismétlődése, pedig Fa struktúrában a mappákba is belerakta a további mappákat és tartalmaikat. A legutóbb Testdisk-el egy 4TB-os USB külső EXT4-re formázott lemezről amiben tönkrement az USB és a HDD-t kivéve Pcben SATA kábelel leszkennelve, a copy all esetében a cél HDD-n kb 18TB helyre lett volna szükség, mert folyamatában ismételten lementette azt, amit már megtalált és elmentett, tehát a megtalált 2 szer 2 TB adatot újra meg újra kiírta csak épp egy másik almappába, aminek ráadásul fájl neve és kiterjesztése volt !!! akármi.jpg néven volt egy mappa amiben ott volt az összes faszerkezetben megtalált fájl ami vagy 5 mappával feljebb is megtalálható volt. (A 4TB-ot anno a Gparted készítette 2x2TB nem GPT partícióra).
Nos tehát Linuxon nekiálltam, hogy akkor próba szerencse a Testdisk 7,1 verziójával átnézetem ezt a Lemezt, mert végül is nem tűnt el semmi, de bármilyen mappakezelő másoló nem tesz semmit az IO hiba miatt csak átugorja a felderítendő de nem válaszoló mappákat fájlokat, így gondoltam hátha egy az egyben lemásolja, amennyiben nem lesz pirossal jelölve a sor. Lévén hogy ez a HDD vagy 3-4 éves és akkoriban az ismerősöm gépén win 8 volt, valamint a gyárilag formázott lemezek a legtöbb esetben a 2TB vagy kisebb HDD-k esetében nem feltétlenül GPT a partíciós táblájuk, így a Testdisknek a normál intel beállítást adtam meg a felderítéshez. A quick scan egyből meg is találta az amúgy el nem veszett, le sem törölt rendszert, és a P gomb listázással a fájlokat is. Csakhogy a másolás nem hozott eredményt, mert nulla bájtos fájlok keletkeztek amik 300GB vélt adatmennyiségből mégis helyet foglaltak 5GB méretben csak épp minden üres. Ezután elindítottam egy Deep Scant ami az első 93 cilindert 2 másodperc alatt beolvasta, ez kb 73,1MB-ot jelent csakhogy ott „megállt” (igazából csak belassult) IO hiba és kábé percenként haladt előre egy cilindert majd a 140. cilinder után meglódult kb 170-ig (ezt teljesen véletlenül láttam) aztán abban bíztam, hogy csak ilyen foltokban hibás a lemez, így előbb utóbb a fej talán átlép azokon a szektorokon amik hibásak, és utána megy minden olyan tempóval tovább, ahogy az első 73 MB esetében volt.
Csakhogy ez még december 25-én volt este, amikor a karácsonyi vacsoráról hazajövet nekiálltam ennek a mentőakciónak. Ma 31-e van már és 24 órás menetben kikapcsolás és megállás nélkül 5527 cilindert vánszorgott előre, és ha az egész ilyen tempóban lenne, akkor volna még hátra 237670 cilinder amit még csak „beolvas” azaz felderít. Tehát itt még szó sincs arról, hogy sikeresen ki tudjuk olvastatni azt, amit esetleg felderített és a P gombbal listázottan, értelmesen hozzáférjek. Tehát durván az egy nap alatt beolvasható cilinderek száma KB:1000 így ebben a tempóban 237,6 napig tartana mire csak beolvassa a 2TB méretet. Amúgy amíg ezt írtam, szerencsésen előreugrott vagy 100 cilindert ami ezek szerint talán éppenséggel „ép” volt?
Nos ezek után felmerült bennem az is, hogy ha ezt mégis csak egy vírus okozta, akkor ennek a HDD-nek az eredeti kiosztása 243197/255/63 a lemez nullás szektorától fogva át lett írva valami érvénytelen kiosztásúra, és azért tart ilyen sokáig a felderítés, mert az olvasás nem sorban hanem viccesen fogalmazva „lólépésben” halad így SAKK -os kifejezéssel élve. Persze attól függetlenül, hogy ez így nagyon sokáig eltartana, még nem állítottam le reménykedve abban, hogy ha túl van a „gödrön, árkon, és bukkanón” akkor egyszer csak majd meglódul és nem fog 237 napig tartani mire végez. Na de ha így van akkor is mit talál? A megtalált fájlok ha egyáltalán értelmezhetők nem lesznek darabokra törve az eltérő cluster, cilinder távolságok miatt? Vagy a Testdisk van annyira okos hogy összepárosítja akkor is ha töredezett?
Nos addig is elkezdtem megnézni mit dob ki a Synaptic csomagkezelő a Rescue szóra mi az amivel BAD sectoros lemezt lehet menteni. Ami csak létezik azt mind installáltam ki tudja melyik lesz jobb a másikánál. Hát mondanom sem kell mind konzolos egyikhez sincs GUI. De ami jobban zavar, hogy amíg a TESTDISK egyértelmű, és mondhatni pofon egyszerű, mert nem kell egy komplett parancssort begépelni hibamentesen, (kezdve onnan, hogy hova van csatolva az a HDD amit szkenneltetni akarok, és hova mentse azt amit megtalált) csak billentyű gombokat megnyomni annak megfelelően mit akarok megtenni, hogy a gép ne nyekeregjen nekem nem létező mappa, fájl, bad argumentum, vagy akármi más egyéb elgépelés szóköz, vagy vessző, vagy hiány miatt, addig ezen programok mindegyike katasztrofálisan bonyolult, és a help menü sem ad „nekem mint kezdő hozzá nem értő lúzernek” értelmes példázatot arra, hogyan építsek fel egy komplett szkennelést komplett 1:1 arányú mentést, „A” HDD-ről „B” HDD-re.
Nos itt jönne először érdemileg ama kérdésem ,mit és hogyan használjak ebből a telepített és elérhető választékból, ami vélhetőleg beolvasási és mentési sebességében is effektívebb hatékonyabb a Testdiskhez képest és az IO hibával is megküzd.
A Synapticból telepített programválaszték: gddrescue, (hozzá a ddrescueview) ddrutility, dc3dd, dcfldd, gpart, magicrescue, myrescue, safecopy, recoverdm, Forensics-all-gui (ez utóbbi gyűjtő amúgy 99 programot telepít, de van benne az is amit fentebb leírtam). Recoverdm-re ezt találtam http://ubuntu.hu/node/29052 de akkor a .dat -ra végződő fájlal mit kezdjek?
A Synaptic saját leírása alapján a Magic rescue előnye nekem az lenne, hogy amennyiben egy fájl menet közben részben kiolvasható, de részben nem, úgy a program megpróbálja azt helyreállítani a környező megtalált adatokat kombinálva (jól hangzik nemde bár?).
Viszont tudva tudván, hogy 5 nap alatt 2%-ot haladt előre a Testdisk olyan program kellene ami vélhetőleg először elkezdi azon szektorokat lementeni amik nem sérültek, és csak utána a BAD sectorokat.
Ezzel (és a fenti választékkal) a következő „problémám” akadt amikor még windowson a Hirens Boot CD programjainak segítségével állítottam vissza törölt fájlokat egy 40 Gigabájtos Bad Sectoros HDD-ről, mégpedig, hogy DDrescue-val (méghozzá gui felületen mini XP platformon) egy teljes mentést készítettem egy saját lemezemre. Amikor elkészült és megláttam, hogy 1 tömbben van az egész lemez, akármi.dd fájlnév alatt, és fogalmam sem volt róla, hogy nézzek bele, hogy csomagoljam ki, és hogyan találjam meg a nagy RAW halmazban az adataimat, akkor nagyon elkeseredtem. Tehát az csak egy dolog, hogy a program nem hökkölt meg IO probléma esetén, és menti amit sikerült olvasni, de nem tudok mit kezdeni egy nyers fájlal, ami látszólag nem tartalmaz mappa struktúrákat, és fájlokat úgy, ahogy az bármely operációs rendszeren megjelenne.
Így figyelembe véve a fentebb leírt problémákat nem csak abban vagyok bizonytalan, hogy mely programot használjam tudva tudván, hogy amúgy is rengeteg idő mire végez, és még kétséges a kimenetele a dolognak, de ha a végeredmény a dd-hez hasonló „fájlhalmaz” akkor abból hogyan állíthatnám vissza a mappaszerkezetet, benne a zenei, filmes, és képi adatokkal? Ja és akkor még ott van az is, hogy vagyok annyira „béna” hogy magamtól a help ellenére sem jövök rá egy komplett hibátlan parancssor bevitelére, hiszen a legtöbb program úgy van megírva, hogy efféléket kellene beírni a sudo akármilyen programnév után -f -d -a és hasonló kapcsolók, amiből bevallom én egy kukkot sem értek, de azon opciókat sem tudom megsaccolni, hogy problémás „bad sectoros” területen mekkora lépésközzel ugorjon tovább szkenneléskor, és hogyan tudom megnevezni azt a HDD-t amit szkenneljen, azt amúgy meg hol is találja, és ha végzett ezzel akkor hova írja amit talált. Ezek a Linux programok nekem grafikai beállító felület nélkül túlontúl bonyolultak (érthetetlenek) de emellett egyben annyira fapadosak is, hogy nem sok sikert várok tőle azontúl, hogy mindegyiket arra tervezték, hogy ne hátráljon meg IO probléma esetén sem, hanem haladjon tovább.
Win 7 alatt az chkdsk 22%-ig ért el pikk pakk, aztán elkezdte kiírni, hogy 75125 szektorban vagy mifene nem tudott olvasni aztán egyesével tovább 75126, 75127, és hagytam elmenni egy napon át 85000-ig aztán meguntam és kikapcsoltam mert soha nem lesz vége. (A konzolképbe amúgy is csak 300 ilyen bejegyzés fért bele, tehát 85000-nél csak 84700-ig lehetett visszagörgetni százalékot meg nem írt hogy hol tart mikorra végezne). Ingyenes Windowsos programok GUI-val mint a Disk Digger, Recuva, Roadkils Unstoppable copier és társai is talán segíthetnének, de amint elérik ezt a bizonyos 73MB kezdeti határt akárcsak a Testdisk onnantól IO hiba miatt belassulnak és a fájlok felderítése nem halad „látványosan” (mellékesen azt sem tudom, hogy a bad sectoros fájlok akár csak töredékében kiolvashatók-e ezen programok valamelyikével. Mert ez egy JPG kép esetén még jelenthet egy félbevágott képet, aminek mondjuk csak a felső fele látszik, az alja nem, de ha az egy csoportkép arcokkal, akkor lehetséges, hogy a lábuk ugyan hiányzik de az egyének attól még részben láthatóak tehát van értelme megmenteni).
Nos mit kellene használjak ami kecsegtethet sikerrel, nem kellene elvileg több mint fél évet arra várni, hogy véget érjen, és hogyan kell megírni konzolban egy hibátlan kapcsolósort, szóközökkel vagy anélkül, hogy az a fránya program neki álljon elvégezni azt, és lehetőleg a saját fájljaimban se tegyen kárt azaz ne kezdje felülírni a saját mappáim tartalmát.
Amúgy az oprendszerem saját fájlböngészője a folyamatos átugrásokkal is csak 1MB/Sec átlagsebességgel tudott olvasni, de még így is eltartana 1 hónapig csak a szkennelés! Amúgy a 2TB-os lemez még a régi 512bájtos verzió nem a 4096-os szektor méretezésű.
Kívánok ezúton Eredményekben gazdag, Boldog, Egészséges, és lehetőleg problémamentes Új évet mindenkinek.
Utóirat: Amióta megírtam ezt de még nem töltöttem fel ide, azóta eltelt 2 hét és az előrehaladása a HDD szkennelésnek (Testdisk) 14%-nál tart még csak. :-( Azt feltételezem, hogy a hátralevő 86% is ebben a tempóban haladna tovább mert alig vagy semmi előreugrást nem látok, márpedig ennyi BAD sector nem lehet, hacsak maga az olvasófej „kar” képtelen olvasni a lemezről.
Kinek mi a véleménye, azért nem olvas jól, mert rossz a teljes lemez cluster kiosztása, és a Testdisk nem ott keres ahol találhatna is valamit, vagy mert a fej „nyák” USB áramkör meghibásodott és minden ami jó érték lenne, az értelmezhetetlen?