====== 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}}