badblocks

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á).

Instalace

badblocks je součástí balíku e2fsprogs, který je základním balíkem systému. Pokud ho náhodou nemáte, nainstalujte e2fsprogs.

Spuštění

Program se spouští z 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).

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

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)

Doplňkové informace

  • 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
  • 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
  • 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
  • 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í

Balík neodstraňujte, je nutný pro práci se souborovým systémem ext2-4.

Odkazy