Linux disksjekk. Sjekker at disken fungerer som den skal i Ubuntu. Badblocks konsollprogram

Hvis operativsystemet under oppstart rapporterer tilstedeværelsen av feil i filsystemet på en av partisjonene, bør du umiddelbart sjekke diskene og fikse filsystemfeilene.

Enhver bruker med respekt for seg selv bør ikke glemme at regelmessig kontroll av harddisker for dårlige sektorer og kontroll av disker for feil er et eksempel på sunn fornuft.

Viktig! Lansering og utførelse FSCK på et montert filsystem kan forårsake datakorrupsjon, såbruk dette materialet på egen risiko. Forfatteren er ikke ansvarlig for eventuelle skader du kan forårsake.

For å beskytte deg selv må du:

  • Bytt til enkeltbrukermodus og avmonter filsystemet
  • Start datamaskinen i gjenopprettingsmodus ved å bruke installasjons-CDen

Så du må sjekke diskene og fikse filsystemfeilene, la oss komme i gang.

1) Enkeltbrukermodus

Endre init-nivået og demonter filsystemet:

# init 1
# umount / hjem

Søk etter tilkoblede partisjoner:

# fsck / dev / sda1

2) Gjenopprettingsmodus fra installasjons-CD

Sett inn installasjons-CDen i stasjonen og start systemet på nytt:

Vent en stund og etter oppstart fra installasjons-CDen, kjør kommandoen:

# linux redning nomount

NOMOUNT-direktivet vil ikke tillate montering, slik at du trygt kan bruke FSCK.

Etter det, kjør FSCK for delen med feil:

# fsck -yvf / dev / sda1

LVM (Logical Volume Manager)

Situasjonen med LVM (Logical Volume Manager) delene er litt mer kompliserte. Til start FSCK til LVM seksjoner først må du finne PV (fysisk volum), VG (Volumgruppe), LV (logisk utvidelse) og aktiver dem, for å gjøre dette, kjør følgende kommandoer i rekkefølge:

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

# fsck -yfv / dev / VolGroup00 / LogVol00

Ved utførelse vil FSCK returnere resultatet i form av en kode, denne koden er et unikt tall som representerer summen av følgende verdier:

0 - Ingen feil;
1 - Filsystemfeil rettet;
2 - Systemet bør startes på nytt;
4 - Filsystemfeil forblir ukorrigerte;
8 - Driftsfeil;
16 - Bruks- eller syntaksfeil;
32 - Fsck kansellert etter brukerforespørsel;
128 - Felt i delt bibliotek.

En datamaskin er en enhet som er avhengig av samspillet mellom mange komponenter. De kan forårsake funksjonsfeil over tid. En av de vanligste årsakene til det defekte arbeidet til maskinen er dårlige sektorer på disken, så den må testes med jevne mellomrom. Linux gir alle muligheter for dette.

Hva er ødelagte blokker og hvorfor dukker de opp

En blokk (sektor) er en liten celle på en disk som lagrer informasjon i form av biter (0 og 1). Når systemet ikke klarer å skrive neste bit inn i en celle, snakker de om en bitsektor. Det kan være flere årsaker til utseendet til slike blokker:

  • produksjonsfeil;
  • slå av mens du registrerer informasjon;
  • fysisk slitasje på disken.

I utgangspunktet har nesten alle medier brudd. Over tid kan antallet øke, noe som indikerer en overhengende feil på enheten. Det er flere måter å teste en disk for feil i Linux.

Linux disksjekk

Flere operativsystemer kjører på Linux-kjernen, inkludert Ubuntu og Debian. Disksjekkprosedyren er universell og passer for hver av dem. Det er verdt å tenke på tiden for å teste mediet, når disksystemet er under tung belastning, har hastigheten på arbeidet med mediet (skriving / lesing) redusert betydelig, eller disse prosedyrene forårsaker til og med feil.

Mange er kjent med programmet for Windows - Victoria HDD. Utviklerne tok seg av å skrive sine motstykker for Linux.

Badblocks

Badblocks er et diskverktøy som følger med Ubuntu og andre Linux-distribusjoner som standard. Programmet lar deg teste både harddisk og eksterne disker.

Viktig! Alle terminalkommandoer i denne artikkelen begynner med sudo-parameteren, siden de krever superbrukerrettigheter for å utføre.

Før du tester en disk i Linux, bør du sjekke hvilke stasjoner som er koblet til systemet ved hjelp av fdisk-l-verktøyet. Den vil også vise seksjonene som er tilgjengelige på dem.

Nå kan du fortsette til direkte testing for dårlige sektorer. Badblocks-arbeidet er organisert som følger:

badblocks -v / dev / sdk1> bsector.txt

Posten bruker følgende kommandoer og operander:

  • -v - viser en detaljert rapport om utført kontroll;
  • / dev / sdk 1- delen som kontrolleres;
  • bsector.txt - skrive resultater til en tekstfil.

Hvis du finner dårlige blokker mens du sjekker disken, må du kjøre fsck-verktøyet, eller e2fsck, avhengig av filsystemet som brukes. De vil begrense skriving av informasjon til ikke-arbeidende sektorer. For filsystemer ext2, ext3 eller ext4, kjør følgende kommando:

fsck -l bsector.txt / dev / sdk1

Ellers:

fsck -l bsector.txt / dev / sdk1

Parameteren -l forteller programmet at de dårlige blokkene er oppført i filen bsector.txt, og de bør ekskluderes.

Gparted

Verktøyet sjekker Linux-filsystemet uten å ty til et tekstbasert grensesnitt.

Verktøyet er ikke opprinnelig inkludert i distribusjonene til operativsystemet, så du må installere det ved å kjøre kommandoen:

apt-get install gparted

Tilgjengelige stasjoner vises i hovedprogramvinduet. At det er på tide å teste transportøren er tydelig av utropstegnet ved siden av navnet. Kontrollen startes ved å klikke på "Se etter feil"-elementet i "Seksjon"-undermenyen på topppanelet. Den ønskede platen er forhåndsvalgt. Når skanningen er fullført, vil verktøyet vise resultatet.

Å sjekke HDD og andre lagringsenheter med GParted-applikasjonen er tilgjengelig for brukere av Ubuntu, FreeBSD, Centos, Debian og andre og andre distribusjoner som kjører på Linux-kjernen.

Smartmontools

Verktøyet lar deg teste filsystemet med større pålitelighet. Moderne harddisker har en innebygd S. M. A. R. T.-selvovervåkingsmodul, som analyserer stasjonsdataene og hjelper til med å fastslå feilen i det innledende stadiet. Smartmontools er designet for å fungere med denne modulen.

Installasjonen startes gjennom terminalen:

  • apt install smartmontools - for Ubuntu / Debian;
  • nam installer smartmontools for CentOS.

For å se informasjon om tilstanden til harddisken, skriv inn linjen:

smartctl –H / dev / sdk1

Feilkontroll tar forskjellig tid avhengig av størrelsen på disken. På slutten vil programmet vise resultatet om tilstedeværelsen av dårlige sektorer, eller deres fravær.

Verktøyet har andre alternativer: -a, --all, -x, --xall. Hjelp er tilkalt for mer informasjon:

Safecopy

Når det er behov for å teste en harddisk i Linux, bør du være klar for ethvert resultat.

Safecopy-applikasjonen kopierer data fra en skadet enhet til en fungerende enhet. Kilden kan være både harddisker og flyttbare medier. Dette verktøyet ignorerer I/O-feil, lesninger, dårlige blokkeringer og fortsetter å kjøre kontinuerlig. Utførelseshastigheten er den raskeste mulige datamaskinen gir.

Kommentar! Verktøyet er ikke ment for å gjenopprette slettede filer. Hun trekker ut informasjonen som er lagret i de ødelagte sektorene.

For å installere Safecopy på Linux, skriv inn linjen i terminalen:

Skanning startes med kommandoen:

safecopy / dev / sdk1 / home / files /

Her er den første banen den skadede disken, den andre er katalogen der filene skal lagres.

Programmet er i stand til å lage et bilde av filsystemet til en ustabil lagringsenhet.

Hva du skal gjøre hvis det blir funnet en feil i Ubuntu-systemprogrammet

Installering av ny programvare eller endring av systeminnstillinger kan føre til meldingen "En feil har blitt oppdaget i systemprogrammet." Mange ignorerer det, siden det ikke påvirker det generelle arbeidet.

Problemet støtes vanligvis på av brukere av Ubuntu versjon 16.04. I dette tilfellet er det ikke nødvendig å teste harddisken, siden problemet er mer sannsynlig å være en programvarefeil. Meldingen varsler om uventet avslutning av programmet og tilbyr å sende en rapport til utviklerne. Hvis du samtykker, åpnes et nettleservindu der du må fylle ut et 4-trinns skjema. Dette alternativet forårsaker vanskeligheter og garanterer ikke at feilen vil forsvinne.

Den andre metoden vil bidra til å unngå at meldingen vises bare hvis den kalles opp av det samme programmet. For å gjøre dette, ved neste varsel, må du sjekke alternativet "Ikke vis mer for dette programmet".

Den tredje metoden er å deaktivere Apport-verktøyet, som er ansvarlig for å samle informasjon og sende rapporter i Linux. Denne tilnærmingen vil fullstendig eliminere popup-vinduer med feil. Det er mulig å deaktivere bare visningen av varsler, slik at innsamlingstjenesten fungerer. For å gjøre dette, må du gjøre:

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

Data vil fortsette å bli samlet inn i / var / crash-mappen. De må rengjøres med jevne mellomrom slik at de ikke fyller opp diskplass:

For å deaktivere Apport-tjenester fullstendig, legges det inn en oppføring i terminalen:

gksu gedit / etc / default / apport

I teksten som vises, endres verdien av aktiveringsfeltet fra 1 til 0. Senere, for å reaktivere tjenesten, returneres standardinnstillingene.

Konklusjon

For å forhindre tap av filer, anbefales det at du tester harddisken og flyttbare medier med jevne mellomrom. Linux tilbyr flere tilnærminger for å løse problemet. Du kan velge fra en liste over verktøy som identifiserer dårlige sektorer og overfører informasjon til en normalt fungerende enhet.

Hadde Linus Torvalds, som skapte sin idé, at Linux ville bli brukt i innebygde systemer, ikke bare i billige hjemmerutere, men også i så seriøse telekomløsninger som AVAYA PBX?

Nylig var det nødvendig å gjenopprette AVAYA automatiske telefonsentral til en stor kunde. Dette er en Avaya G650 Media Gateway (chassis) med en Avaya S8400 Server (prosessor). Der systemdisken er 2 GB CompactFlash. Som betinget kan betraktes som en SSD-stasjon med et IDE-grensesnitt.
Og hva var overraskelsen min da jeg koblet til CF-stasjonen gjennom en kortleser og så den kjente strukturen til Linux-filsystemet. Dette forenklet selvfølgelig prosedyren for å kontrollere ytelsen til CF-stasjonen.

Hvordan sjekke filsystemet til en Linux-disk for feil

I MicroSoft DOS-operativsystemet (å ja, jeg husker versjon 5.0, som passet på én diskett!) var det en CHKDSK-kontrollkommando. Og det er noe lignende i Linux.
For å sjekke en Linux-disk for filsystemfeil, må du finne ut navnene på filsystemene for å sjekke:

# df -h Filsystem Størrelse Brukt Tilgjengelig Bruk% Montert på / dev / sda 20G 4.0G 15G 21% / / dev / sdd1 1G 455M 555M 46% / media / Np% blsl3648B4Jjeiedgyy / dev / sdd 9M /G 90 media 10.13-23dd ingen 246M 0 246M 0% / dev / shm

For CF-stasjonen som testes, er dette / dev / sdd1 og / dev / sdd6
Deretter må du avmontere filsystemene som testes:

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

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

Parameter -y vil automatisk svare ja på alle spørsmål, noe de fleste brukere som regel gjør.

Lunux FSCK-filsystemkontrollresultater

I mitt tilfelle var det feil på en av delene som verktøyet rettet. Etter det ble CF-stasjonen returnert til sin plass og Avaya PBX ble gjenopprettet.

Jeg måtte også møte dette problemet. Min ene venn som har Ubuntu på en gammel ASUS bærbar PC, og som rett og slett ikke vil slå på hjernen i det minste noen ganger, henvendte seg til meg med et slikt problem. På den bærbare datamaskinen hans er en ny Ubuntu 12.10 installert, og veldig ofte vil systemet rett og slett ikke starte opp, kaste det inn i en svart skjerm eller fryse mot en lilla bakgrunn. Men nylig har en slik melding begynt å dukke opp, noe sånt som "Operativsystemet kunne ikke starte opp. Velg den nødvendige tasten for ytterligere handlinger ... "Og så er det en beskrivelse av hva du trenger å trykke. Jeg husker ikke nøyaktig hvilke taster systemet foreslår å trykke på, men meningen er at for å automatisk korrigere feil, trykk på en slik og en tast, for manuell feilsøking, en annen, og for å ignorere denne meldingen foreslås det å trykke på den tredje knappen . Automatisk feilretting førte ikke til noe, og lasting av operativsystemet nådde ikke sin logiske konklusjon. Så jeg bestemte meg for å prøve det berømte laget fsck.

Først må du starte enten fra en oppstartbar Ubuntu USB-pinne (Lubuntu, Xubuntu, Kubuntu, etc.), eller fra en Ubuntu Live CD. Nå må vi finne ut hvilken partisjon med Ubuntu vi må skanne for å fikse filsystemet. Start Terminal (Ctrl-Alt-T) og utfør kommandoen:

sudo fdisk -l

Denne kommandoen vil vise oss alle disker, flash-stasjoner som er montert på systemet. Jeg vil bruke min personlige datamaskin som et eksempel, ikke en venns bærbare datamaskin. Her er hva som skjedde med meg:

[e-postbeskyttet]: ~ $ sudo fdisk -l

Disk / dev / sda: 640,1 GB, 640135028736 byte
255 hoder, 63 sektorer / spor, 77825 sylindre, totalt 1250263728 sektorer



Diskidentifikator: 0x0009d6f7


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

Disk / dev / sdb: 500,1 GB, 500107862016 byte
255 hoder, 63 sektorer / spor, 60801 sylindre, totalt 976773168 sektorer
Enheter = sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I/O-størrelse (minimum / optimal): 512 byte / 512 byte
Diskidentifikator: 0xb9ff6f01

Device Boot Start End Blocks Id System
/ dev / sdb1 * 16065 100197404 50090670 83 Linux
/ dev / sdb2 105322201 976771071 435724435+ 5 Utvidet
/ 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

Partisjonstabelloppføringer er ikke i diskrekkefølge

Disk / dev / sdc: 8115 MB, 8115978240 byte
250 hoder, 62 sektorer / spor, 1022 sylindre, totalt 15851520 sektorer
Enheter = sektorer på 1 * 512 = 512 byte
Sektorstørrelse (logisk / fysisk): 512 byte / 512 byte
I/O-størrelse (minimum / optimal): 512 byte / 512 byte
Diskidentifikator: 0xc3072e18

Device Boot Start End Blocks Id System
/ dev / sdc1 * 32 15847625 7923797 b W95 FAT32

Som du kan se fra kommandoutgangen sudo fdisk -l, jeg har 2 harddisker (sda) 640 GB og (sdb) 500 GB, samt en flash-stasjon (sdc) 8 GB, som jeg faktisk startet opp fra. Jeg vet at det Ubuntu 12.04-baserte systemet mitt er på sda-stasjonen og operativsystempartisjonen heter sda1 tilsvarende.

Nå som vi vet delen som må skannes, kan vi faktisk begynne å sjekke den. I terminalen:

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

hvis du ser en feil, må du mest sannsynlig demontere denne delen:

sudo umount / dev / sda1

Kommandotaster og parametere fsck:

y- svar alltid ja på alle spørsmål (det er et alternativ: tast p - starter sjekken i helautomatisk modus);

f- tvungen sjekk av filsystemet (selv om filsystemet er merket som fullt funksjonelt)

c- søker etter dårlige blokker, og merker dem deretter

/ dev / sda1- enheten eller delen som skal kontrolleres. Selv om laget kan ha et annet utseende. For eksempel:

sudo fsck -p / dev / sda1

I dette tilfellet er bare -p-bryteren lagt til. Du har nettopp lest om alle alternativene for fsck-kommandoen og legger til akkurat de alternativene du trenger. For å finne ut om alle funksjonene i programmet, skriv inn i terminalen:

mann fsck

Her er hva terminalen utstedte etter å ha sjekket:

[e-postbeskyttet]: ~ $ sudo fsck -y -f -c / dev / sda1
fsck fra util-linux 2.20.1
e2fsck 1.42.5 (29. juli 2012)
Sjekker for dårlige blokkeringer (skrivebeskyttet test): 0,00 % ferdig, 0:00 gått. (0/0/0 feil
/ dev / sda1: Oppdaterer dårlig blokkinode.
Pass 1: Kontroll av inoder, blokker og størrelser
Pass 2: Sjekker katalogstruktur
Pass 3: Sjekker katalogtilkobling
Bestått 4: Kontrollerer referanseantallet
Pass 5: Kontrollerer gruppesammendragsinformasjon

Enhver datamaskin er en kompleks enhet som består av mange komponenter, og ingen er immun mot feil på noen av dem. I denne artikkelen vil vi se på hvordan du rettidig gjenkjenner et av de alvorlige problemene med lagringsenheter, det være seg en harddisk eller en flash-stasjon, hvordan en disk sjekkes for dårlige linux-sektorer.

Enhver lagringsenhet består av mange små blokker (sektorer) som lagrer informasjon i form av nuller eller enere (biter). Hvis operativsystemet av en eller annen grunn ikke kan skrive litt informasjon til en bestemt sektor, kan det betraktes som "ødelagt".

En sektor kan bli skadet av en rekke årsaker:

  • Produksjonsfeil
  • Slå av datamaskinen mens du registrerer informasjon.
  • Fysisk slitasje på stasjonen.

Et lite antall dårlige sektorer finnes på nesten alle stasjoner. Men det er verdt å være oppmerksom hvis antallet øker over tid. Dette kan indikere den forestående fysiske døden til stasjonen, og det er på tide at du tenker på å erstatte den.

La oss se på hvilke verktøy i Linux vi kan sjekke disken for dårlige linux-sektorer.

Sjekker stasjonen for dårlige sektorer ved å bruke badblocks.

Badblocks er et standard Linux-verktøy for å se etter dårlige sektorer. Den er installert som standard i nesten alle distribusjonssett, og med dens hjelp kan du sjekke både harddisken og den eksterne stasjonen.

La oss først se hvilke stasjoner som er koblet til systemet vårt og hvilke partisjoner de har. For å gjøre dette trenger vi et annet standard Linux-verktøy - fdisk.

Naturligvis må du utføre kommandoer med superbrukerrettigheter:

Parameteren -l vi ber fdisk vise listen over partisjoner og avslutte.

Nå som vi vet hvilke partisjoner vi har, kan vi sjekke dem for dårlige sektorer. For å gjøre dette bruker vi badblocks-verktøyet som følger:

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

For verifisering angir vi følgende parametere:

  • -v- detaljert visning av informasjon om resultatene av kontrollen.
  • / dev / sda1- delen som vi ønsker å sjekke for dårlige sektorer.
  • > badsectors.txt- vi sender ut resultatet av kommandoen til badsectors.txt-filen.

Hvis det som et resultat ble funnet dårlige sektorer, må vi instruere operativsystemet til ikke å skrive informasjon i dem i fremtiden. For å gjøre dette trenger vi Linux-verktøy for å jobbe med filsystemer:

  • e2fsck. Hvis vi fikser en partisjon med Linux-filsystemer (ext2, ext3, ext4).
  • fsck. Hvis vi fikser et annet filsystem enn ext.

Vi legger inn følgende kommandoer:

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

Eller, hvis filsystemet vårt ikke er ext:

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

Parameteren -l vi ber verktøyet bruke listen over dårlige sektorer fra badsectors.txt-filen, som vi mottok tidligere da vi sjekket med badblocks-verktøyet.

Sjekker en stasjon for dårlige sektorer i Linux i smartmontools

La oss nå se på en mer moderne og pålitelig måte å sjekke en disk for dårlige linux-sektorer. Moderne ATA / SATA, SCSI / SAS, SSD-stasjoner har et innebygd selvovervåkingssystem S.M.A.R.T (selvovervåking, analyse og rapporteringsteknologi, Selvovervåking, analyse og rapporteringsteknologi), som overvåker parametrene til frekvensomformeren og hjelper til med å bestemme forringelsen av frekvensomformerens ytelse i de tidlige stadiene. For å jobbe med S.M.A.R.T i Linux, er det et smartmontools-verktøy.

La oss installere det først. Hvis distribusjonen din er basert på Debian \ Ubuntu, skriv inn:

$ sudo apt installer smartmontools

Hvis du har et distribusjonssett basert på RHEL \ CentOS, skriv inn:

$ sudo yum installer smartmontools