Forum: PC-Programmierung Windows und Dateisystem


von whitenoise (Gast)


Lesenswert?

Hi,

hat jemand von euch eine ahnung ob und/oder wie man windows ein 
dateisystem hinzufügen kann!?

gruß,
w.

von Timmo H. (masterfx)


Lesenswert?

Du meinst sowas wie ext3 usw? Einfach die entsprechenden Treiber dafür 
suchen. Den ext2/3 Treiber für Windows gibts z.B. hier: 
http://fs-driver.org/index.html

von Gast (Gast)


Lesenswert?

Das geht, in dem du einen Treiber dafür schreibst.
Hier ist z.B. ein OpenSource Treiber um ext3 unter Windows zu benutzen.
Die Links auf der Seite sollten dir weiterhelfen dich in die Materie 
einzulesen

http://ext2fsd.sourceforge.net/resources/resources.htm#links

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Man kann Windows Dateisystemtreiber unterschieben, dazu gibt es von 
Microsoft das FSDK. Das ist aber noch deutlich schlechter dokumentiert 
als das DDK.

Aus Deinem anderen Postings heraus scheint mir der Ansatz allerdings 
etwas verfehlt; bist Du Dir sicher, nicht mit sehr großen Kanonen auf 
recht kleine Insekten zu schießen?

von whitenoise (Gast)


Lesenswert?

..das ist eine gute nachricht, also das dies möglich ist. danke für die 
schnelle antwort.

für mich ist natürlich wichtig - welche funktionen muss ich bedienen, 
also wie sieht die "Hülle" aus, die ich ausfüllen muss, und womit mache 
ich das am besten.

ich schau mich mal um, mein ziel ist es nicht ein linux fs einzubinden, 
sondern ein eigenes einzubinden.

momentan beschäftigt mich noch die frage, ab wann windows dem laufwerk 
einen l.w.buchstaben zuweisen kann, was ich meine:

wenn ein speichermedium leer ist, also richtig leer, dann zeigt windows:

unzugeordnet/unformatiert und ordnet dem lw KEINEN Buchstaben zu, das 
laufwerk ist lediglich im Festplattenmanager sichtbar, es besteht dann 
die möglichkeit bei windows etwas auf das laufwerk zu schreiben, damit 
diesem ein buchstabe zugeordnet werden kann - es ist nicht der MBR - 
aber was genau wird dort auf das physikalische laufwerk geschrieben.

gruß,
w.

von whitenoise (Gast)


Lesenswert?

@rufus,

ich sehe mich gerade erstmal um, das ganze ist etwas komplexer als es 
erscheint, ich versuche abzuschätzen wie kompliziert es ist ein 
einfaches filebasiertes fs unter windows zu implementieren, da ich nicht 
die möglichkeit habe dem medium ein filesystem zu geben wie  zb fat

gruß,
w.

von whitenoise (Gast)


Lesenswert?

...dabei könnte eben genau das heraus kommen, es sind sicher eine ganze 
menge "anfragen" die man dort "befriedigen" muss, und wenn es dann auch 
noch alles schlecht dokumentiert ist  wie du sagst, dann sehe ich da 
kaum chancen...

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

>  da ich nicht die möglichkeit habe dem
> medium ein filesystem zu geben wie  zb fat

Es ist ganz erheblich weniger Aufwand, genau das zu ändern.

von whitenoise (Gast)


Angehängte Dateien:

Lesenswert?

...wenn dann habe ich nur die möglichkeit ein fs unter windows 
einzubinden, dem speichermedium kann ich in diesem speziellen fall kein 
gängiges fs verpassen...

ich kann nur versuchen das format zu unterstützen, oder den kram raw 
auszulesen, das raw auslesen geht bereits, das fs von windows 
unterstützen zu lassen wäre "nice to have".

zu den formatierungsausgaben aus der windows datenträgerverwaltung habe 
ich nochmal einen kleinen screenshot angehängt, das unterste laufwerk 
ist leer, auf dem laufwerk in der mitte war mal ein fat16, hier habe ich 
den mbr gelöscht, dennoch wird ihm ein buchstabe von windows zugeordnet, 
verhält sich also noch nicht ganz so wie das unterste laufwerk.

jetzt ist hier noch die frage, welche informationen könnten dort noch 
gespeichert sein.

gruß,
w.


übrigens, es kann nicht daran liegen das es sich um ein wechselm. 
handelt, da das untere laufwerk auch eines ist.

von whitenoise (Gast)


Angehängte Dateien:

Lesenswert?

das zauberwort dort heißt wohl LDM....wer macht nur sowas :_)

http://www.z-a-recovery.com/art-dynamic-disks.htm

gruß,
w

von whitenoise (Gast)


Angehängte Dateien:

Lesenswert?

eine möglichkeit gibt es, sozusagen das dateisystem simulieren, also zb 
eine fat plus passende einträge bereitstellen sozusagen festverdrahtet.

also im speicher nur daten, und drumrum eine starre fat, die die 
gesamten daten als datei zur verfügung stellt, sowetwas wäre perfekt.

momentan hakt es dabei gerade an dem verzeichniseintrag, filename im 
root dir:

http://de.wikipedia.org/wiki/FAT16#FAT16

-Datenbereich-

Offset (hex) Länge (in Bytes) Inhalt
00 8 Dateiname ohne Erweiterung
Die nicht genutzten Bytes werden mit Leerzeichen aufgefüllt.
08 3 Erweiterung
Die nicht genutzten Bytes werden mit Leerzeichen aufgefüllt.
0B 1 Dateiattribute.
Bit 0: Schreibgeschützt; Bit 1: Versteckt; Bit 2: Systemdatei; Bit 3: 
Volume-Label; Bit 4: Unterverzeichnis; Bit 5: Archiv; Bit 6–7: ungenutzt
Die zusätzlichen Pseudo-Verzeichniseinträge für VFAT (siehe weiter 
unten) haben das Attribut 0F16 (Schreibgeschützt, Versteckt, 
Systemdatei, Volume-Label)
0C 10 Reserviert
16 2 Zeit (5  6  5 Bits für Stunde  Minute  Sekunden)
Die Auflösung der Sekunden beträgt 2 s (0..29)
18 2 Datum (7  4  5 Bits für Jahr  Monat  Tag)
Jahr: Jahr seit 1980; z. B. für 2007 = 27
1A 2 (Offset des Start-Clusters) + 2
1C 4 Dateigrösse in Bytes
------------------------------------------------------------------------ 
--
diese weitere seite konnte mir dabie auch nicht mehr weiterhelfen... 
damit war es allerding möglich die Lage der Partitionstabelle und der 
FatTable zu bestimmen, sowie die lage des Rootdir und auch die der data 
area.

siehe:

http://home.teleport.com/~brainy/fat16.htm

FAT16 Drive Layout

Offset Description
Start of Partition Boot Sector
Start + # of Reserved Sectors Fat Tables
Start + # of Reserved + (# of Sectors Per FAT * 2) Root Directory Entry
Start + # of Reserved + (# of Sectors Per FAT * 2) + ((Maximum Root 
Directory Entries * 32) / Bytes per Sector)  Data Area (Starts with 
Cluster #2)

das klappt!


 allerdings komme ich mit den angaben bei wickipedia nicht relativ vom 
file eintrag im root dir auf den datenbereich des files.

es sind die bytes 0x1a und 0x1b zusammen gelesen als 0x0002 relativ im 
root eintrag (gelb eingekreist), das grüne ist die größe der datei, es 
ist eine textdatei mit dem inhalt "whitenoise"...

komisch ist auch das so ein fileverweiß immer aus 32byte bestehen soll, 
was also ist der ganze kram vor dem roten kasten (siehe anhang) !? das 
device heißt VOLUME, ist ein stick mit 512MB.

bei wicki steht:

1A 2 (Offset des Start-Clusters) + 2 !?

wie komme ich mit:

0x0002 +2

einer sektorgröße von 0x200 von dem eintrag im root dir 0x45e00 zum 
beginn der datei 0x49e00?

vielleicht hat jemand von euch einen plan!?

gruß,
whitenoise

von whitenoise (Gast)


Lesenswert?

..tschuldigung, so ist der link bei wicki eindeutiger:

http://de.wikipedia.org/wiki/FAT16#Datenbereich

gruß,
w.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

> bei wicki steht:
>
> 1A 2 (Offset des Start-Clusters) + 2 !?
>
> wie komme ich mit:
>
> 0x0002 +2
>
> einer sektorgröße von 0x200 von dem eintrag im root dir 0x45e00 zum
> beginn der datei 0x49e00?

Bei Wiki ist von Clustern die Rede - das deutsche 
Microsoft-Sprech-Pendant dazu ist "Zuordnungseinheit".

FAT verwaltet nicht Sektoren, sondern ebenjene Cluster. Und die sind je 
nach FAT-Variante und Größe des Datenträgers unterschiedlich groß, immer 
aber eine Zweierpotenz mal ein Sektor groß.
(kleinste Clustergröße ist also 1 Sektor, dann kommen 2, 4, 8, 16, 32 
etc.)



Dein Ansatz erscheint mir im übrigen immer noch verfehlt.

von whitenoise (Gast)


Angehängte Dateien:

Lesenswert?

hallo rufus,

aus deiner sich würde ich das auch so sehen...dies ist aber nur ein 
kleiner teil von etwas größerem, desswen strukturen einige dinge nicht 
anders zulassen...


die sectors per cluster sind auf:
0x10 (byte 0xd) im patitionseintrag.

http://de.wikipedia.org/wiki/File_Allocation_Table#Bootsektor

damit ergibt dies sich zu:

offset des startclusters 0x0002 + 2 =
4

4*0x10=0x40

ein sektor hat 0x200 (*0x40) byte, sind dann 0x8000 byte, in 
wirklichkeit sind es aber nur 0x4000 von 0x45e00 bis 0x49e00.

-gibt es evtl noch einen guten link, wo dieser bereich noch etwas 
ausführlicher beleuchtet wird? gerade wegen der bytes vor dem 
filenameeintrag: anhang: RootDirAnd...

gruß,
whitenoise

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
Noch kein Account? Hier anmelden.