badblocks

Linux.fista
Versio hetkellä 26. marraskuuta 2016 kello 14.40 – tehnyt Oselotti (keskustelu | muokkaukset)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

badblocks on ohjelma viallisten sektorien etsimiseen kiintolevyltä. Ohjelmalla ei tule testata SSD-levyjä, sillä niiden käyttöikä lyhenee niille kirjoitettaessa.

Asennus

badblocks löytyy useimpien jakeluiden paketinhallinnasta nimellä e2fsprogs. Lisätietoja ohjelmien asentamisesta löytyy artikkelista Ohjelmien asentaminen.

Käyttö

Mikäli levyllä on tiedostoja, tulee niistä tehdä aina varmuuskopio ennen ohjelman käyttöä.

Esimerkiksi levy /dev/sdX voidaan testata kirjoitustilassa komennolla:

# badblocks -wsv /dev/sdX

Testi tuhoaa kaiken levyllä olevan datan, joten sillä ei tule testata levyjä joilla on tiedostoja. Tämä soveltuu lähinnä uusille levyille, joita ei ole otettu vielä käyttöön.

Mikäli levyllä on jo valmiiksi dataa, joka halutaan säilyttää, voidaan levy testata epätuhoisassa tilassa:

# badblocks -nsv /dev/sdX

Jotta ohjelmasta olisi jotain käytännön hyötyä, voidaan vialliset sektorit kirjata ylös tiedostoon. Tiedostojärjestelmää luotaessa vialliset sektorit voidaan tuoda tiedostojärjestelmän tietoon antamalla tiedosto parametrina -l -lipulla. Luodaan esimerkkinä ext4-tiedostojärjestelmä laitteelle.

# badblocks -wsv -o /root/badblocks.txt /dev/sdX
# mkfs.ext4 -l /root/badblocks.txt /dev/sdX
  • -w saa ohjelman tekemään kirjoitustestin, jolloin se kirjoittaa, lukee ja vertailee vuorotellen levyn jokaisella sektorilla 0xaa, 0x55, 0xff, sekä 0x00 -kuvioita. Kirjoitustila tuhoaa kaiken levyllä olevan datan.
  • -n saa ohjelman varmuuskopioimaan jokaisen sektorin ennen kirjoitusta, sekä palauttamaan ne alkuperäisiksi testin jälkeen. -n ja -w -lippuja ei voida yhdistää toisiinsa.
  • -s näyttää ohjelman editymisen.
  • -v saa ohjelman kirjoittamaan löydetyt virheet stderr-standardivirtaan.
  • -o saa ohjelman kirjoittamaan löydetyt vialliset sektorit parametrina annettuun tiedostoon.