Autor Beitrag
Aya
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1964
Erhaltene Danke: 15

MacOSX 10.6.7
Xcode / C++
BeitragVerfasst: Mo 11.10.04 00:37 
Fortsetzung von: www.delphi-forum.de/...FT+kaputt_30909.html
Konnte in dem alten Thread nichtmehr posten.. kam immer ne fehlermeldung...???


Hi,

hab neue erkenntnisse... :)

Also... ich hab jetzt mit NorthinDiskDoctor die HDD gescannt und Fehler beheben lassen (ist an und fürsich dasselbe wie CHKDSK)...
Er hat den Index soweit repariert und die Daten sind alle wieder da... nuur...

Ich hatte damals nachdem der Index ja zerschossen wurde wie schon erwähnt noch eine knapp 40mb große Datei auf die HDD kopiert, welche mir nun dummerweise nen paar sachen gehäckselt hat... bekomme bei einigen Dateien wenn ich sie kopiere die Meldung "DateiX kann nicht kopiert werden. (CRC-Prüfung)".

Gut, ist in gewisser hinsicht logisch... nur, gibt es ne chance das er die datei einfach soweit kopiert wie es geht??? Weil ein paar der dateien wo das ist sind schon relativ wichtig... es sind auch nur ASCII Dateien (*.pas, *.cpp so nen kram)... wenn er da 10byte drin hat die nich stimmen is das nich tragisch.. das sagt einem der Compiler und man behebt den fehler...

Gibt es da ne möglichkeit??? *schaut hoffnungsvoll*

Ach ja.. und kennt wer nen tolles programm was alle Dateien kopiert und das nicht abbricht wenn nen fehler auftritt, sondern dann einfach nur die datei überspringt?? (Mit LOG wär super)

Au'revoir,
Aya~

_________________
Aya
I aim for my endless dreams and I know they will come true!
Gast
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.04 18:00 
Wie gesagt, O&O Unerase macht den Job. Die Downloadversion von SternTV ist frei verfügbar gewesen, da kräht kein Hahn danach wenn ich dir das zB per Mail zuschicke.

Ansonsten würde ich an dieser Stelle erstmal versuchen, ob man die Datei quasi blockweise mappen kann. Beim ersten Block mit Fehlern würde ich die Körnung verkleinern bis wieder kein Fehler auftritt. So kannst du die größtmögliche Menge an Daten einer Datei retten.
... wenn es denn überhaupt geht. IMO sind dort nur Programme von Hilfe die noch einen Layer tiefer ansetzen als du überhaupt kannst (zB eben mit Mapping), daher schau dir mal DiskCommander oder die O&O-Tools an. Unerase kann ich dir zukommen lassen. Soll ich es morgen vormittag schicken?
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Di 12.10.04 18:05 
Menschenkinder. :lol: Warum liest du die Datei nicht Byte für Byte ?? Ist ein nicht lesbares dabei, so mußt du doch nur den ehler abfangen und weitermachen. Es sei denn, die Platte selber ist im Eimer.

_________________
Gruß
Hansa
Gast
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.04 18:16 
hansa hat folgendes geschrieben:
Menschenkinder. :lol: Warum liest du die Datei nicht Byte für Byte ?? Ist ein nicht lesbares dabei, so mußt du doch nur den ehler abfangen und weitermachen. Es sei denn, die Platte selber ist im Eimer.
Ist das dein Ernst?

BTW @Hansa: Paket schon angekommen? Hast dich ja nicht mehr gemeldet.
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Di 12.10.04 18:39 
Klar ist das mein Ernst. Besser wäre noch blockweises Lesen und Reduzierung der Blockgröße im Fehlerfall. Genau so wird das gemacht von Firmen, die sich Noron usw. nennen. Ist es ein Einzelfall und nicht zu zeitkritisch, so kann man das ruckizucki selber machen.

OT: @Assarbad: Thx, Paket ist da

_________________
Gruß
Hansa
Gast
Gast
Erhaltene Danke: 1



BeitragVerfasst: Di 12.10.04 21:06 
hansa hat folgendes geschrieben:
Klar ist das mein Ernst. Besser wäre noch blockweises Lesen und Reduzierung der Blockgröße im Fehlerfall. Genau so wird das gemacht von Firmen, die sich Noron usw. nennen. Ist es ein Einzelfall und nicht zu zeitkritisch, so kann man das ruckizucki selber machen.
Jupp, diese Firmen benutzen dazu aber nicht die Win32-API sondern zB noch Treiber oder APIs unterhalb der Win32-API. Deshalb isset mit "selbermachen" mal nicht so einfach. Die Clustergröße ist hier entscheidend. Es ist ähnlich wie mit Speicherallozierung: wenn du 1 Byte allozierst wird intern auch mindestens eine Seite alloziert (bzw beim Speichermanager von Delphi bekommst du den entsprechenden Bereich einer solchen Seite). Minimum dessen was du vom System bekommen kannst liegt aber leider über 1 Byte - wäre ja auch dumm zu 1 Byte eine 4 Byte lange CRC zu berechnen ;)

OT: Schön. Und Wetten schon gewonnen?