Linux-schijfcontrole. Controleren of de schijf goed werkt in Ubuntu. Badblocks console programma

Als het besturingssysteem tijdens het opstarten de aanwezigheid van fouten in het bestandssysteem op een van de partities meldt, moet u onmiddellijk de schijven controleren en de fouten in het bestandssysteem herstellen.

Elke zichzelf respecterende gebruiker mag niet vergeten dat het periodiek controleren van harde schijven op beschadigde sectoren en het controleren van schijven op fouten een voorbeeld van gezond verstand is.

Belangrijk! Lancering en uitvoering FSCK op een aangekoppeld bestandssysteem kan gegevenscorruptie veroorzaken, dusgebruik dit materiaal op eigen risico. De auteur is niet verantwoordelijk voor eventuele schade die u zou kunnen veroorzaken.

Om uzelf te beschermen, moet u:

  • Schakel over naar de modus voor één gebruiker en ontkoppel het bestandssysteem
  • Start de computer op in de herstelmodus met behulp van de installatie-cd

U moet dus de schijven controleren en de bestandssysteemfouten herstellen, laten we beginnen.

1) Enkele gebruikersmodus

Wijzig het init-niveau en ontkoppel het bestandssysteem:

# init 1
# umount / thuis

Zoeken naar verbonden partities:

# fsck / dev / sda1

2) Herstelmodus vanaf installatie-cd

Plaats de installatie-cd in het station en start het systeem opnieuw op:

Wacht even en voer na het opstarten vanaf de installatie-cd de opdracht uit:

# linux redding nomount

De NOMOUNT-richtlijn staat montage niet toe, dus u kunt de FSCK veilig gebruiken.

Voer daarna de FSCK uit voor de sectie met fouten:

# fsck -yvf / dev / sda1

LVM (Logische Volume Manager)

De situatie met LVM (Logische Volume Manager) secties zijn een beetje ingewikkelder. om te beginnen: FSCK voor LVM secties die je eerst moet vinden PV (fysiek volume), VG (Volumegroep), LV (logische uitbreiding) en activeer ze, voer hiervoor de volgende opdrachten in volgorde uit:

# lvm pvscan
# lvm vgscan
# lvm lvchange -ay VolGroup00
# lvm lvscan

# fsck -yfv / dev / VolGroup00 / LogVol00

Na uitvoering zal FSCK het resultaat retourneren in de vorm van een code, deze code is een uniek nummer dat de som van de volgende waarden vertegenwoordigt:

0 - Geen fouten;
1 - Bestandssysteemfouten gecorrigeerd;
2 - Systeem moet opnieuw worden opgestart;
4 - Fouten in het bestandssysteem zijn niet gecorrigeerd;
8 - Operationele fout;
16 - Gebruiks- of syntaxisfout;
32 - Fsck geannuleerd op verzoek van de gebruiker;
128 - Fout in gedeelde bibliotheek.

Een computer is een apparaat dat afhankelijk is van de interactie van vele componenten. Ze kunnen na verloop van tijd storingen veroorzaken. Een van de meest voorkomende redenen voor het defecte werk van de machine zijn slechte sectoren op de schijf, dus deze moet periodiek worden getest. Linux biedt hiervoor alle mogelijkheden.

Wat zijn gebroken blokken en waarom verschijnen ze?

Een blok (sector) is een kleine cel op een schijf die informatie opslaat in de vorm van bits (0 en 1). Wanneer het systeem er niet in slaagt het volgende bit in een cel te schrijven, spreken ze van een bitsector. Er kunnen verschillende redenen zijn voor het verschijnen van dergelijke blokken:

  • fabricagefouten;
  • uitschakelen tijdens het opnemen van informatie;
  • fysieke slijtage van de schijf.

Aanvankelijk hebben bijna alle media schendingen. Na verloop van tijd kan hun aantal toenemen, wat wijst op een dreigende storing van het apparaat. Er zijn verschillende manieren om een ​​schijf te testen op fouten in Linux.

Linux schijfcontrole

Verschillende besturingssystemen draaien op de Linux-kernel, waaronder Ubuntu en Debian. De procedure voor schijfcontrole is universeel en geschikt voor elk van hen. Het is de moeite waard om na te denken over de tijd om de media te testen, wanneer het schijfsysteem zwaar wordt belast, de snelheid van het werken met de media (schrijven / lezen) aanzienlijk is afgenomen, of deze procedures zelfs fouten veroorzaken.

Velen zijn bekend met het programma voor Windows - Victoria HDD. De ontwikkelaars zorgden voor het schrijven van de tegenhangers voor Linux.

Badblocks

Badblocks is een schijfhulpprogramma dat standaard bij Ubuntu en andere Linux-distributies wordt geleverd. Met het programma kunt u zowel de harde schijf als externe schijven testen.

Belangrijk! Alle terminalopdrachten in dit artikel beginnen met de parameter sudo, omdat ze superuser-rechten vereisen om uit te voeren.

Voordat u een schijf in Linux test, moet u met het hulpprogramma fdisk-l controleren welke schijven op het systeem zijn aangesloten. Het toont ook de secties die erop beschikbaar zijn.

Nu kunt u doorgaan met direct testen op slechte sectoren. Het werk aan Badblocks is als volgt georganiseerd:

badblocks -v / dev / sdk1> bsector.txt

De record gebruikt de volgende opdrachten en operanden:

  • -v - geeft een gedetailleerd rapport weer over de uitgevoerde controle;
  • / dev / sdk 1- de rubriek die wordt gecontroleerd;
  • bsector.txt - resultaten naar een tekstbestand schrijven.

Als u slechte blokken vindt tijdens het controleren van de schijf, moet u het hulpprogramma fsck of e2fsck uitvoeren, afhankelijk van het gebruikte bestandssysteem. Ze zullen het schrijven van informatie beperken tot niet-werkende sectoren. Voer voor ext2-, ext3- of ext4-bestandssystemen de volgende opdracht uit:

fsck -l bsector.txt / dev / sdk1

Anders:

fsck -l bsector.txt / dev / sdk1

De parameter -l vertelt het programma dat de slechte blokken in het bestand bsector.txt staan ​​en dat ze moeten worden uitgesloten.

Gparted

Het hulpprogramma controleert het Linux-bestandssysteem zonder toevlucht te nemen tot een op tekst gebaseerde interface.

De tool is oorspronkelijk niet opgenomen in de distributies van het besturingssysteem, dus u moet deze installeren door de opdracht uit te voeren:

apt-get install gparted

Beschikbare stations worden weergegeven in het hoofdvenster van het programma. Dat het tijd is om de vervoerder te testen blijkt wel uit het uitroepteken naast de naam. De controle wordt gestart door te klikken op het item "Controleren op fouten" in het submenu "Sectie" op het bovenste paneel. De gewenste schijf is voorgeselecteerd. Wanneer de scan is voltooid, geeft het hulpprogramma het resultaat weer.

Het controleren van HDD en andere opslagapparaten met de GParted-toepassing is beschikbaar voor gebruikers van Ubuntu, FreeBSD, Centos, Debian en andere en andere distributies die op de Linux-kernel draaien.

Smartmonttools

Met de tool kunt u het bestandssysteem betrouwbaarder testen. Moderne harde schijven hebben een ingebouwde S.M.A.R.T.-zelfbewakingsmodule, die de schijfgegevens analyseert en helpt bij het vaststellen van de storing in de beginfase. Smartmontools is ontworpen om met deze module te werken.

De installatie wordt gestart via de terminal:

  • apt smartmontools installeren - voor Ubuntu / Debian;
  • yum installeer smartmontools voor CentOS.

Voer de volgende regel in om informatie over de status van de harde schijf te bekijken:

smartctl –H / dev / sdk1

Het controleren van fouten neemt verschillende tijd in beslag, afhankelijk van de grootte van de schijf. Aan het einde geeft het programma het resultaat weer over de aanwezigheid van slechte sectoren of hun afwezigheid.

Het hulpprogramma heeft andere opties: -a, --all, -x, --xall. Er wordt hulp gevraagd voor meer informatie:

veilig kopiëren

Als het nodig is om een ​​harde schijf in Linux te testen, moet u klaar zijn voor elk resultaat.

De Safecopy-toepassing kopieert gegevens van een beschadigd apparaat naar een werkend apparaat. De bron kan zowel harde schijven als verwisselbare media zijn. Deze tool negeert I/O-fouten, reads, bad blocks en blijft continu draaien. De uitvoeringssnelheid is de snelst mogelijke die de computer biedt.

Commentaar! Het hulpprogramma is niet bedoeld voor het herstellen van verwijderde bestanden. Ze haalt de informatie eruit die is opgeslagen in de kapotte sectoren.

Om Safecopy op Linux te installeren, voert u de regel in de terminal in:

Het scannen wordt gestart met het commando:

safecopy / dev / sdk1 / home / bestanden /

Hier is het eerste pad de beschadigde schijf, het tweede is de map waar de bestanden worden opgeslagen.

Het programma kan een afbeelding maken van het bestandssysteem van een onstabiel opslagapparaat.

Wat te doen als er een fout wordt gevonden in het Ubuntu-systeemprogramma

Het installeren van nieuwe software of het wijzigen van systeeminstellingen kan het bericht "Er is een fout gedetecteerd in het systeemprogramma." Velen negeren het, omdat het het algemene werk niet beïnvloedt.

Het probleem wordt meestal aangetroffen door gebruikers van Ubuntu-versie 16.04. In dit geval is het niet nodig om de HDD te testen, aangezien het probleem eerder een softwarefout is. Het bericht meldt de onverwachte beëindiging van het programma en biedt aan om een ​​rapport naar de ontwikkelaars te sturen. Als u akkoord gaat, wordt er een browservenster geopend waarin u een 4-stappenformulier moet invullen. Deze optie veroorzaakt moeilijkheden en garandeert niet dat de fout zal verdwijnen.

De tweede methode helpt om het verschijnen van het bericht alleen te voorkomen als het door hetzelfde programma wordt aangeroepen. Om dit te doen, moet u bij de volgende melding de optie "Niet meer weergeven voor dit programma" aanvinken.

De derde methode is om het Apport-hulpprogramma uit te schakelen, dat verantwoordelijk is voor het verzamelen van informatie en het verzenden van rapporten in Linux. Deze aanpak zal pop-upvensters met fouten volledig elimineren. Het is mogelijk om alleen de weergave van meldingen uit te schakelen, zodat de ophaalservice in goede staat blijft. Om dit te doen, moet u het volgende doen:

gsettings set com.ubuntu.update-notifier show-apport-crashes false

Er worden nog steeds gegevens verzameld in de map / var / crash. Ze moeten regelmatig worden schoongemaakt, zodat ze geen schijfruimte innemen:

Om Apport-services volledig uit te schakelen, wordt een invoer in de terminal ingevoerd:

gksu gedit / etc / standaard / apport

In de tekst die verschijnt, verandert de waarde van het veld enable van 1 in 0. Later, om de service opnieuw in te schakelen, worden de standaardinstellingen teruggezet.

Gevolgtrekking

Om verlies van bestanden te voorkomen, is het raadzaam om uw harde schijf en verwisselbare media regelmatig te testen. Linux biedt verschillende benaderingen om het probleem op te lossen. U kunt kiezen uit een lijst met hulpprogramma's die slechte sectoren identificeren en informatie overbrengen naar een normaal functionerend apparaat.

Heeft Linus Torvalds, die zijn geesteskind creëerde, dat Linux zou worden gebruikt in embedded systemen, niet alleen in goedkope thuisrouters, maar ook in serieuze telecomoplossingen als AVAYA PBX?

Onlangs was het nodig om de AVAYA automatische telefooncentrale van één grote klant te herstellen. Dit is een Avaya G650 Media Gateway (chassis) met een Avaya S8400 Server (processor). Waar de systeemschijf 2 GB CompactFlash is. Die voorwaardelijk kan worden beschouwd als een SSD-schijf met een IDE-interface.
En wat was mijn verbazing toen ik de CF-drive via een kaartlezer verbond en de bekende structuur van het Linux-bestandssysteem zag. Dit vereenvoudigde natuurlijk de procedure voor het controleren van de prestaties van de CF-drive.

Hoe het bestandssysteem van een Linux-schijf op fouten te controleren

In het MicroSoft DOS-besturingssysteem (oh ja, ik herinner me versie 5.0, die paste op één diskette!) Er was een CHKDSK-controlecommando. En er is iets soortgelijks in Linux.
Om een ​​Linux-schijf te controleren op fouten in het bestandssysteem, moet je de namen van de bestandssystemen achterhalen om te controleren:

# df -h Bestandssysteem Grootte Gebruikt Beschikbaar Gebruik% Gemonteerd op / dev / sda 20G 4.0G 15G 21% / / dev / sdd1 1G 455M 555M 46% / media / Np% blsl3648B4Jjeiedgyy / dev / sdd6 1G 98M 902M 10% / media / 10.13-23dd geen 246M 0 246M 0% / dev / shm

Voor de CF-schijf die wordt getest, is dit: / dev / sdd1 en / dev / sdd6
Vervolgens moet u de te testen bestandssystemen ontkoppelen:

#sudo umount / dev / sdd1 #sudo umount / dev / sdd6

#fsck -y / dev / sdd1 #fsck -y / dev / sdd6

Parameter -y beantwoordt automatisch alle vragen met ja, wat in de regel de meeste gebruikers doen.

Resultaten van Lunux FSCK-bestandssysteemcontrole

In mijn geval waren er fouten in een van de secties die door het hulpprogramma zijn gecorrigeerd. Daarna werd de CF-schijf teruggezet op zijn plaats en werd de Avaya PBX hersteld.

Ook ik heb met dit probleem te maken gehad. Mijn enige vriend die heeft Ubuntu op een oude ASUS-laptop, en die gewoon niet af en toe zijn hersens wil inschakelen, wendde zich tot mij met zo'n probleem. Op zijn laptop is een nieuwe Ubuntu 12.10 geïnstalleerd en heel vaak wil het systeem gewoon niet opstarten, het in een zwart scherm gooien of bevriezen tegen een paarse achtergrond. Maar onlangs is zo'n bericht begonnen te verschijnen, zoiets als "Het besturingssysteem kan niet opstarten. Selecteer de gewenste toets voor verdere acties ... "En dan is er een beschrijving van wat je moet indrukken. Ik weet niet precies welke toetsen het systeem voorstelt om in te drukken, maar de betekenis is dat om automatisch fouten te corrigeren, op die en die toets moet drukken, voor handmatige foutopsporing, een andere, en om dit bericht te negeren, wordt aangeraden om op de derde knop te drukken . Automatische foutcorrectie leidde tot niets en het laden van het besturingssysteem kwam niet tot zijn logische conclusie. Dus besloot ik het beroemde team te proberen fsck.

Eerst moet je opstarten vanaf een opstartbare Ubuntu USB-stick (Lubuntu, Xubuntu, Kubuntu, enz.), Of vanaf een Ubuntu Live-cd. Nu moeten we uitzoeken welke specifieke partitie met Ubuntu we moeten scannen om het bestandssysteem te repareren. Start Terminal (Ctrl-Alt-T) en voer de opdracht uit:

sudo fdisk -l

Deze opdracht toont ons alle schijven, flashstations die op het systeem zijn gekoppeld. Ik gebruik mijn pc als voorbeeld, niet de laptop van een vriend. Dit is wat er met mij is gebeurd:

[e-mail beveiligd]: ~ $ sudo fdisk -l

Schijf / dev / sda: 640,1 GB, 640135028736 bytes
255 koppen, 63 sectoren / spoor, 77825 cilinders, totaal 1250263728 sectoren



Schijf-ID: 0x0009d6f7


/ dev / sda1 * 2048 61442047 30720000 83 Linux
/ dev / sda2 61442048 73730031 6143992 82 Linux-swap / Solaris
/ dev / sda3 73730048 1250263039 588266496 83 Linux

Schijf / dev / sdb: 500,1 GB, 500107862016 bytes
255 koppen, 63 sectoren / spoor, 60801 cilinders, totaal 976773168 sectoren
Eenheden = sectoren van 1 * 512 = 512 bytes
Sectorgrootte (logisch / fysiek): 512 bytes / 512 bytes
I / O-grootte (minimum / optimaal): 512 bytes / 512 bytes
Schijf-ID: 0xb9ff6f01

Apparaat Opstarten Einde Blokken Id Systeem
/ dev / sdb1 * 16065 100197404 50090670 83 Linux
/ dev / sdb2 105322201 976771071 435724435+ 5 Uitgebreid
/ dev / sdb3 100197405 105322139 2562367+ 82 Linux-swap / Solaris
/ dev / sdb5 105322203 832110591 363394194+ 7 HPFS / NTFS / exFAT
/ dev / sdb6 832112640 860755218 14321289+ 83 Linux
/ dev / sdb7 860758016 862613503 927744 82 Linux-swap / Solaris
/ dev / sdb8 862615552 976771071 57077760 83 Linux

Partitietabelitems zijn niet in schijfvolgorde

Schijf / dev / sdc: 8115 MB, 8115978240 bytes
250 koppen, 62 sectoren / baan, 1022 cilinders, totaal 15851520 sectoren
Eenheden = sectoren van 1 * 512 = 512 bytes
Sectorgrootte (logisch / fysiek): 512 bytes / 512 bytes
I / O-grootte (minimum / optimaal): 512 bytes / 512 bytes
Schijf-ID: 0xc3072e18

Apparaat Opstarten Einde Blokken Id Systeem
/ dev / sdc1 * 32 15847625 7923797 b W95 FAT32

Zoals je kunt zien aan de uitvoer van de opdracht sudo fdisk -l, Ik heb 2 harde schijven (sda) 640 GB en (sdb) 500 GB, evenals een flashstation (sdc) 8 GB, waarvan ik eigenlijk heb opgestart. Ik weet dat mijn op Ubuntu 12.04 gebaseerde systeem zich op de sda-schijf bevindt en dat de besturingssysteempartitie dienovereenkomstig sda1 wordt genoemd.

Nu we de sectie kennen die moet worden gescand, kunnen we deze daadwerkelijk gaan controleren. In de terminal:

sudo fsck -y -f -c / dev / sda1

als u een fout ziet, moet u deze sectie hoogstwaarschijnlijk ontkoppelen:

sudo umount / dev / sda1

Opdrachttoetsen en parameters fsck:

ja- antwoord altijd met ja op alle vragen (er is een alternatief: toets p - start de controle in volautomatische modus);

F- geforceerde controle van het bestandssysteem (zelfs als het bestandssysteem is gemarkeerd als volledig functioneel)

C- zoekt naar slechte blokken en markeert ze dienovereenkomstig

/ dev / sda1- het apparaat of de sectie die moet worden gecontroleerd. Al ziet het team er misschien anders uit. Bijvoorbeeld:

sudo fsck -p / dev / sda1

In dit geval is alleen de schakeloptie -p toegevoegd. Je hebt zojuist alle opties voor het fsck-commando gelezen en precies de opties toegevoegd die je nodig hebt. Om meer te weten te komen over alle functies van het programma, voert u in de Terminal het volgende in:

man fsck

Dit is wat de terminal heeft uitgegeven na controle:

[e-mail beveiligd]: ~ $ sudo fsck -y -f -c / dev / sda1
fsck van util-linux 2.20.1
e2fsck 1.42.5 (29-jul-2012)
Controleren op slechte blokken (alleen-lezen test): 0,00% klaar, 0:00 verstreken. (0/0/0 fout gedaan
/ dev / sda1: Bad block-inode bijwerken.
Pass 1: Inodes, blokken en maten controleren
Pass 2: Directorystructuur controleren
Pass 3: Directory-connectiviteit controleren
Pass 4: Referentietellingen controleren
Pass 5: groepsoverzichtsinformatie controleren

Elke computer is een complex apparaat dat uit vele componenten bestaat en niemand is immuun voor storingen van een van hen. In dit artikel zullen we bekijken hoe u tijdig een van de ernstige problemen met opslagapparaten kunt herkennen, of het nu een harde schijf of een flashstation is, hoe een schijf wordt gecontroleerd op slechte Linux-sectoren.

Elk opslagapparaat bestaat uit vele kleine blokken (sectoren) die informatie opslaan in de vorm van nullen of enen (bits). Als het besturingssysteem om de een of andere reden geen informatie naar een bepaalde sector kan schrijven, kan het als "kapot" worden beschouwd.

Een sector kan om verschillende redenen beschadigd raken:

  • fabricagefouten
  • Schakel de computer uit terwijl u informatie opneemt.
  • Fysieke slijtage van de schijf.

Een klein aantal slechte sectoren is te vinden op bijna elke schijf. Maar het is de moeite waard om op te letten als hun aantal in de loop van de tijd toeneemt. Dit kan wijzen op de naderende fysieke dood van de schijf, en het is tijd voor u om na te denken over vervanging ervan.

Laten we eens kijken naar welke hulpprogramma's in Linux we de schijf kunnen controleren op slechte Linux-sectoren.

De schijf controleren op slechte sectoren met behulp van badblocks.

Badblocks is een standaard Linux-hulpprogramma voor het controleren op slechte sectoren. Het wordt standaard in bijna elke distributiekit geïnstalleerd en met zijn hulp kunt u zowel de harde schijf als de externe schijf controleren.

Laten we eerst eens kijken welke schijven op ons systeem zijn aangesloten en welke partities ze hebben. Om dit te doen, hebben we een ander standaard Linux-hulpprogramma nodig - fdisk.

Natuurlijk moet je commando's met superuser-rechten uitvoeren:

De parameter -l we vertellen fdisk om de lijst met partities te tonen en af ​​te sluiten.

Nu we weten welke partities we hebben, kunnen we ze controleren op slechte sectoren. Om dit te doen, gebruiken we het hulpprogramma badblocks als volgt:

$ sudo badblocks -v / dev / sda1> badsectors.txt

Ter verificatie geven we de volgende parameters aan:

  • -v- gedetailleerde weergave van informatie over de resultaten van de controle.
  • / dev / sda1- de sectie die we willen controleren op slechte sectoren.
  • > badsectors.txt- we voeren het resultaat van de opdracht uit naar het bestand badsector.txt.

Als als gevolg hiervan slechte sectoren zijn gevonden, moeten we het besturingssysteem instrueren om er in de toekomst geen informatie in te schrijven. Om dit te doen, hebben we Linux-hulpprogramma's nodig voor het werken met bestandssystemen:

  • e2fsck. Als we een partitie repareren met Linux-bestandssystemen (ext2, ext3, ext4).
  • fsck. Als we een ander bestandssysteem repareren dan ext.

We voeren de volgende commando's in:

$ sudo e2fsck -l badsectors.txt / dev / sda1

Of, als ons bestandssysteem niet ext is:

$ sudo fsck -l badsectors.txt / dev / sda1

De parameter -l we vertellen het hulpprogramma om de lijst met slechte sectoren uit het bestand badsector.txt te gebruiken, die we eerder hebben ontvangen bij het controleren met het hulpprogramma badblocks.

Een schijf controleren op beschadigde sectoren in Linux in smartmontools

Laten we nu eens kijken naar een modernere en betrouwbaardere manier om een ​​schijf te controleren op slechte Linux-sectoren. Moderne ATA / SATA, SCSI / SAS, SSD-schijven hebben een ingebouwd zelfcontrolesysteem S.M.A.R.T (Self-Monitoring, Analysis and Reporting Technology), Zelfcontrole-, analyse- en rapportagetechnologie), die de parameters van de omvormer bewaakt en helpt om de verslechtering van de prestaties van de omvormer in een vroeg stadium vast te stellen. Om met S.M.A.R.T in Linux te werken, is er een smartmontools-hulpprogramma.

Laten we het eerst installeren. Als uw distributie is gebaseerd op Debian \ Ubuntu, voer dan het volgende in:

$ sudo apt smartmontools installeren

Als je een distributiekit hebt op basis van RHEL \ CentOS, voer dan het volgende in:

$ sudo yum installeer smartmontools