Kiintolevy on tietokoneen tärkein osa. Siihen tallennetaan käyttöjärjestelmän tiedostot ja muut tärkeät tiedot. Kiintolevyn tallennusyksikkö on sektori tai lohko. Siihen tallennetaan tietty määrä tietoa, yleensä 512 tai 1024 tavua. Ajan myötä levylle kehittyy bittisektoreita, jotka eivät enää toimi, mutta tiedostojärjestelmä yrittää edelleen kirjoittaa niihin tietoja. Tällaisiin sektoreihin on erittäin vaikea kirjoittaa tietoa, joten käyttäjä voi menettää ne. Tämä haitta on ominaista kiintolevyille, kun taas SSD-levyissä ei ole näitä haittoja. Niissä on erityinen ohjain, joka siirtää tiedot bittisektoreilta työsektoreille. Tässä artikkelissa kerromme, miten voit tarkistaa levyn bittisektorit Linuxissa.
Linuxissa badblocks-nimistä ohjelmaa käytetään kiintolevyn huonojen sektorien etsimiseen. Jos haluat tarkistaa levyn root- tai kotiosion, on parempi käynnistää LiveCD-levy, jotta tiedostojärjestelmää ei ole asennettu. Jos haluat nähdä, mitä osioita levyllä on, voit käyttää komentoa fdisk
:
$ sudo fdisk -l /dev/sda1
Graafisen käyttöliittymän avulla voit käyttää Gparted - erikoisohjelmaa. Käyttäjän tarvitsee vain valita haluttu levy avattavasta luettelosta.
Konkreettisessa esimerkissä tarkastellaan, miten voidaan tarkistaa osio /dev/sda2
, jossa on XFS-tiedostojärjestelmä. Tähän käytetään badblocks-komentoa. Sen syntaksi on melko yksinkertainen:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Voit tarvita seuraavia ohjelmavaihtoehtoja:
-e
- voit asettaa bittilohkojen määrän, jonka jälkeen testiä ei saa jatkaa;-f
- oletusarvoisesti apuohjelma jättää luku- ja kirjoitustestin väliin, jos tiedostojärjestelmä on asennettu, jotta se ei vahingoituisi; tämän vaihtoehdon avulla voit silti suorittaa nämä testit myös asennetuille järjestelmille;-o
- kirjoittaa havaitut bittilohkot määritettyyn tiedostoon;-p
- skannausten määrä, oletusarvoisesti vain yksi;-s
- näyttää osioiden skannauksen edistymisen;-v
- mahdollisimman yksityiskohtainen tila;-i
- voit siirtää luettelon aiemmin löydetyistä bittisektoreista, jotta sinun ei tarvitse tarkistaa niitä uudelleen;-n
- käyttää turvallista luku- ja kirjoitustestiä, tämän testin aikana tietoja ei poisteta;-w
- voit suorittaa kirjoitustestin, jolloin kuhunkin lohkoon kirjoitetaan tietty tavujono, joka poistaa lohkoon aiemmin tallennetut tiedot.Käytä tätä komentoa normaaliin testiin:
$ sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Voit suorittaa tämän komennon levyllä käyttöjärjestelmän kanssa, siinä ei ole mitään vikaa - siitä ei voi olla haittaa. Sen saa suorittaa asennetussa tiedostojärjestelmässä, vaikka sitä ei kannata tehdä Jos tiedostojärjestelmä on irrotettu, suosittelemme tekemään kirjoitustestin -n-valinnalla
:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Kun testi on suoritettu, järjestelmälle on kerrottava tiedot bittisektoreista, jotta se ei käytä niitä. Tähän voit käyttää fsck-apuohjelmaa ja -l-vaihtoehtoa
:
$ fsck -l ~/bad_sectors.txt /dev/sda1
Jos käytät Ext-perheen tiedostojärjestelmää, käytä e2fsck-komentoa
etsimään bittilohkoja ja rekisteröimään ne automaattisesti tiedostojärjestelmään:
$ sudo e2fsck -cfpv /dev/sda1
-c-optiolla
on helppo etsiä bittilohkoja ja lisätä ne luetteloon, -f
tarkistaa tiedostojärjestelmän, -p
palauttaa vioittuneet tiedot ja -v
näyttää kaiken yksityiskohtaisesti.
Nyt tiedät, miten voit tarkistaa kiintolevyn ja etsiä bittisektoreita.