|
|||||||||||||||||||||||||||||||||||||||||||||||||
Menu
Distributions (131)
bootable [55]
commercial [7] no-commercial [42] unclassified [20] [7]
Software (10844)
|
Obnova ztracených souborůVšichni dobře víme, že důležité soubory je třeba pravidelně zálohovat.
Přesto se občas stane, že o data přijdeme – nebo nás někdo požádá o radu s tímto nepříjemným problémem.
V některých případech lze smazané soubory obnovit – dnes si povíme, jak na to.
Odstraněním souboru většinou nedochází k přemazáním samotných dat – pouze je dané místo na disku označeno jako volné a může být kdykoli přepsáno novými daty. Rada tedy zní: nepropadat panice a hlavně na disk nic nezapisovat. Budeme-li se touto radou řídit, je šance na obnovu dat relativně vysoká. Musíme se vyvarovat všech zápisů na disk – nejde jen o očividné zápisy (např. když uložíme dokument v editoru nebo kopírujeme soubor), k zápisu na disk dojde např. i tehdy, když nám do schránky dorazí e-mail a náš poštovní klient ho uloží na disk, nebo když zavřeme nějaký program, který si ukládá nastavení – stačí třeba zavřít terminál – BASH si totiž ukládá historii příkazů a pokud budeme mít hodně velkou smůlu, přepíše se zrovna ten náš drahocený soubor. Ti, kdo mají disk spravovaný pomocí LVM (Logical Volume Management), jsou teď ve výhodě. V jejich případě totiž stačí vytvořit tzv. snapshot disku – jeho obraz k určitému okamžiku. Na disk se tedy může klidně zapisovat a obraz zůstane nedotčen. Obraz vytvoříme tímto příkazem: lvcreate -L1G -s -n obraz /dev/mapper/stroj-home Předpokladem je, že ve skupině svazků (Volume Group – VG) máme ještě nějaké místo pro vytvoření snapshotu. Pokud jsme VG zaplnili až po okraj nebo LVM vůbec nepoužíváme, přemountujeme si disk do režimu pouze pro čtení: mount -o remount,ro /home Příklady předpokládají že data uživatelů máme na vlastním diskovém oddílu. V opačném případě, budeme muset takto přepojit celý root – pak nebudeme moci např. instalovat programy sloužící k obnově. Proto je dobré je mít nainstalované ještě před havárií. Další možností je nabootovat systém z živého CD (např. SystemRescueCd, použít se dají i mnohá instalační/živá CD distribucí) nebo disk připojit v jiném funkčním počítači. Teď už máme klid na práci a můžeme se pustit do obnovy dat – tu provádíme buď z obrazu disku nebo z oddílu připojeného jen pro čtení (případně odpojeného). Obnova z konkrétního souborového systémuVětšinou víme, jaký souborový systém na disku máme, a proto se vyplatí začít s nástroji určenými právě pro ten náš. Extended file system 2 (Ext2)
Pro obnovu souborů ze systému Ext2 slouží program aptitude install e2undel Jedná se o interaktivní program, který nás provede procesem obnovy ztracených souborů. Spustíme ho s parametry určujícími blokové zařízení a adresář, kam se mají obnovovat soubory. Následně vybereme uživatele, kterému patřil soubor, a datum, kdy došlo ke smazání. e2undel -d /dev/mapper/stroj-obraz -s temp/ -a -t e2undel 0.82 Trying to recover files on /dev/mapper/stroj-obraz, saving them on temp/ Use '-t' to get some information about the content of deleted files /dev/mapper/stroj-obraz opened for read-only access /dev/mapper/stroj-obraz was not cleanly unmounted. Do you want wo continue (y/n)? y 65536 inodes (65525 free) 262144 blocks of 4096 bytes (257701 free) last mounted on (null) reading log file: opening log file: No such file or directory no entries for /dev/mapper/stroj-obraz in log file searching for deleted inodes on /dev/mapper/stroj-obraz: |==================================================| 65536 inodes scanned, 216 deleted files found user name | 1 <12 h | 2 <48 h | 3 <7 d | 4 <30 d | 5 <1 y | 6 older -------------+---------+---------+---------+---------+---------+-------- root | 216 | 0 | 0 | 0 | 0 | 0 Select user name from table or press enter to exit: root Select time interval (1 to 6) or press enter to exit: 1
Díky parametru Extended file system vyšších verzí (Ext3, Ext4)
Modernější Ext3 a Ext4 jsou tzv. žurnálovací souborové systémy a program
Přesto tu určitá naděje na obnovu smazaných souborů je – náš zachránce se jmenuje extundelete. Ve své distribuci ho pravděpodobně mezi standardními programy nenajdete, ale instalace ze zdrojových kódů je snadná. Program závisí na vývojových balíčcích e2fslibs a e2fsprogs. Pro instalaci potřebných závislostí by nám mělo stačit něco jako: aptitude install build-essential e2fslibs-dev e2fsprogs Stáhneme si archiv se zdrojovými kódy ze stránky programu a rozbalíme. Nainstaujeme extundelete pomocí klasické trojkombinace: ./configure make make install Nyní už přistoupíme k vlastní obnově: extundelete /dev/mapper/stroj-obraz --restore-all
Program vytvoří v aktuálním adresáři složku RECOVERED_FILES a do ní obnoví nalezené soubory (včetně jejich původních názvů).
Potřebujeme tedy druhý disk s dostatkem místa – to může být např. kořenový oddíl,
nebo USB disk případně disk vytvořený v paměti (tmpfs), pokud jí máme dostatek.
Pomocí přepínačů Poznámka autora: když jsem před časem zachraňoval omylem smazaný soubor, podařilo se ho právě pomocí extundelete obnovit. Při psaní tohoto článku jsem postup cvičně zopakoval, nahrál na disk soubory, smazal je a pokusil se je obnovit – extundelete našel všechny. Pokud tedy zareagujete dostatečně rychle a zabráníte zápisům na disk po smazání souboru, máte poměrně dost vysokou šanci, že jeho obnova bude úspěšná. ReiserFS
Při nechtěném smazání souboru v systému ReiserFS se pokusíme o obnovu pomocí nástroje reiserfsck --rebuild-tree -S -l /root/reiserfs.log /dev/mapper/stroj-obraz
Program znovu sestaví souborový systém a zároveň dojde k obnově smazaných souborů – co šlo obnovit,
to najdeme v adresáři
Poznámka autora: Tento postup jsem vyzkoušel na testovacím 1 GB disku – hotovo po 15 vteřinách a většina souborů obnovena –
smazané soubory jsem po opětovném připojení nalezl v Pro Reiser4 by měl fungovat podobný postup, ale s jinou syntaxí (netestováno): fsck.reiser4 --build-fs -L /root/reiser4.log -f /dev/mapper/stroj-home XFSU tohoto systému je šance na obnovu ztracených souborů dost nízká a kromě jednoho komerčního programu (netestováno) pro něj asi nic nenajdete. Oficiální stránka píše: „There is no undelete in XFS“ a „Anyway, the best is to always keep backups. “ Pravděpodobně tedy budete muset využít obecných nástrojů pro obnovu resp. forenzní analýzu – viz níže. NTFS
Program pro obnovu dat z NTFS disků má celkem předvídatelný název: ntfsundelete /dev/mapper/stroj-obraz
Výsledkem je výpis souborů, které je možno obnovit.
V druhém kroku provedeme obnovu – k tomu použijeme parametr
Poznámka autora: v mém případě se nepodařilo zjistit názvy souborů, a tak bylo potřeba se řídit datem a velikostí souboru.
Pomocí parametru FAT 32
Základní funkcionalitou pro obnovu smazaných souborů disponuje i program testdisk /dev/mapper/stroj-obraz
Potvrdíme disk a případně vybereme tabulku oddílů (u LVM máme asi souborový systém rovnou na LV, takže zvolíme [ Advanced ] Filesystem Utils
Pak zvolíme
Poznámka autora: TestDisk toho umí mnohem více (viz níže) a měl by umět obnovovat smazané soubory i z NTFS disků,
to se mi ovšem nepovedlo – Obnova bez ohledu na souborový systémPro některé souborové systémy tyto nástroje neexistují nebo jsme pomocí nich nic nenašli. Případně je disk tak rozbitý, že ani nevíme, jaký je na něm souborový systém, nebo máme jen část tohoto disku (např. půlku RAIDu 0 – velmi nepříjemné). V takovou chvíli sáhneme např. po programu Foremost, který vznikl v americké Air Force Office of Special Investigations a jak název napovídá, je určen k forenzní analýze. Nebo použijeme jeho vylepšeného nástupce: Scalpel. Oba programy pracují na podobném principu, Scalpel, podle slov svých autorů, vznikl kompletním přepsáním Foremostu a přináší vyšší výkon a sníženou spotřebu paměti. Třetím programem tohoto typu je PhotoRec (od stejného autora, jako výše zmíněný TestDisk).
Jelikož většina souborových formátů má nějakou typickou hlavičku (např. spustitelné programy začínají PhotoRec je interaktivní program pro textový režim (jako TestDisk). Vybereme v nabídce diskový oddíl, zvolíme adresář, kam se uloží nalezené soubory, a spustíme obnovu. Program postupně vypisuje, co našel: Recovery completed. jpg: 174 recovered txt: 9 recovered zip: 8 recovered
Programy scalpel /dev/mapper/stroj-obraz -o /root/obnova
Před tím nezapomeneme odkomentovat požadované typy v souboru hexdump -C /bin/bash | less
Hlavičky a patičky našeho formátu pak zapíšeme šestnáctkově do souboru Poznámka autora: Nejpříznivější podmínky pro obnovu tímto způsobem jsou u málo zaplněných disků a malých souborů (malá tendence k fragmentaci). Není problém z běžného disku obnovit tisíce JPG nebo PNG obrázků. Typicky se jedná o náhledy obrázků z mezipaměti webového prohlížeče – tak lze zjistit zajímavé informace (i když si uživatel prohlížeče myslí, že historii důkladně promazal). Smazaná tabulka oddílů
Tohle je chvíle, při které vám přeběhne mráz po zádech.
Stačí si splést
Pro simulaci takové situace si na disku (nějakém volném, např. LVM) vytvoříme tabulku oddílů (GPT nebo starší msdos)
a na ní nějaké oddíly a souborové systémy (pro kontrolu na ně nahrajeme pár souborů).
Tabulku oddílů pak smažeme – nejjednodušší je vytvořit novou (pomocí příkazu parted /dev/mapper/stroj-pokusy (parted) print Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/stroj-pokusy: 1074MB Sector size (logical/physical): 512B/512B Tabulka oddílů: msdos Číslo Začátek Konec Velikost Typ Systém souborů Přepínače (parted)
Teď spustíme TestDisk a obnovíme původní tabulku.
Nejprve vybereme
Spustíme si parted /dev/mapper/stroj-pokusy GNU Parted 2.2 Používám /dev/mapper/stroj-pokusy Vítá vás GNU Parted! Zobrazte seznam příkazů napsáním 'help'. (parted) print Model: Linux device-mapper (linear) (dm) Disk /dev/mapper/stroj-pokusy: 1074MB Sector size (logical/physical): 512B/512B Tabulka oddílů: gpt Číslo Začátek Konec Velikost Systém souborů Název Přepínače 1 17,4kB 500MB 500MB ext2 2 500MB 600MB 99,6MB fat16 3 600MB 700MB 101MB xfs 4 700MB 800MB 99,6MB ext4 (parted) Pokud používáme modernější tabulku oddílů GPT vypíše nám program varování: The backup GPT table is corrupt, but the primary appears OK, so that will be used.
Na discích s GPT jsou totiž tabulky dvě – jedna záložní je ještě na konci disku a tu TestDisk neobnovil.
Přepíšeme ji tedy ručně tou primární.
K tomu použijeme program gdisk /dev/mapper/stroj-pokusy r recovery and transformation options (experts only) d use main GPT header (rebuilding backup) w write table to disk and exit Závěr
Nejlepší bude, když to, co jsme se dnes naučili, nebudeme muset nikdy použít.
Účinnou prevencí je samozřejmě zálohování (např. programem Pro dnešek se rozloučíme cítátem Linuse Torvaldse:
Zdroje a odkazy
|
Szukanie oprogramowania
|
|||||||||||||||||||||||||||||||||||||||||||||||
©Pavel Kysilka - 2003-2024 | maillinuxsoft.cz | Design: www.megadesign.cz |