Spinrite

Fra PGwiki

Skift til: Navigation, Søgning

Den følgende guide kræver programmet Spinrite. [Download her http://www.grc.com/spinrite.htm]

En del kender sikkert allerede utility-programmet Spinrite som snart har været på markedet i to årtier i forskellige inkarnationer, men rigtig mange gør ikke og det synes jeg er lidt synd. Det kan nemlig nogle helt unikke ting med en harddisk og har reddet undertegnede fra et apoplektisk anfald med derpå følgende akut mande-krise mere end en gang.

Lad os indledningsvis slå noget fast...

Hvad Spinrite er..

Spinrite er et utility program som kan analysere en disk (hard og floppy) for fejl og svage steder, genopfriske data på ældre diske samt - hvis uheldet er ude - genskabe data som er forsvundet som følge af fejlen.

Hvad Spinrite ikke er..

Spinrite kan ikke rette op på 40-centimeters fejl, dvs. fejl forårsaget af personen som sidder 40 cm fra skærmen. Kommer du til at formatere dit C-drev eller slette alt dit pr0n, er det ikke lige dette program, du skal have fat i. Det indeholder ingen undelete eller unformat funktionalitet. Det kan heller ikke de-fragmentere disken. Spinrite arbejder kun på det fysiske niveau.

Præsentation

Spinrite er skrevet i ren Assembly og er derfor meget kompakt - ca. 175 kb fylder det - og det er dermed også meget hurtigt at hente ned fra dit favorit P2P net. Jeg fandt det selv på mulen i flere versioner. Hent ikke en tidligere udgave end version 6, idet version 5 og nedefter har en del begrænsninger som gør dem mindre egnede til moderne PC’ere.

Indledningsvis skal den downloadede fil startes på en Windows-maskine, og den spørger nu om du vil generere en floppy eller en CD. Jeg har ikke prøvet floppy-udgaven, men den anden option genererer en ISO-fil som derpå skal brændes på en CD. Denne CD booter bare man med, og så starter Spinrite ellers automatisk.

Fra nu af er det komplet ligegyldigt hvilket filsystem disken er formateret med. Windows og Linux er intet problem og hvis du hiver harddisken ud af din Mac og sætter den i en PC, så klarer Spinrite også den. Det samme gælder for en disk fra et TIVO-system, en PS2 eller endda en ny og uformateret hardisk. Hvis disken kan rotere og PC’ens BIOS kan se den, så kan Spinrite æde den.

Brugergrænsefladen er meget simpel og idiotsikker, og der er kun få valgmuligheder. Man kan vælge hvilken partition eller hvilket drev man vil arbejde med samt hvilken af de 5 forskellige optioner man ønsker at køre.

Der står også en masse mere eller mindre interessant teknisk information om de enkelte diske, men det er ikke noget som Spinrite selv finder ud af. Programmet udlæser blot drevenes SMART-registre.

Lidt om SMART

SMART er et akronym: Self Monitoring Analysis and Reporting Technology og dette går simpelthen ud på at alle moderne harddiske har en række indbyggede sensorer som løbende registrerer udvalgte parametre. Disse registreringer gemmes i nogle interne registre, hvorfra de kan udlæses af folk som gerne vil vide noget om disken og hvilke driftsbetingelser den har "levet" under.

Præcist hvilke parametre som logges varierer fra disk til disk, men de mest almindelige er min, maks samt aktuel temperatur, samlet drifttid, antal fejllæsninger, tid siden sidste fejllæsning samt nogle stykker mere.

Blandt de mere eksotiske som jeg er stødt på var et indbygget accelerometer som måler stød-påvirkninger samt måling af max. spænding. Dvs. at hvis ens harddisk dør fordi man taber den ned ad trappen eller kommer til at give den 230 volt på 12 volts stikket, så er det ikke sikkert at man får den byttet på garantien. I hvert fald ikke hvis et indbygget accelerometer viser, at den har været udsat for 200 G.

Anyway, så udlæser Spinrite som sagt diskens SMART-registre - ikke blot ved start, men løbende under kørslen. Dette giver bl.a. mulighed for at overvåge drifttemperaturen, hvilket specielt er interessant for ejere af de notorisk lune Maxtor-diske.

De fem operating levels

Spinrite har 5 forskellige retter på menu’en som betegnes "operating levels". 2 af disse kan vælges direkte fra opstartsskærmen, mens de øvrige 3 kræver at man går et step længere ned i menu-strukturen.

De to på forsiden er level 2 (genskab tabte data) og level 4 (undersøg disken for bad blocks). Førstnævnte er den man bruger når katastrofen er sket og sidstnævnte er den man normalt vil bruge ved periodiske vedligeholdelses-kørsler. Men for at holde lidt system i tingene, løber jeg lige alle 5 igennem fra en ende af.

1. Examine Surfaces

Denne option bruges til at få et hurtigt overblik over diskens generelle sundhedstilstand, og er den af de 5 levels som tager kortests tid at køre. Overfladen checkes igennen for fejl ved at hver eneste sektor på disken læses. Det vigtige er her at Spinrite disabler/snyder drevets indbyggede fejlkorrektions-mekanismer under kørslen, så det er rene rå læsninger som udføres.

Dermed afsløres også svage steder på disken som ellers ville blive maskeret af drevets interne logik. Sådanne kunne være det første tegn på et snarligt svigt, så på denne måde er Spinrite ofte istand til at advare inden skaden sker.

2. Recover unreadable data

Dette er den option som bruges den dag uheldet er ude og disken pludselig opgiver ånden. Det er også her hvor Spinrite virkelig imponerer med en velgennemtænkt recovery-strategi.

Indledningsvis starter programmet med at tygge disken igennem for at lokalisere de sektorer hvor der er læsefejl. Når det finder de syge steder, prøver det først at læse de defekte områder en hel masse gange efter hinanden ud fra den filosofi, at selvom det ikke lykkes de første par gange, kan man jo være heldig én gang ud af mange tusinde forsøg. Og én vellykket læsning er jo alt hvad man har brug for.

Virker dette ikke træder den patenterede Dynastat algoritme til. Den fungerer ud fra det princip, at man altid kan læse et eller andet fra disken,- også selvom det man læser måske er helt eller delvist forvansket. Nu prøver algoritmen så at udnytte de mekaniske tolerancer i positioneringsmekanismen samt de magnetiske afsmitningseffekter ved at køre læsehovedet frem og tilbage over det fejlbehæftede sted i en uendelighed fra begge sider og opsamle tusindvis af læsninger. Disse udsættes for en løbende statistisk analyse, og på et eller andet tidspunkt viser der sig en eller anden korrelation i de læste data. Når denne tendens bliver tilstrækkelig udtalt, har Spinrite rekonstrueret de tabte data.

Hvor lang tid dette tager afhænger af, hvor mange fejl der er og hvor alvorlige de er. Sidst jeg prøvede det, kørte programmet i næsten to dage for at redde en 120 Gbyte disk. Det var med en AMD 2200+. Programmet giver ikke op uden videre, så regn med at der går lang tid.

Men hvor er det bare fedt at få sine tabte data tilbage efter at man troede at alt håb var ude Very Happy

3. Refresh the Surfaces

Hele diskens indhold læses og skrives tilbage på disken - alle de gemte data "genopfriskes" altså. Dette lyder måske lidt i retning af et kommunalt aktiveringsprojekt for harddiske, men har faktisk et fornuftigt formål.

Magnetisk information er nemlig langt fra permanent, hvilket man opdager den dag man skal bruge noget som er gemt på en gammel diskette fra firserne. De små forskelle i magnetisk fluxtæthed udjævnes langsomt over tid indtil de en dag falder under det signal/støjforhold som drevets elektronik kræver. Og så får man læsefejl. Dette kan forhindres ved at sørge for at alle data genskrives en gang imellem - f.eks en gang om året.

Der er også et mekanisk slid involveret, som gør at læsehovedets sporing flytter sig en lille smule med alderen. Dvs. at læsehovedet idag ikke sporer 100% med data som blev skrevet for meget lang tid siden. Skønt de måske stadig kan læses, så vil signalstyrken for det analoge signal fra læsehovedet være reduceret, hvis hovedet kører en smule skævt i forhold til det skrevne spor. Igen noget som øger faren for læsefejl. Ved at genskrive sine data, får man lagt dem i læsehovedets "nye" spor.

4. Locate surface errors

Dette er nok den mest brugte af de 5 operating levels og formålet er periodiske vedligeholdelses-kørsler. Disken checkes igennem for dårlige sektorer på den måde at alle sektorer skrives og læses to gange således at hver eneste bit på disken flippes.

Dette foregår med et specielt data-mønster som snyder den indbyggede forstærkers AGC således at drevets elektronik virkelig kommer på arbejde.

Ved at køre denne test engang i mellem kan man reducere faren for datatab som følge af diskfejl betydeligt, da dårlige og suspekte sektorer automatisk markeres som badblocks og data fra disse flyttes til et sikkert sted på disken. Jeg kører som regel selv denne test engang i kvartalet.

5. Restore good sectors

Nummer 5 er stort set magen til 4, med den tilføjelse at den også checker alle de sektorer som er markeret som "bad blocks". Hvis de består testen, bliver de atter gjort tilgængelige for systemet. Dette kunne f.eks. være bad blocks som er kasseret efter en overfladisk undersøgelse af et mindre grundigt program (*host* Scandisk *host*), men som reelt er gode nok.

Spinrite og Scandisk

"Hvorfor skulle jeg dog bruge Spinrite når Microsoft nu har været så venlige at inkludere Scandisk i min piratkopierede XP?", spørger nogen måske.

Her må jeg sige, at der ingen sammenligning er overhovedet. Scandisk udfører et overfladisk scan af den logiske filstruktur samt markerer sektorer som er totalt ulæselige som bad blocks uden i øvrigt at checke dem nærmere. Scandisk er acceptabelt til at finde fejl i filstrukturen efter en uautoriseret nedlukning, men med hensyn til verificering diskens fysiske tilstand, er den så godt som nytteløs.

Er det svært eller farligt at bruge?

Ingen af delene. Der er som nævnt meget få valgmuligheder og ingen af de operationer som Spinrite udfører sletter data på din disk. Selv om der skrives til alle områder af disken, så flyttes data først hen på et sikkert sted før der skrives og lægges pænt tilbage bagefter. Alt hvad programmet gør sker altså uden tab af data. Dette er der lagt en del vægt på ved designet.

Man kan også til enhver tid afbryde Spinrite og senere fortsætte hvor programmet slap, hvis man lige skal bruge PC’en midt i en test.

Alle menuer er på engelsk, men de er nu ikke så svære at finde rundt i, selv for mindre anglofilt inklinerede personer. Mig bekendt findes der ingen dansk dokumentation.

Konklusion

Spinrite er højt på listen over de programmer som burde ligge på enhver computer-ejers hylde. Jeg vil opfordre alle til at hente det og lave en CD til at have liggende - specielt da det kun tager et øjeblik at downloade. Skulle programmet en dag redde dig fra at miste nogle vigtige data, så overvej at "købe" det fra programmørens hjemmeside, hvis du har råd. Det koster 89 dollars. Det lyder ret dyrt, men er pengene værd.

Hjemmesiden er www.grc.com. hvor interesserede også kan læse mere om programmet og de tekniske detaljer.

Forfatter: Jowls

Afdelinger
Andet