Hårddisken är den viktigaste delen av din dator. Det är där som operativsystemets filer och annan viktig information lagras. Lagringsenheten på hårddisken är en sektor eller ett block. Det är där en viss mängd data lagras, vanligtvis 512 eller 1024 byte. Med tiden kommer skivan att utveckla bitsektorer som slutar fungera, men filsystemet fortsätter att försöka skriva information till dem. Det är extremt svårt att skriva information till sådana sektorer, så användaren kan förlora dem. Och denna nackdel är karakteristisk för HDD-hårddiskar, medan SSD: er saknar dessa nackdelar. De har en speciell styrenhet som flyttar data från bitsektorer till arbetssektorer. I den här artikeln kommer vi att berätta hur du kontrollerar en skiva för bitsektorer i Linux.
I Linux används ett program som heter badblocks för att söka efter dåliga sektorer på en hårddisk. Om du behöver kontrollera skivans rot- eller hempartition är det bättre att starta upp i en LiveCD så att filsystemet inte är monterat. Om du behöver se vilka partitioner som finns på skivan kan du använda kommandot fdisk
:
$ sudo fdisk -l /dev/sda1
Med hjälp av det grafiska gränssnittet kan du använda Gparted - ett specialverktyg. Användaren behöver bara välja önskad skiva i rullgardinsmenyn.
I ett konkret exempel, låt oss överväga hur man kontrollerar /dev/sda2-partitionen
med XFS-filsystemet. Kommandot badblocks används för detta ändamål. Dess syntax är ganska enkel:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Du kan behöva följande programalternativ:
-e
- gör att du kan ställa in antalet bitblock, varefter testet inte ska fortsätta;-f
- som standard hoppar verktyget över läs- och skrivtestet om filsystemet är monterat för att inte skada det, men med detta alternativ kan du ändå utföra dessa tester även för monterade system;-o
- skriv detekterade bitblock till den angivna filen;-p
- antal skanningar, som standard endast en;-s
- visar hur partitionsskanningen fortskrider;-v
- maximalt detaljerat läge;-i
- gör att du kan överföra listan över tidigare hittade bitsektorer så att du inte behöver kontrollera dem igen;-n
- använd säkert läs- och skrivtest, under detta test raderas inte data;-w
- låter dig utföra ett skrivtest, en viss sekvens av byte skrivs till varje block, vilket raderar data som tidigare lagrats där.Använd detta kommando för ett normalt test:
$ sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Du kan köra det här kommandot på skivan med operativsystemet, det är inget fel med det - det kan inte göra någon skada. Det är tillåtet att köra på ett monterat filsystem, även om det är bättre att inte göra det Om filsystemet är omonterat rekommenderar vi att du gör ett skrivtest med alternativet -n
:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
När testet är klart bör systemet få information om bitsektorerna så att det inte kommer åt dem. För att göra detta kan du använda verktyget fsck och alternativet -l:
$ fsck -l ~/bad_sectors.txt /dev/sda1
Om du använder filsystemet Ext family kan du använda kommandot e2fsck
för att söka efter bitblock och automatiskt registrera dem i filsystemet:
$ sudo e2fsck -cfpv /dev/sda1
Med alternativet -c
är det enkelt att söka efter bitblock och lägga till dem i listan, -f
kontrollerar filsystemet, -p
återställer skadade data och -v
visar allt i detalj.
Nu vet du hur du kontrollerar din hårddisk och hittar bitsektorer.