Hur man reparerar dåliga block på Linux



Prova Vårt Instrument För Att Eliminera Problem

Användare som dubbelt startar en viss distribution av Linux med en version av Microsoft Windows kan ibland försöka krympa eller växa vissa partitioner för att ge mer utrymme för det ena operativsystemet eller det andra. Du kan i slutändan få en varning från GParted i Linux eller chkdsk i Windows om att det fanns dåliga sektorer. Enskilda användare av Linux kan ibland få samma. Trots detta kan användarna faktiskt få meddelanden om två olika typer av dålig sektor som maskeras som samma. En är den traditionella anmälan av dåliga sektorer som indikerar ett problem med den fysiska geometrin hos en skivbricka eller en NAND-minnescell. Det här är vad de flesta menar när de klagar över ett dåligt block, men det finns en liten men mycket teknisk skillnad mellan en dålig sektor och ett dåligt block. Maskiner säljer dock sällan sektorer felaktigt som dåliga.



Dessa är kända som mjuka dåliga sektorer eller programvara dåliga block, och kan korrigeras bara genom en enkel filsystemoperation. Med tanke på faran med att skriva till dåliga block är det dock alltid en bra idé att starta din undersökning med en SMART-datainspektion när du hanterar en fast volym. Detta är icke-destruktivt och kan rensa bort geometriproblem innan du fortsätter. Om du inte arbetar med en fast volym kanske du vill börja din undersökning med nästa metod.



Metod 1: Kontroll av SMART-data

Det är lätt att tro att dessa dåliga sektorer bara är ett programvarufel, men det finns ett sätt att kontrollera om det är så. Med hjälp av SMART-data är det enkelt att inspektera skivans egen firmware och veta säkert. Öppna GNOME-skivverktyget från Dash i Unity, Whisker-menyn i Xfce4, tillbehörsmenyn i LXDE eller från GNOME-applikationsmenyn i KDE. Du kan också starta det genom att skriva gnome-skivor vid terminalen och trycka på enter-tangenten. Klicka på menyn bredvid fönstrets högerkontroll efter att du har markerat hårddisken med pekaren i vänster kolumn. På de flesta GNU / Linux-installationer kommer skivverktyget att vara din primära hårddisk som standard.



Välj SMART Data & Self-Tests från menyn. Du kan också hålla CTRL och trycka på S för att öppna det här fönstret. Detta visar din hårddisks nuvarande hälsa. Om värdena är tomma klickar du på knappen Starta självtest för att tvinga din disk att köra en självkontroll. Den övergripande utvärderingsraden längst upp kommer att berätta vad GNOME Disks Utility tycker om din enhet.

Du kan behöva bläddra igenom SMART-attributen även på en helskärmsvisning. Var särskilt uppmärksam på ett alternativ som heter Reallocation Count. Detta visar hur många sektorer som redan har omfördelats. Om det finns många dåliga sektorer är det förmodligen en bra idé att byta ut enheten innan den helt misslyckas.



Metod 2: Kontrollera om det är rätt Superblock

Ibland kanske du upptäcker att SMART-data visade allt i ordning, men du kan ha fått ett 'Bad Superblock' -fel från vissa diskverktyg. Om du arbetade med SD-kort, USB-minnen eller annat sådant minne skulle du inte kunna läsa SMART-data och ändå kan du ha några fel. Detta kan mycket väl vara ett programvaruproblem. Tänk på frågan om att köra ett kommando som:

fsck.ext4 / dev / sda

Detta kommer mer än troligt att indikera att du har ett dåligt superblock, vilket hänvisar till huvudblocket i ditt filsystem. Detta är resultatet av ett CLI-fel och inte ett verkligt dåligt block. Eftersom / dev / sdb hänvisar till en enhet och inte en parition, kommer ditt fsck-kommando att leta efter ett superblock där det inte finns en och felaktigt tror att något var fel. Lyckligtvis var detta inte ett destruktivt kommando. Springa:

sudo fsck.ext4 / dev / sda1

Det kan berätta nu att ditt filsystem är rent. Se till att numret som kommer efter ext matchar volymens ext-version.

Du kan också få det här felet om du skulle försöka köra ext2 / 3/4 fsck på en FAT12 / 16 / 32-, NTFS- eller HFS / HFS + -volym. Konsistenskontrollen blir förvirrad och tycker att något är fel, när filstrukturstypen i verkligheten inte matchar vad som förväntas. Kör fsck.vfat eller dosfsck på FAT-volymer oavsett vilken bitversion du använder. Du kan använda omkopplaren -t efter dosfsck eller fsck.vfat (fsck.msdos på vissa versioner av Linux) för att markera oläsliga kluster som dåliga block.

Metod 3: Kontroll av dåliga block på NTFS-volymer

Om du antar att du startar Microsoft Windows och Linux dubbelt och att du har superblock eller andra dåliga sektorfel på en NTFS-volym startar du om till Windows och kör kommandoraden chkdsk / rc :, ersätt c: med enhetsbokstaven i NTFS-volym i fråga. Windows måste mer än troligtvis starta om för att slutföra ytan. Det kan ta lite tid, så om det verkar som om ditt operativsystem inte svarar beror det bara på hur lång tid det är fråga om. Om du fick ett fel om att du inte hade rätt behörighet högerklickar du på kommandotolken i Start-menyn och väljer Kör som administratör innan du fortsätter.

Om du arbetar med en NTFS-volym uteslutande under Linux, har du inte så mycket av ett tillvägagångssätt, men om det felaktiga blockeringsfelet bara var från en typmatchning har du ett sätt att korrigera det. Kör sudo ntfsfix / dev / sdb1, ersätt bokstaven och siffran efter / dev / sd med rätt enhet och partitionsidentifierare. Kom ihåg att du alltid kan köra sudo fdisk-l eller gå tillbaka till GNOME Disks Utility om det är installerat för att kontrollera namnen på varje volym som är ansluten till ditt system. Du kan köra det som sudo ntfsfix -d / dev / sdb1 om du är säker på att du vill att den smutsiga biten ska rensas.

Om du är säker på att en NTFS-volym har mjuka dåliga block som inte beror på fysisk hårdvarugetri, till exempel när du klonade en gammal disk med dåliga sektorer till en ny volym, kör sedan sudo ntfsfix -bd / dev / sdb1 på vad som helst volym du vill ha. Detta återställer listan med dåliga blockmarkörer.

Metod 4: Använda Badblocks Linux Utility

Efter att ha startat i en live ISO Linux-version eller har hittat något annat sätt att avmontera ett ext2-, ext3- eller ext4-filsystem kan du faktiskt köra sudo fsck.ext4 -c / dev / sda1 för att utföra en skrivskyddad skanning för dåliga block. Naturligtvis måste du använda rätt volymidentifierare efter / dev / sd och rätt ext-version efter fsck.ext för att köra det ordentligt. Om du istället anger -cc kommer programmet att använda ett ännu mer omfattande icke-destruktivt läs-skriv-test.

Detta är det normala sättet att använda badblocks-verktyget, men du kan tekniskt använda det också av dess ensamma. Kör sudo badblocks -n på ett enhetsnamn för att köra det själv och rapportera badblocks direkt i din terminal. Du kan använda -w-alternativet för att använda ett skrivlägetest, men använd inte alternativen -n och -w tillsammans eftersom de utesluter varandra. Du bör under inga omständigheter använda alternativet -w på en volym som har data, eftersom det raderar allt rent. Använd alternativet långsammare -n eftersom det kommer att bevara dina data i det här fallet. Alternativet -w är bra för volymer som du inte har något emot att radera. Alternativet -v kan kombineras med endera, och ger din terminal lite detaljerad produktion som är användbar för inspektion av datakorruption. Du kan alltid använda alternativet -o med namnet på en textfil för att skriva ut informationen så att du kan titta på den senare. Du kanske vill köra den som sudo badblocks -nv -o badblocks.log / dev / sdb1 för att få en ögonblicksbild, eftersom du ser mycket information om det finns äkta dåliga block.

5 minuter läst