Hlavní navigace

Poškozená data na paměťové kartě a jejich obnova

Petr Krčmář

Už se vám to možná stalo: Přijedete z dovolené, celí natěšení zasunete paměťovou kartu do čtečky a ouha. Poškozený souborový systém vám zabrání přečíst obsah a cenné fotografie jsou tak zřejmě nenávratně ztraceny. Nemusíte si ale hned zoufat, existuje jednoduché a velmi účinné řešení, které je zachrání.

Kdy a proč?

Už se mi několikrát stalo, že mi některý šikovný známý vytrhl z počítače flashku bez odpojení. Uživatelé MS Windows obvykle ani netuší, že by měli něco takového dělat. Pokud ještě systém nedokončil zápis a nedostal souborový systém do konzistentního stavu, problém byl na světě.

Totéž se vám může stát i s paměťovou kartou, pokud je vytažena příliš brzy. I samotný fotoaparát může způsobit problém, pokud se například vybije v nesprávnou chvíli, kdy zrovna mění soubory na kartě.

Nemusí však dojít jen k softwarové chybě či selhání lidského faktoru, ale může dojít k poškození samotné karty v místě zápisu důležitých dat v souborovém systému – například FAT tabulky.

V každém případě se ovšem jedná o velký problém, který vám znemožní kartu připojit a získat z ní data. Přestože je většina softwarových potíží řešitelná vytvořením nového souborového systému, uživatele obvykle více zajímají data než samotná karta za pár stovek.

Co s tím?

Pokud opravdu už dojde k vážnému poškození souborového systému, nepodaří se obvykle kartu připojit. Ačkoliv je v systému fyzicky viditelná, jádro neumí pracovat s daty, která nemají předepsanou strukturu.

Obvykle dochází k poškození systémových částí karty jako je zmíněná FAT tabulka. Ačkoliv samotná data poškozená nejsou, jádro se k nim neumí dostat. Dodatečným „manuálním“ rozborem dat jsme ale schopni zachránit alespoň něco.

Samozřejmě bychom takovou akci mohli provést ručně sami, ale existují nástroje, které to udělají docela pohodlně za nás. Svou práci odvedou rychle, bez problému a ani nepotřebujeme mít potřebné znalosti.

Nejprve záloha

Než začnete s kartou pracovat, nejprve proveďte zálohu všech dat. Ideální je vytvořit kompletní obraz celé karty a s ním (na disku) pak pracovat. Jednak je to rychlejší, ale hlavně zabráníte zničení dat, pokud se něco nepovede.

Stačí tedy zavolat

$ dd if=/dev/sda of=karta.img

A ve zvoleném souboru (tedy karta.img) naleznete kompletní obsah vaší karty. Nad tím (respektive raději ještě jeho kopií) teď budeme pracovat.

Program photorec

Na samotnou obnovu použijeme program photorec. Ten je součástí balíku testdisk, který byste měli najít ve své distribuci (v Debianu je). Samotný balíček má několik set kilo a má jen málo závislostí.

Pokud jej v distribuci nenaleznete, chcete statickou verzi nebo verzi pro jiný systém, navštivte domovské stránky aplikace. Tam získáte balík pro DOS, MS Windows 9×, NT4/2000/XP/2003, Linux, FreeBSD, NetBSD, OpenBSD, Solaris, Mac OS X a samozřejmě také zdrojové kódy, které zkompilujete podle autorů téměř kdekoliv.

Jak to funguje

Program pracuje nad daty získanými z paměťové karty a vychází z toho, že je souborový systém poškozený. Proto jej rovnou ignoruje a v obrazu hledá hlavičky samotných souborů. Soubory JPEG mají na začátku sekvenci „JFIF“, v hlavičce PNG nalezneme znaky „PNG“ a podobně.

Photorec ovšem nezvládá jen obrázky, ale detekuje na 130 různých formátů. Jsou mezi nimi například kompresní archívy (gz, rar, tar, bz2, zip,…), multimediální soubory (mp3, avi, ogg, jpeg, png, gif,…), dokumenty (pdf, od*, doc, xls, rtf,…) a další (exe, html, py, rb,…). Kompletní seznam naleznete na domovské stránce.

Program při svém běhu počítá s tím, že data na kartě nejsou nijak fragmentována a nijak proto neřeší jejich strukturu. Fragmentace na běžné paměťové kartě z fotoaparátu není příliš běžná, většinou fotíme a pak jednorázově kartu zase smažeme. Program tedy jednoduše začne obraz disku prohledávat a pokud narazí na známou hlavičku, uloží obsah za ní do samostatného souboru.

Díky tomu není aplikace příliš závislá na použitém souborovém systému. Přestože budete zřejmě na paměťové kartě používat FAT, photorec si poradí i s Ext2/3, HFS+ a skrze knihovnu libntfs9 čte také NTFS.

Pouštíme photorec

Práce s programem je velmi jednoduchá. Pokud hodláme pracovat přímo s kartou, budeme potřebovat práva nejvyššího (tedy roota) a bude nám samozřejmě stačit sudo. Můžeme photorec buď spustit bez parametrů, kdy nám vyhledá dostupná zařízení a interaktivně nabídne jejich obnovu, nebo mu rovnou řekneme, kde má hledat.

Spustíme proto

$ photorec karta.img

Okamžitě dojde ke spuštění programu. Ten nám nabídne jednotlivé disky k obnově. V tomto případě je na výběr jen jedna položka. Vidíme cestu k ní a její celkovou velikost.

photorec1

Nyní můžeme pokračovat stiskem klávesy Enter. Program se dále ptá, jaký systém rozdělení disků karta používá.

photorec2

Pokud se jedná o klasickou paměťovou kartu, zřejmě zvolíte možnost Intel. Pokud byste měli uložený už konkrétní oddíl, třeba /dev/sda1, zvolte None. Pozor! I pokud máte na kartě jen jeden oddíl, obsahuje karta tabulku oddílů.

Následuje nalezení jednotlivých oddílů a vy máte možnost jeden z nich zvolit. V mém případě byl samozřejmě oddíl jen jeden.

photorec3

Protože se v mém případě jednalo o skutečně hodně poškozenou kartu, program nezjistil, jaký souborový systém obsahuje. Proto se ještě dotázal, zda náhodou neobsahuje Ext2/3. Odpověděl jsem, že ne, protože na kartě byl původně FAT.

photorec4

Poslední otázka směřuje na použitý adresář. Stačí stisknout Y a program začne svou činnost v aktuálním adresáři. V něm vytvoří podadresář recup_dir, do kterého bude ukládat soubory. Podle autorů nedochází k zásahům do originálních dat.

Výsledek? Vynikající!

Práce trvají v závislosti na velikosti obrazu i několik minut a aplikace sama vypisuje, jak dlouho pracuje, jak dlouho přibližně ještě pracovat bude a kolik souborů už obnovila.

photorec5

Použil jsem relativně malý (16 MB) testovací souborový systém s FAT, na který jsem nejprve nahrál 71 fotografií a pak nechal přepsat prvních několik kilobajtů náhodnými daty.

Program pracoval zcela bezchybně a obnovil všechny soubory. Kontrola MD5 součtů pak ukázala, že jsou všechny naprosto kompletní a ve zcela původním stavu. Z tohoto hlediska tedy photorec dostává jedničku.

Samozřejmě nedošlo k obnovení názvů souborů, které jsou součástí poškozeného souborového systému. Photorec tedy jednotlivé soubory pojmenuje čísly a dokonce jim přiřadí správnou příponu.

Závěrem

Výsledek byl v tomto případě stoprocentní, ale u konkrétních obnov samozřejmě záleží, co přesně bylo zasaženo. V každém případě máte šanci získat zpět alespoň podstatnou část dat, o která byste jinak přišli úplně. Přijdete tak o část svých šedivých vlasů a ještě budete mít veselou historku při prohlížení fotografií z dovolené.

Anketa

Přišli jste někdy o data na kartě?

Našli jste v článku chybu?

8. 10. 2013 16:27

j0l (neregistrovaný)

Skus dd_rescue alebo ddrescue

31. 5. 2013 20:55

Terezka (neregistrovaný)

Naprosto mě to zachránilo! Veškerá data se mi podařilo po stažení asi 5ti programů obnovit právě tímto a to i tehdy, když nejsem nijak zvlášť technicky zdatná.

Doporučuji a děkuji!

Pěkný den a žádná ztracená data!

DigiZone.cz: Velká cena v Abú Dhabí: 131 ti­síc diváků

Velká cena v Abú Dhabí: 131 ti­síc diváků

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Lupa.cz: Kdo pochopí vtip, může jít do ČT vyvíjet weby

Kdo pochopí vtip, může jít do ČT vyvíjet weby

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

Podnikatel.cz: Snížení DPH na 15 % se netýká všech

Snížení DPH na 15 % se netýká všech

Root.cz: Certifikáty zadarmo jsou horší než za peníze?

Certifikáty zadarmo jsou horší než za peníze?

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

Měšec.cz: mBank cenzuruje, zrušila mFórum

mBank cenzuruje, zrušila mFórum

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Vitalia.cz: Spor o mortadelu: podle Lidlu falšovaná nebyla

Spor o mortadelu: podle Lidlu falšovaná nebyla

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Vitalia.cz: Taky věříte na pravidlo 5 sekund?

Taky věříte na pravidlo 5 sekund?

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Měšec.cz: Stavební spoření: alternativa i pro seniory

Stavební spoření: alternativa i pro seniory

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák