Autor Thema: FAT12 Image Bootsektor  (Gelesen 5660 mal)

fr0z3n

  • Beiträge: 15
    • Profil anzeigen
Gespeichert
« am: 07. January 2007, 18:39 »
Hi!
Ich habe ein Problem. Ich habe ein Image einer leeren unter Windows XP formartierten FAT12 Diskette. Ich arbeite unter Mac OS X. Wenn ich dieses Image dort mounte, funktioniert auch alles einwandfrei. Wenn ich dann allerdings den Bootloader mittels dd if=boot.bin bs=512 count=1 of=floppy.img in das Image schreiben will, erhalte ich beim Mounten die Fehlermeldung, dass er keine aktivierbaren Dateisysteme findet. Mit dem Bootsektor sollte allerdings alles in Ordnung sein, weil ich von dem Image booten kann und alles soweit funktioniert. Er scheint wohl die FAT Tabelle oder so zerstört zu haben. Aber mittels des dd Befehls wird ja nur der erste Sektor beschrieben.
Hier trotzdem mal der Boot-Sektor:
org 0x7C00

jmp start

OSName      db "MSWIN4.1"
BytesPerSec dw 512
SecPerClus  db 1
RsvdSecCnt  dw 1
NumFATs     db 2
RootEntCnt  dw 224
TotSec      dw 2880
MediaType   db 0F0h
FATsize     dw 9
SecPerTrack dw 18
NumHeads    dw 2
HiddenSec   dd 0
TotSec32    dd 0
DrvNum      db 0
Reserved    db 0
BootSig     db 29h
VolumeID    dd 0FFFFFFFFh
VolumeLabel db "MYOWNOS    "
FileSysType db "FAT12   "

; Dateien werden eingefügt
; Variablen werden deklariert

start:
...

Ich hoffe ihr könnt mir helfen, damit mein Image auch weiterhin FAT12 formatiert bleibt.

EDIT:
Was vielleicht noch wichtig ist: Mac OS X basiert auf UNIX, dass heißt viele UNIX Befehle laufen auch in der Mac Konsole. Aber die Meisten werden das denke ich wissen.
« Letzte Änderung: 07. January 2007, 20:01 von fr0z3n »

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #1 am: 07. January 2007, 22:10 »
Also an dem FAT12 Startblock kann es nicht liegen, der ist richtig.

bitmaster
In the Future everyone will need OS-64!!!

MNemo

  • Beiträge: 547
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 07. January 2007, 23:21 »
probiers ma mit
jmp near start dann müsste es funktionieren hatte das selbe problem als ich auf yasm umgestiegen bin.
„Wichtig ist nicht, besser zu sein als alle anderen. Wichtig ist, besser zu sein als du gestern warst!“

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 07. January 2007, 23:23 »
Vergleiche mal den Startblock von deiner Diskette mit dem Startblock des Images. Da sind bestimmt Unterschiede. :)
Vielleicht ist irgendein Parameter etwas anders gesetzt, so dass er z.B. versucht, statt der FAT das Rootverzeichnis oder so zu laden. Vielleicht mag er irgendetwas nicht.

Ansonsten fällt mir auch nichts ein. Vielleicht kannst du das Image mal auf eine Diskette schreiben und unter verschiedenen Betriebssystemen testen (Windows, DOS) oder mal mit den mtools drauf losgehen?

mtools (bzw. mdir) sollte es auch für MacOS geben.

Gruß,
Svenska

fr0z3n

  • Beiträge: 15
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 08. January 2007, 00:08 »
@M.Nemo:
Also wenn ich jmp near schreibe funktioniert es immer noch nicht.

@Svenska:
Du meinst, dass ich meinen Bootsektor mit dem was im Image ankommt vergleichen soll? Habe mir die beiden im Hexeditor angeschaut und die sind gleich.

Dabei ist mir aber etwas andere aufgefallen: Das Image ist nach dem Kopieren des Bootsektors per "dd" nur noch 512 Bytes groß. Also nur noch so groß wie der Bootsektor. Das sollte das Problem sein, denke ich. Nur habe ich keine Ahnung wie ich das beheben soll?

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 08. January 2007, 00:27 »
man dd hilft: conv=notrunc sollte es tun.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

fr0z3n

  • Beiträge: 15
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 08. January 2007, 00:49 »
Dankeschön, dass war es. Jetzt funktioniert es.

 

Einloggen