Obnova kompletne smazane partisny

Pavel Lisý pali na tmapy.cz
Sobota Leden 20 22:55:12 CET 2007


Pavel Kankovsky píše v So 20. 01. 2007 v 22:00 +0100:
> On Thu, 18 Jan 2007, Pavel Lisý wrote:
> 
> > Nedopatrenim (rsync) se mi podarilo smazat kompletne cely filesystem
> 
> Zase jeden, co neví, k čemu má rsync opšnu -n. ;)

Tuto opšnu znám :-). Bohužel byl rsync pouštěn ze skriptu, který se
vlivem krátkodobého výpadku spojení dostal do předem neočekávaných
podmínek. 

> > Potreboval bych obnovit alespon nekolik souboru s daty (sql databaze,
> > pripadne dumpy)
> 
> V první řadě se musí OKAMŽITĚ přestat na ten souborový systém zapisovat.

Toto se podařilo celkem automaticky smazáním /bin :-)

> A pak je to hledání jehly v kupce sena. A to je dost velký problém.
> 
> Pokud jsou ta data textová nebo jinak dobře rozeznatelná, tak lze udělat
> to, že se projde celé zařízení, u každého bloku se posoudí, zda je to kus
> hledaných dat, a pokud ano, tak se to někam schová.
Jak prohledám disk po blocích, pomocí dd? Musím nějak dopočítat, jak byl
blok velký na daném filesystému?

> A pak musíte poskládat ty bloky dohromady. Většinou můžete předpokládat,
> že bloky, co byly za sebou, tvořily v souboru souvislou část, takže
> skončíte s relativně zvládnutelným počtem fragmentů, které nějak
> poslepujete dohromady.

Jsem schopen z bloků na celém/části disku udělat nějak soubory?
Kdybych z toho nějak alespoň dostal ty bloky s daty vzestupně
očíslované, zatím toho mám souvislý celek o velikosti několika desítek
GB a s tím se velmi špatně pracuje.

Jak by se to dalo udělat?

> U větších souborů můžete zkusit k nalezeným fragmentům najít odpovídající
> indirect bloky a poslepovat to podle toho.

> Vylepšit to dále lze tak, že budete prohledávat jen volné bloky, případně
> se zaměřovat speciálně na volné díry mezi alokovanými bloky (pravděpodobně
> následkem smazání souboru). Ale ve vašem případě jsou volné asi skoro
> všechny. :P
> 
> Nevím, jestli na to existují nějaké nástroje.
Neví to někdo jiný? Hlavně na činnost popsanou výše.

Pavel



Další informace o konferenci Linux