Hvordan kjøre en sjekkdisk?

Jeg mistenker at det kan være dårlig sektor på en disk. Jeg brukte ext3 filsystem.

Hvilket verktøy er den beste ekvivalenten til feilkontrollverktøyet til Windows?

Løsning

Disker

For å se etter dårlige sektorer, sjekk SMART-dataene, sannsynligvis best tilgjengelig ved å starte Disks-verktøyet (Palimpsest). Selv om du ikke ser noen dårlige blokker der, start en selvtest for å være sikker.

Programmet er samlet i pakken gnome-disk-utility. Kjør gksudo gnome-disks.

SMART fra Palimpsest]1.

Eller i Ubuntu 16.04 versjon (3.18):

[!

Badblocks

Du kan også bruke badblocks

sudo badblocks -sv /dev/sda

for å bare sjekke, eller for å sjekke og fikse først skrive resultatet til en midlertidig fil:

sudo badblocks -sv /dev/sda  > bad-blocks-result
sudo fsck -t ext4 -l bad-blocks-result /dev/sda1

vil sjekke hele disken og skrive ut alle dårlige blokker som finnes på /dev/sda.

Fra badblocks manual:

Viktig merknad: Hvis utdataene fra badblocks skal mates til e2fsck- eller mke2fs-programmene, er det viktig at blokkstørrelsen er riktig spesifisert, siden blokknumrene som genereres er svært avhengige av blokkstørrelsen som brukes av filsystemet. Av denne grunn anbefales det sterkt at brukere ikke kjører badblocks direkte, men heller bruker -c-alternativet til e2fsck- og mke2fs-programmene.

fsck

fsck i seg selv vil ikke hjelpe deg med å finne dårlige sektorer, enda verre, hvis det er mange dårlige sektorer, kan det skade dataene dine enda mer. Bruk den bare når disken er sunn.

Kommentarer (10)

Gjennom dette svaret antar jeg at en lagringsstasjon vises som en blokkeringsenhet på banen /dev/sdc. For å finne banen til en lagringsstasjon i vårt nåværende oppsett, bruk:

  • Gnome Disks (tidligere Gnome Disk Utility, a. k. a. palimpsest), hvis en GUI er tilgjengelig, eller
  • på terminalen se på utdataene fra lsblk og ls -l /dev/disk/by-id og prøv å finne riktig enhet etter størrelse, partisjonering, produsent og modellnavn.

Grunnleggende sjekk

  • oppdager bare medier som ikke svarer fullstendig
  • nesten øyeblikkelig (med mindre mediet er spunnet ned eller ødelagt)
  • sikker
  • Fungerer på skrivebeskyttede medier (f.eks. CD, DVD, BluRay).

Noen ganger nekter et lagringsmedium rett og slett å fungere i det hele tatt. Det vises fremdeles som en blokkeringsenhet for kjernen og i diskbehandleren, men den første sektoren som inneholder partisjonstabellen er ikke lesbar. Dette kan enkelt verifiseres med:

sudo dd if=/dev/sdc of=/dev/null count=1

Hvis denne kommandoen resulterer i en melding om en "Input / output error", er stasjonen vår ødelagt eller på annen måte ikke klarer å samhandle med Linux-kjernen som forventet. I førstnevnte tilfelle, med litt flaks, kan en datagjenopprettingsspesialist med et passende utstyrt laboratorium redde innholdet. I sistnevnte tilfelle er et annet operativsystem verdt et forsøk. (Jeg har kommet over USB-stasjoner som fungerer på Windows uten spesielle drivere, men ikke på Linux eller OS X).

S.M.A.R.T. selvtest.

  • justerbar grundighet
  • øyeblikkelig til treg eller tregere (avhenger av testens grundighet)
  • sikker
  • advarer om sannsynlig feil i nær fremtid

Enheter som støtter det, kan spørres om deres helse gjennom [S.M.A.R.T.] (https://en.wikipedia.org/wiki/S.M.A.R.T.) eller instrueres til å utføre integritet selvtester av forskjellig grundighet. Dette er generelt det beste alternativet, men vanligvis bare tilgjengelig på (ikke-gamle) harddisker og solid state-stasjoner. De fleste flyttbare flashmedier støtter det ikke.

Ytterligere ressurser og instruksjoner:

Skrivebeskyttet sjekk

  • oppdager bare noen flash-mediefeil
  • ganske pålitelig for harddisker
  • treg
  • sikker
  • fungerer på skrivebeskyttede medier (f.eks. CD, DVD, BluRay)

For å teste leseintegriteten til hele enheten uten å skrive til den, kan vi bruke badblocks(8) som dette:

sudo badblocks -b 4096 -c 4096 -s /dev/sdc

Denne operasjonen kan ta mye tid, spesielt hvis lagringsstasjonen faktisk er skadet. Hvis feiltellingen stiger over null, vet vi at det er en dårlig blokk. Vi kan trygt avbryte operasjonen når som helst (til og med kraftig som under et strømbrudd), hvis vi ikke er interessert i den nøyaktige mengden (og kanskje plasseringen) av dårlige blokker. Det er mulig å avbryte automatisk ved feil med alternativet -e 1.

Merknad for avansert bruk: Hvis vi ønsker å gjenbruke utdataene for e2fsck, må vi sette blokkstørrelsen (-b) til det inneholdte filsystemet. Vi kan også tilpasse mengden data (-c, i blokker) som testes samtidig for å forbedre gjennomstrømningen; 16 MiB bør være i orden for de fleste enheter.

Ikke-destruktiv lese-skrive-kontroll

  • veldig grundig
  • tregest
  • ganske sikker (unntatt strømbrudd eller intermitterende kjernepanikk)

Sometimes – especially with flash media – an error only occurs when trying to write. (This will not reliably discover (flash) media, that advertise a larger size, than they actually have; use Fight Flash Fraud instead.)

  • NEVER use this on a drive with mounted file systems! badblocks refuses to operate on those anyway, unless you force it.

  • Don't interrupt this operation forcefully! Ctrl+C (SIGINT/SIGTERM) and waiting for graceful premature termination is ok, but killall -9 badblocks (SIGKILL) isn't. Upon forceful termination badblocks cannot restore the original content of the currently tested block range and will leave it overwritten with junk data and possibly corrupt the file system.

To use non-destructive read-write checks, add the -n option to the above badblocks command.

Destructive read-write check

  • very thorough
  • slower
  • ERASES ALL DATA ON THE DRIVE

As above, but without restoring the previous drive content after performing the write test, therefore it's a little faster. Since data is erased anyway, forceful termination remains without (additional) negative consequence.

For å bruke destruktive lese- og skrivekontroller, legg til -w-alternativet til kommandoen badblocks ovenfor.

Kommentarer (0)

fsck - sjekk og reparer et Linux-filsystem. Påkall det ved hjelp av

fsck /dev/sda1

der /dev/sda1 er stasjonen du vil sjekke. Se 'man fsck' for mer informasjon.

Det er også 'badblocks' kommando som sjekker en enhet for, du gjettet det, dårlige blokker.

Stasjonen må demonteres når den er sjekket, så for å sjekke rotpartisjonen må du opprette en fil ' forcefsck & 39; i roten til partisjonen og starte på nytt. Enheten vil bli sjekket ved neste oppstart:

sudo touch /forcefsck
sudo reboot

Alternativt kan du starte opp fra en Live CD og kjøre sjekken derfra.

Kommentarer (5)

badblocks

Du kan se etter badblocks ved å kjøre kommandoen

  1. sudo badblocks -nsv /dev/[device-partition] > bad-blocks-result for en ikke-destruktiv lese-skrive-test. Det vil generere en fil kalt bad-blocks-result med sektorene som er skadet.
  • -n Bruk ikke-destruktiv lese-skrivemodus. Som standard utføres bare en ikke-destruktiv skrivebeskyttet test.

  • -s Vis fremdriften av skanningen ved å skrive ut grov prosentvis fullføring av gjeldende badblocks-pass over disken.

  • -v Verbose-modus.

  1. Deretter kan du kjøre sudo fsck -t ext3 -l bad-blocks-result /dev/[device-partition] for å fortelle filsystemet hvor de dårlige sektorene er og flytte data bort fra dem, hvis mulig.

Du kan lese mer om det her.

Kommentarer (4)

smartctl

IMO smartctl er et bedre verktøy. Du må sannsynligvis installere det først

sudo apt-get install smartmontools 

Deretter

sudo smartctl -a /dev/sda | less

for å skrive ut stasjonshelsedata, attributter og tilgjengelige testresultater. For å avslutte mindre, skriv q. Alternativt

sudo smartctl -H /dev/sda

for bare å skrive ut helsedata.

For å starte en ny kort (noen få minutter) eller lang (opptil mange timer) selvtest i bakgrunnen:

sudo smartctl -t [short|long]

GSsmartControl (hjemmeside) og Gnome Disks er grafiske frontender hvis du foretrekker det.

Se også

Kommentarer (2)

F3 (Fight Flash Fraud) er et annet alternativ som i tillegg skal oppdage falske minnepinner (minnepinner hvis faktiske kapasitet er en brøkdel av den annonserte kapasiteten):

  1. Installer F3

     sudo apt install f3
  2. Sett inn stasjonen din

  3. Skriv testdata til ledig plass på stasjonen (sjekk hvor stasjonen er montert med lsblk)

     f3write /media/$USER/D871-DD7C/
  4. Les testdataene

     f3lese /media/$USER/D871-DD7C/

Referanse:

Badblocks fungerer bra, men det er ikke designet for å oppdage falske flash-stasjoner og kan ikke rapportere noen feil for dem.

Kommentarer (1)