Ergebnis 1 bis 9 von 9

Thema: disketten bootsektor

  1. #1
    Registered User
    Registriert seit
    Aug 2000
    Beiträge
    829
    Renommee
    29

    Question disketten bootsektor

    wenn ich beim booten eine diskette, auf der sich z.b. ein kleines betriebssystem, was sich auf der diskette befindet, muß der bootsektor der diskette beschrieben sein, oder? kann mir jemand erklären, wie ich dieses machen kann? müßte meines wissens nach 512 bytes groß sein und z.b. eine andere .exe aufrufen, in der sich das "betriebssystem" befindet. kann mir da jemand helfen? vielen dank. WAS ich in diese 512 bytes schreiben soll ist weniger das problem. die frage ist WIE, denn ich kann den code ja nicht einfach als .exe auf die diskette kopieren (z.b. copy c:\boot.exe a:\boot.exe). muß doch anders gehen, oder?

    solanum dulkamara


  2. #2
    Member
    Registriert seit
    May 2000
    Beiträge
    976
    Renommee
    10
    Das ist ein weites Feld... Der Bootsektor ist in den ersten 512 bytes der Disk (also im ersten Sektor) und wird bei 0000:7C00 geladen. Also musst du eine COM-Datei erzeugen und bei 7C00 starten lassen (org 7C00h statt 100h). Zum "rohen" lesen und schreiben schau dir mal int 13, 25 und 26 an. Und nimm dir Zeit für das Projekt

  3. #3
    Guest

    Arrow

    Dieses "Betriebssystem" ist kein Betriebssystem. Auf Diesketten wird normalerweise FAT12 benutzt. (Auf WinNT-Festlatten NTFS, FAT32...)


    __________________
    NataS ist mit euch... jeder Zeit...

  4. #4
    Member
    Registriert seit
    May 2000
    Beiträge
    976
    Renommee
    10
    Erstens denk ich nicht dass er ein professionelles Betriebssystem schreiben will. Er will halt experimentieren. Zweitens wird auf Disketten normalerweise Minix benutzt... Kommt drauf an was du als "normal" definierst. Außerdem hat der Bootsektor nichts mit dem Dateisystem zu tun.

    @solanum ich würd dir vorschlagen, den Rest nicht in eine EXE oder sowas zu kopieren. Verwende fürs erste gar kein Dateisystem und speicher das Zeug einfach "roh" auf der disk. So macht es v2os auch, glaube ich.

  5. #5
    Registered User
    Registriert seit
    Aug 2000
    Beiträge
    829
    Renommee
    29

    Thumbs up

    *lol* nein, will nicht wirklich ein professionelles betriebssystem schreiben . hatte mit nur v2_os mal angeguckt und hatte nicht verstanden, wie es funktioniert, dass der code beim booten gleich ausgeführt wurde.

    okay, also soll ich die .com einfach anfangen mit

    .model tiny
    .code
    org 7C00h

    oder seh ich das falsch?
    vielen dank. will nur ein bißchen rum experimentieren wie man in die analen des system beeinflusst.

    solanum dulkamara


    __________________
    versuche zu haben was du liebst, sonst wirst du bald lieben müssen was du hast

  6. #6
    Member
    Registriert seit
    May 2000
    Beiträge
    976
    Renommee
    10
    .model tiny
    .code
    org 7C00h

    müsste klappen. Auf der v2os-Seite kannst du dir auch den source holen.

  7. #7
    Registered User
    Registriert seit
    Aug 2000
    Beiträge
    829
    Renommee
    29
    hm, also v2_os hat doch überhaupt kein dateisystem. und du hast mir auch geraten erstmal ganz ohne anzufangen. also wie soll das dann gehen mit der .com? ist doch irgendwie ein widerspruch in sich. oder kannst du das mit dem "rohen" beschreiben der disk nochmal erklären? hab anscheinenden einen elementaren denkfehlre

    danke
    solanum dulkamara


    __________________
    versuche zu haben was du liebst, sonst wirst du bald lieben müssen was du hast

  8. #8
    Member
    Registriert seit
    May 2000
    Beiträge
    976
    Renommee
    10
    V2os hat schon so eine art Dateisystem, aber nur ein vorläufiges, sie arbeiten dran. Im Kernel Source steht mehr dazu...

    Zum rohen Beschreiben: mit Dateisystem meine ich, dass die Daten auf der Disk irgendwie organisiert sind. Bei FAT (File Allocation Table) gibt es eine Tabelle auf der Disk, in der gespeichert ist, welche Datei welche Sektoren belegt. Das ist ein Dateisystem. mit "roh" schreiben meine ich, dass du den Bootloader (die .com) einfach in den 1. Sektor der Diskette schreibst. Wenn du dann mehr Speicher brauchst, dann schreib den Rest in den 2. 3. 4. Sektor usw. Die nächsten Sektoren musst du dann in deinem Bootloader zuerst laden, mit int 25h (absolutes Lesen) oder int 13h (BIOS Disketten Interrupt).

    Zum Absoluten schreiben gibt es Tools, eins ist "PARTCOPY" von John Fine (Suchmaschine). Aufpassen, du kannst damit leicht deine Festplatte schrotten.

    Noch was, ein Diskettensektor ist 512 bytes groß. So groß muss auch der Bootloader sein, und am Ende muss eine Signatur stehen, damit die Disk als "bootbar" erkannt wird. Ich weiß die Zahl nicht mehr auswendig, wie gesagt, schau dir mal den V2 Kernel an. (Datei boot.asm...)

    Ich hab das selber noch nicht ausprobiert. Vielleicht mache ich das mal, und dann kann ich dir mehr dazu sagen.

  9. #9
    Registered User
    Registriert seit
    Aug 2000
    Beiträge
    829
    Renommee
    29
    okay, vielen dank euch allen. toxic, falls es dich interessiert: die signatur ist 0AA55h

    solanum dulkamara


    __________________
    versuche zu haben was du liebst, sonst wirst du bald lieben müssen was du hast

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. Bootsektor sichern
    Von HellBird im Forum Hardware
    Antworten: 8
    Letzter Beitrag: 16.07.2003, 21:10
  2. bootsektor der Festplatte beschaedigt
    Von morph im Forum Hardware
    Antworten: 5
    Letzter Beitrag: 26.01.2003, 19:07
  3. Bootsektor mit TAsm erstellen
    Von Lequ im Forum Systemnahe Programmierung
    Antworten: 4
    Letzter Beitrag: 15.07.2002, 14:01
  4. Bootsektor
    Von TMoS im Forum Pascal / Delphi
    Antworten: 3
    Letzter Beitrag: 03.02.2001, 20:57
  5. [DOS]Zugriff auf Bootsektor der Festplatte
    Von bademeister im Forum Systemnahe Programmierung
    Antworten: 1
    Letzter Beitrag: 24.09.2000, 16:12

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •