Obecně nemůžete opravdu obnovit celý disk, aniž byste jej celý přečetli/zapsali. fsck
je nepravděpodobné, že poskytne to, co potřebujete - funguje se systémem souborů ne základní zařízení, proto většinou pouze skenuje metadata souborového systému (inody a další struktury souborového systému).
badblocks -n
může být možnost dd if=X of=X
. V každém případě budete pravděpodobně chtít použít velké bloky pro urychlení věcí (pro dd
něco jako bs=16M
, pro badblocks
to by bylo -b 16777216
nebo -b $((1<<24))
v rozumných skořápkách). Pravděpodobně budete také chtít použít conv=fsync
s dd
.
Pokud jde o bezpečnost dd
se stejným vstupním a výstupním zařízením - čte blok ze vstupu a zapisuje ho na výstup, takže by to mělo být bezpečné (takto jsem několikrát znovu zašifroval šifrovaný oddíl vytvořením smyčkových zařízení se stejným základním zařízením a odlišným hesla a poté dd
'ing from one to other) - alespoň pro některé typy fyzických médií:například u šindelových jednotek mi rozhodně není zřejmé, že jsou 100% odolné proti selhání.