====== badblocks ======
{{.:disk.png}} **badblocks** je program, kterým zkontrolujete disk na přítomnost nefunkčních bloků (částí disku). Nejužitečnější je pro kontrolu kvality nového disku (který je v případě špatných bloků možné vyměnit nebo reklamovat), ale i pro dodatečnou kontrolu na používaném (nalezené špatné bloky si monitorovací systém disku ([[http://cs.wikipedia.org/wiki/S.M.A.R.T.|S.M.A.R.T.]]) pamatuje a již nepoužívá).
====== Instalace ======
{{.:apt.png}} **badblocks** je součástí balíku //e2fsprogs//, který je základním balíkem systému. Pokud ho náhodou nemáte, [[Instalace programů|nainstalujte]] [[apt://e2fsprogs|e2fsprogs]].
====== Spuštění ======
{{.:navigate.png}} Program se spouští z [[Terminál|terminálu]] pomocí příkazu
sudo badblocks /dev/sda1
(pokud chci kontrolovat oddíl ///dev/sda1//).
====== Jak to funguje ======
//badblocks// projede daný oddíl (např. ///dev/sda1//) nebo disk (např. ///dev/sda//) blok po bloku, a pokud narazí na poškozený blok (tzn., že z něj nejde číst, nebo do něj zapisovat, nebo obojí, podrobnosti viz níže), vypíše jeho číslo. Ve výchozím nastavení nevypisuje nic jiného, a provádí tzv.
==== read-only test ====
tj. blok je vypsán jako vadný v případě, že nastane chyba při jeho čtení (blok nelze přečíst vůbec nebo jen částečně). Tento test je "nedestruktivní" a bezpečný, tj. je možné ho provádět (i na připojeném) disku s daty. Je rovněž relativně rychlý a pro základní kontrolu disku postačující (pokud je disk poškozený, projeví se to již při čtení, a není třeba zapisovat).
===== Některé další možnosti =====
==== nedestruktivní read-write test (-n) ====
každý blok je přečten, jeho obsah uložen do vyrovnávací paměti, místo něj se zapíše náhodný řetězec, ten se přečte zpátky z disku, a pak se zpět nahrají původní data z vyrovnávací paměti. Pokud kdekoli dojde k chybě nebo nesrovnalostem, je blok označen jako vadný. Test je bezpečný pouze na odpojeném (nepoužívaném) oddíle a za předpokladu, že nedojde k výpadku elektřiny apod. (ztratí se data z vyrovnávací paměti, a tedy obsah několika bloků). Je nejpomalejší, ale zachovává data, a zároveň pečlivěji testuje disk.
==== destruktivní write test (-w) ====
k použití pouze na novém disku nebo na disku, u kterého chceme vymazat data. Bloky jsou přepisovány náhodnými daty a pak kontrolována konzistence. Obsah disku je tím vymazán!
==== výpis průběhu činnosti (-s) ====
ve výchozím nastavení **badblocks** nevypíše nic nebo jen čísla vadných bloků. To může mást, protože to vypadá, že se nic neděje. Přepínačem //-s// docílíte toho, že uvidíte, jaká část disku je už zkontrolovaná. Nevýhodou zase je, že pokud nepoužijete přepínač //-o// (přemístit výstup do souboru), budou se vám plést dohromady údaje o průběhu a vadných blocích (viz příklad níže).
====== Příklady ======
===== základní použití =====
sudo badblocks /dev/sdb
vyhledá vadné bloky pomocí read-only testu na disku //sdb// a vypíše je.
arrange@arrange-desktop:~$ sudo badblocks /dev/sdb
# ... po několika minutách až hodinách ...
arrange@arrange-desktop:~$
(disk je v pořádku)
===== read-only test s výpisy =====
arrange@arrange-desktop:~$ sudo badblocks -sv /dev/sdb1
[sudo] password for arrange:
Checking blocks 0 to 108358392
Checking for bad blocks (read-only test): 50544128done, 8:47 elapsed
50544160done, 9:43 elapsed
50544161done, 10:02 elapsed
50544162done, 10:20 elapsed
50544163done, 10:39 elapsed
done
Pass completed, 5 bad blocks found.
arrange@arrange-desktop:~$
read-only test na připojeném a používaném oddíle //sdb1//, vypsán průběh (díky přepínači -s), souhrn na konci a doplňkové informace (přepínač -v) a vadné bloky (50544128, 50544160 atd. ve výpise)
====== Doplňkové informace ======
===== Výhody =====
* dobře nastavitelný a pro kontrolu disku naprosto postačující
* použitelný i na používaném disku
* je možno kontrolovat i disk s jinými souborovými systémy (NTFS, FAT), ne jen ext2-4
===== Nevýhody =====
* nenajde bloky, které již byly realokovány firmwarem disku (a nejsou již tedy používány)
* pouze z terminálu, nevhodný pro začátečníky
* vadné bloky pouze vyhledává, neřeší jejich opravu nebo záchranu dat
===== Alternativy =====
* [[Diskový nástroj]] - umí kontrolovat i monitorovat bloky disku pomocí SMART, ale nepřístupný u starších disků a těch připojených přes USB
* [[http://www.grc.com/sr/spinrite.htm|Spinrite]] - komerční
====== Tipy a triky ======
Při koupi nového disku nebo i na již používaném disku spusťte aspoň rychlý read-only test. Pokud dojde k nalezení špatných bloků, podle jejich množství a vašich preferencí se můžete rozhodnout, jestli
* disk reklamujete, vrátíte nebo vyměníte
* nebo si disk necháte. Některé disky se špatnými sektory mají tendenci rychle degradovat, některé ne. V každém případě chybné sektory u moderních pevných disků systém SMART při čtení pomocí //badblocks// zaznamenal a nebude je již používat automaticky. Je to lepší varianta, než když na vadný sektor narazíte až tehdy, když z něj budete potřebovat přečíst nějaká důležitá data...
====== Odstranění ======
{{.:clear.png}} Balík neodstraňujte, je nutný pro práci se souborovým systémem ext2-4.
====== Odkazy ======
* [[http://wiki.lunarsoft.net/wiki/Data_Recovery#badblocks|obecné rady k záchraně dat včetně použití badblocks]] {{.:en.png}}
* [[http://smartmontools.sourceforge.net/badblockhowto.html|obecné rady k záchraně dat včetně použití badblocks]] {{.:en.png}}
* [[http://linux.die.net/man/8/badblocks|manuálová stránka]] {{.:en.png}}