Hallo, mich würde mal interessieren, wie Windows entscheidet, dass ein USB-Stick überprüft und repariert werden muss (ausgehend von FAT32). Wird das nur anhand des "Dirty-Bits" (oder wie das heißt) entschieden, oder werden da andere sachen auch nocht geprüft (vergleich zw. FAT Tabelle 1 und 2 etc..). Vielleicht kann mir da jemand weiterhelfen. Die Idee ist nämlich, selbst eine Implementierung auf einem Mikrocontroller zu schreiben, welche defekte FAT32 Dateisysteme erkennen (nicht repaieren) soll.
:
Verschoben durch Moderator
Moin, schau Dir mal FreeDOS an, ist Quelloffen und kann mit FAT32 umgehen. https://de.wikipedia.org/wiki/FreeDOS MfG
Zumindest bei SD Karten ist Windows die 2. FAT völlig egal und es achtet anscheinend nur auf das Dirty Bit am Anfang der FAT.
fatFat schrieb: > Die Idee ist nämlich, selbst eine Implementierung auf einem > Mikrocontroller zu schreiben, welche defekte FAT32 Dateisysteme erkennen > (nicht repaieren) soll. Warum sollte man das Rad neu erfinden, wenn man den USB-Stick von einem PC aus prüfen kann? Das Motiv dafür würde mich interessieren.
Interessant fände ich in diesem Zusammenhang auch mal, warum Windows mit das bei gefühlt jedem USB Stick bei jedem erneuten Einstecken vorschlägt. Bisher hat aber auch immer alles funktioniert selbst wenn ich den Vorschlag komplett ignoriert hab.
:
Bearbeitet durch User
Paul H. schrieb: > Bisher hat aber auch immer alles funktioniert selbst wenn > ich den Vorschlag komplett ignoriert hab. deine Auto fährt auch eine gewisse zeit mit einer undichten Bremsleitung.
Dann fährt mein Auto schon seit 200000km mit einer undichten Bremsleitung. Außerdem, warum sind alle meine Bremsleitungen defekt?
Paul H. schrieb: > Dann fährt mein Auto schon seit 200000km mit einer undichten > Bremsleitung. Außerdem, warum sind alle meine Bremsleitungen defekt? Weil du wohl noch nicht gelernt hast, wie man sie sicher "auswirft".
Ich dachte das machen Bremsleitungen ab Fenster 7 automatisch?
c-hater schrieb: > Weil du wohl noch nicht gelernt hast, wie man sie sicher "auswirft". Das nützt nichts. Ich mach das mit dem sicheren Auswerfen sowohl bei Windows als auch bei Linux und trotzdem will Win7 die Sticks immer wieder zuerst überprüfen. Ich denk mal, das ist eine Standard-Aktion ohne jegliche Bedingung. W.S.
W.S. schrieb: > Ich mach das mit dem sicheren Auswerfen sowohl bei Windows als auch bei > Linux und trotzdem will Win7 die Sticks immer wieder zuerst überprüfen. Bei Vista und Win7 ziehe ich die Sticks immer ab ohne /sicheres Auswerfen/, die Meldung kommt nie. Erst seit ich parallel ein Linux laufen hab, kommen ab und zu die Meldungen. Ich vermute eine Art Inkompatibilitaet zwischen beiden Systemen.
W.S. schrieb: > Ich mach das mit dem sicheren Auswerfen sowohl bei Windows als auch bei > Linux und trotzdem will Win7 die Sticks immer wieder zuerst überprüfen. Dann stimmt irgendwas an deiner Windows-Installation nicht. Normal ist das Verhalten definitiv nicht. > Ich denk mal, das ist eine Standard-Aktion ohne jegliche Bedingung. Nein, sicher nicht.
Nur zur Info: Ich will auf einem Gerät erkennen, ob der USB-Stick in Ordnung ist oder nicht. Wenn es inkonsistenzen im Dateisystem gibt, möchte ich eine Warnung ausgeben, welche auf ein defektes Dateisystem hinweist. Wird der USB-Stick trotzdem am Gerät verwendet, kann nicht garantiert werden, dass alles so Funktioniert, wie es soll....
Also wenn Du Dir Dokus zu FAT32 durchliest, dann ist auch klar, wie Du das Dateisystem prüfen musst! :) Alternativ solltest Du überlegen, wie Du mit ein paar Patches ein FAT32-System sabotieren kannst, dann weißt Du auch, was Du prüfen musst! FAT32 wird auch von Linux unterstützt, da gibt es sicherlich ein Äquivalent zum Windows-Checkdisk-Programm, was Du als Anregung nutzen kannst. Wenn Du es schon 100% machen willst, ein paar Hinweise, um Dir die Flausen aus dem Kopf zu treiben: USB-Sticks können mit im MBR-Stil oder im Floppy-Stil formatiert sein. Im Falle des MBR-Stils können Sie auch mehrere Partitionen enthalten. Du musst Dich also enventuell durch eine Meta-Partitionsstruktur hangeln - und auch prüfen? :) Vielleicht gibt es mittlerweile auch GPT-formatierte USB-Sticks. Ich habe jedenfalls Sticks mit zwei Partitionen herumliegen. Auf Dateisystemebene kannst Du folgende Dinge überlegen: Falls USB-Sticks auch festplattenartig Lesefehler bei einzelnen Sektoren ausgeben, kannst Du den Stick linear einmal einlesen - simpel, aber zeitaufwendig, Deine Kunden werden es Dir danken, wenn Du einen 32GB-Stick einmal kontrollliest und sie dafür 20 Minuten warten müssen! :) Prüfe für jede Datei, ob die Clusterstruktur gültig ist. Die Dateilänge bestimmt die nötige Zahl von Clustern. Ich glaube, Folgecluster haben immer eine größere Nummer. Prüfe, ob es verwaiste Cluster gibt. Hier wäre ein Bitfeld in der Größe aller Cluster sinnvoll, in dem Du alle gebrauchten Cluster markierst (Bit setzen). Durchlaufe das Dateisystem und nulle alle Einträge, die von vorhandenen Dateien benutzt werden. Der Rest sind verwaiste Cluster. Wenn Du dann beim Markieren auf einen Eintrag stößt, der schon auf eins steht, hast Du siamesische Zwillinge, die mal getrennt werden müssen. Stellt sich nur die Frage, ob und wo Du Platz für so ein Bitfeld hast. Denk' vor allem mal darüber nach, worin der Schaden besteht, wenn Du nicht prüfst. Ich finde, das rechtfertigt den Aufwand nicht. Erzähl' Doch bei Gelegenheit in diesem Faden, was Du davon wirklich realisiert hast!
:
Bearbeitet durch User
Selbst wenn die FAT fehlerfrei sein sollte, könnte der Dateiinhalt krank sein. Deswegen gibt es Prüfsummen usw. https://wiki.ubuntuusers.de/md5sum/
Prüfsummen sind eine schöne Sache, aber nicht Bestandteil von FAT32, oder?
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.