LarsS wrote:
> Jens C. Hansen [Odense] skrev:
>
>>Hvilken del er det, du ikke forstår?
>
> At du skriver at remapping gøres med program fra producenten,
Alle (nyere) harddiske har et map over ubrugelige og reserverede
sektorer i sig.
Næsten alle producenter har et lille program til at lave en
Write/Read-test på disken og samtidig remappes ubrugelige sektorer til
nogle af de reserverede.
> hvad er det så f.eks. DiskDoctor gør?
Skriver data'ene til en ubenyttet sektor indenfor filsystemet, og
markerer sektoren som "bad" i en speciel del af filsystemet.
For at filen skal være "hel", linker den også fra første del af filen,
til den del der blev flyttet, og videre til sidste del af filen
(forudsat at den dårlige sektor lå i midten af en fil).
Godt nok er det lige det modsatte af defragmentering, men det er jo
nødvendigt når filen åbenbart kan reddes vha. checksums i filsystemet.
> (Bortset fra at producent-
> programmer vist altid sletter alle/bad sector data?) Og at der er
> en "filsystem-metode" og en "indbygget hd metode" - er de
> uafhængige af hinanden, altså opbevares info forskellige steder?
Ja, der er et map i selve harddisken.
Om det er i en chip på selve printet, eller gemmes i nogle helt
specielle reserverede sektorer på selve skiverne i flere kopier er for
så vidt irrelevant.
Filsystemets map over dårlige sektorer ligger på et dertil reserveret
sted i filsystemet.
Når/hvis man repartitionerer disken, går den information tabt, og et
nyoprettet filsystem skal/bør scannes for dårlige sektorer for at
markere dem som ubrugelige.
> Men det forklarer
> måske at IBM's "Sector Repair" ikke forsøger at redde de data
> der måtte forefindes hvis det finder bad sectors, men altid
> overskriver disse....
IBM's "Sector Repair" og tilsvarende programmer skulle jo i så fald have
understøttelse for en bunke forskellige filsystemer for at kunne hitte
ud af hvor det skulle smide de reddede data hen.
Det er ikke noget som man får IBM eller andre til at lave.
Du kan læse mere her;
http://www.pcguide.com/ref/hdd/geom/formatDefect-c.html