De harde schijf is het belangrijkste onderdeel van je computer. Hier worden de bestanden van het besturingssysteem en andere belangrijke informatie opgeslagen. De eenheid van opslag op de harde schijf is een sector of blok. Hierin wordt een bepaalde hoeveelheid gegevens opgeslagen, meestal 512 of 1024 bytes. Na verloop van tijd zullen er op de schijf bitsectoren ontstaan die niet meer werken, maar het bestandssysteem blijft proberen om er informatie naar toe te schrijven. Het is extreem moeilijk om informatie naar zulke sectoren te schrijven, dus de gebruiker kan ze kwijtraken. Dit nadeel is kenmerkend voor harde schijven, terwijl SSD's deze nadelen niet hebben. Ze hebben een speciale controller die de gegevens van bitsectoren naar werksectoren verplaatst. In dit artikel vertellen we je hoe je een schijf kunt controleren op bitsectoren in Linux.
In Linux wordt een programma met de naam badblocks gebruikt om te zoeken naar slechte sectoren op een harde schijf. Als je de root of home partitie van de schijf moet controleren, is het beter om te booten in een LiveCD zodat het bestandssysteem niet gemount is. Als je wilt zien welke partities er op de schijf staan, kun je het fdisk
commando gebruiken:
$ sudo fdisk -l /dev/sda1
Via de grafische interface kun je Gparted gebruiken - een speciaal hulpprogramma. De gebruiker hoeft alleen de gewenste schijf te selecteren in de vervolgkeuzelijst.
Laten we in een concreet voorbeeld eens kijken hoe we de /dev/sda2-partitie
met het XFS-bestandssysteem kunnen controleren. Hiervoor wordt het commando badblocks gebruikt. De syntaxis is vrij eenvoudig:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Je hebt mogelijk de volgende programma-opties nodig:
-e
- hiermee kun je het aantal bitblokken instellen waarna de test niet moet worden voortgezet;-f
- standaard slaat het hulpprogramma de lees/schrijf-test over als het bestandssysteem is aangekoppeld om het niet te beschadigen, met deze optie kunt u deze tests toch uitvoeren, zelfs voor aangekoppelde systemen;-o
- gedetecteerde bitblokken naar het opgegeven bestand schrijven;-p
- aantal scans, standaard slechts één;-s
- toont de voortgang van het scannen van de partitie;-v
- maximaal gedetailleerde modus;-i
- staat u toe om de lijst van eerder gevonden bitsectoren over te dragen zodat u ze niet opnieuw hoeft te controleren;-n
- veilige lees- en schrijftest gebruiken, tijdens deze test worden gegevens niet gewist;-w
- hiermee kun je een schrijftest uitvoeren, waarbij een bepaalde reeks bytes naar elk blok wordt geschreven, waardoor de gegevens die daar eerder waren opgeslagen, worden gewist.Gebruik dit commando voor een normale test:
$ sudo badblocks -v /dev/sda2 -o ~/bad_sectors.txt
Je kunt dit commando uitvoeren op de schijf met het besturingssysteem, er is niets mis mee - het kan geen kwaad. Het is toegestaan om het uit te voeren op een aangekoppeld bestandssysteem, hoewel het beter is om het niet te doen Als het bestandssysteem niet aangekoppeld is, raden we aan om een schrijftest uit te voeren met de -n
optie:
$ sudo badblocks -vn /dev/sda2 -o ~/bad_sectors.txt
Nadat de test is voltooid, moet het systeem de informatie over de bitsectoren worden verteld, zodat het deze niet zal openen. Om dit te doen, kunt u het hulpprogramma fsck en de optie -l
gebruiken:
$ fsck -l ~/bad_sectors.txt /dev/sda1
Als je Ext family bestandssysteem gebruikt, gebruik dan het e2fsck
commando om te zoeken naar bitblokken en deze automatisch te registreren in het bestandssysteem:
$ sudo e2fsck -cfpv /dev/sda1
Met de optie -c
kunt u eenvoudig naar bitblokken zoeken en deze aan de lijst toevoegen, -f
controleert het bestandssysteem, -p
herstelt beschadigde gegevens en -v
geeft alles in detail weer.
Nu weet je hoe je je harde schijf kunt controleren en bitsectoren kunt vinden.