Mokėjimo būdai Abuse

Kaip "Linux" sistemoje patikrinti, ar diske yra bitinių sektorių

20.03.2021, 18:37

Kietasis diskas yra svarbiausia kompiuterio dalis. Jame saugomi operacinės sistemos failai ir kita svarbi informacija. Kietojo disko saugojimo vienetas yra sektorius arba blokas. Jame saugomas tam tikras duomenų kiekis, paprastai 512 arba 1024 baitai. Laikui bėgant diske atsiranda bitų sektorių, kurie nustoja veikti, tačiau failų sistema ir toliau bando į juos įrašyti informaciją. Įrašyti informaciją į tokius sektorius labai sunku, todėl naudotojas gali juos prarasti. Ir šis trūkumas būdingas HDD standiesiems diskams, o SSD šių trūkumų neturi. Jie turi specialų valdiklį, kuris perkelia duomenis iš bitų sektorių į darbinius sektorius. Šiame straipsnyje papasakosime, kaip "Linux" sistemoje patikrinti, ar diske nėra bitinių sektorių.

Disko bitinių sektorių tikrinimas

Linux sistemoje kietajame diske blogų sektorių paieškai naudojama programa badblocks. Jei reikia patikrinti disko šakninį arba namų skirsnį, geriau įkrauti LiveCD, kad failų sistema nebūtų prijungta. Jei reikia sužinoti, kokie diske yra skirsniai, galite naudoti komandą fdisk:

$ sudo fdisk -l /dev/sda1

Проверка диска на битые секторы

Naudodamiesi grafine sąsaja, galite naudoti specialią programą "Gparted". Naudotojui tereikia išskleidžiamajame sąraše pasirinkti reikiamą diską.

Проверка диска на битые секторы

Konkrečiame pavyzdyje panagrinėkime, kaip patikrinti /dev/sda2 skirsnį su XFS failų sistema. Šiam tikslui naudojama komanda badblocks. Jos sintaksė gana paprasta:

$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt 

Jums gali prireikti šių programos parinkčių:

  • -e - leidžia nustatyti bitų blokų skaičių, po kurio testas neturėtų būti tęsiamas;
  • -f - pagal numatytuosius nustatymus programa praleidžia skaitymo ir rašymo testą, jei failų sistema yra prijungta, kad jos nepažeistų; ši parinktis leidžia atlikti šiuos testus net ir prijungtoms sistemoms;
  • -o - įrašyti aptiktus bitų blokus į nurodytą failą;
  • -p - nuskaitymų skaičius, pagal numatytuosius nustatymus tik vienas;
  • -s - rodo skirsnio skenavimo eigą;
  • -v - maksimaliai išsamus režimas;
  • -i - leidžia perkelti anksčiau rastų bitų sektorių sąrašą, kad jų nereikėtų tikrinti iš naujo;
  • -n - naudoti saugaus skaitymo ir rašymo testą, šio testo metu duomenys netrinami;
  • -w - leidžia atlikti rašymo testą, į kiekvieną bloką įrašoma tam tikra baitų seka, kuri ištrina anksčiau jame buvusius duomenis.

Norint atlikti įprastą testą, naudokite šią komandą:

$ sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt

Šią komandą galite vykdyti diske su operacine sistema, ji nieko blogo nedaro - negali pakenkti. Ją leidžiama paleisti sumontuotoje failų sistemoje, nors geriau to nedaryti Jei failų sistema nemontuota, rekomenduojame atlikti įrašymo testą su parinktimi -n:

$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt

Atlikus testą, sistemai reikia pasakyti informaciją apie bitų sektorius, kad ji prie jų neprieitų. Norėdami tai padaryti, galite naudoti fsck įrankį ir parinktį -l:

$ fsck -l ~/bad_sectors.txt /dev/sda1

Jei naudojate "Ext family" failų sistemą, naudokite komandą e2fsck, kad ieškotumėte bitinių blokų ir automatiškai juos užregistruotumėte failų sistemoje:

$ sudo e2fsck -cfpv /dev/sda1

Naudojant parinktį -c lengva ieškoti bitinių blokų ir įtraukti juos į sąrašą, -f patikrina failų sistemą, -p atkuria sugadintus duomenis, o -v viską išsamiai parodo.

Dabar jau žinote, kaip patikrinti kietąjį diską ir rasti bitų sektorius.