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 (S.M.A.R.T.) pamatuje a již nepoužívá).
badblocks je součástí balíku e2fsprogs, který je základním balíkem systému. Pokud ho náhodou nemáte, nainstalujte e2fsprogs.
Program se spouští z terminálu pomocí příkazu
sudo badblocks /dev/sda1
(pokud chci kontrolovat oddíl /dev/sda1).
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.
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).
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.
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!
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).
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)
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)
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