![]() |
bootsektor schreiben
hallo
ich versuche grad (einfach aus interesse) einen eigenen bootsektor zu schreiben und meinen rechner direkt damit zu booten..jetzt hab ich folgendes beispiel gefunden: Zitat:
so, wenn ich jetzt mit meinem disk-editor den inhalt dieser bin-datei auf den bootsektor meines usb-sticks schreibe und meinen rechner starte, bekomme ich beim booten folgendes: "Searching for Boot Record from USB RMD-HDD..OK" ...und sonst nix weiter...die Meldung "Hello Cyberspace!" wird nicht angezeigt. Woran kann das liegen; klappt es bei euch? Danke, Martin |
Re: bootsektor schreiben
Wer sagt dir denn, dass der USB Stick Bootsektor auch noch 512 Bytes gross ist? Meines erachtens funktioniert das nur im Emulationsmodus.
|
Re: bootsektor schreiben
Wie groß isser denn?
Wenn du dir folgenden Link anschaust, da steht dass man sogar einen Floppy-Bootsektor auf einen USB-Stick schreiben und dann booten kann: ![]() Aber klär mich mal auf..was müsst ich d.E. machen? danke, martin edit: wenn ich meinen usb-stick unter windows formatiere und mir danach den bootsektor anschaue, sind da auch genau 512 bytes belegt (von denen die letzten vier byte "AA55" sind) also scheinen es doch auch 512 byte zu sein! |
Re: bootsektor schreiben
Ok, nach dem Link geht es noch mit 512 Bytes. Der Post vorhin war eine Frage ob du dir dessen sicher bist. Ich hatte da noch was anderes im Hinterkopf, aber anscheinend wohl verwechselt.
Grundlegend definiert dein Code kein einzigen der Tabellen im Bootsektor. Du hast somit völlig unsinnige Werte darin stehen. Die Tabellen werden vom BIOS ausgewertet damit es weiss wie es auf den Datenträger für den weiteren Bootvorgang zugreifen muss. Das BIOS übernimmt die Tabellen und will sie nutzen - bei dir steht da nur Müll drin (Der String und der Code). Definiere mal die Tabellen entsprechend mit gültigen Werten und dann probier es nochmal. ![]() |
Re: bootsektor schreiben
Zitat:
![]() Da steht man brauch sich den Inhalt der bin-datei nur in den Bootsektor schreiben und schon geht das.. |
Re: bootsektor schreiben
1. Fehlerquelle:
Schreibe den Sector auf eine Disk. erst wenn das klappt, kannst Du mit einem Stick experimentieren. 2. Ich glaube, da könnte der Fehler liegen: Zitat:
Zitat:
übersprungen wird bzw. übersprungen werden muss, Du ihn aber bestimmt geändert hast: msg db 'Hello Cyberspace!' So weit ich weiss, reicht ein 16bit-Assembler auch. Mit A386 müsse es einfacher gehen, als mit Nasm. Noch besser ist wohl Fasm (open source). Siehe Google. So, und dann lass mal sehen, wie Du das Problem gelöst hast, ok? Go2EITS |
Re: bootsektor schreiben
Die Daten für die Floppy Laufwerke haben die BIOSe schon mit hinterlegt. Bei einem Floppy Laufwerk brauchen sie diese nicht zwingend - aber einem USB Datenträger schon.
Studieren geht über probieren - füge doch die Tabellen ein. Die paar db und dw's gehen schnell. Wenn es dann klappt, lag es daran... Und der Sprung am Anfang so wie er ist, ist in Ordnung. Das einzige was fehlt, wäre die das Nullbyte zur Ende-Markierung des Strings, aber bis dahin würde er zumindest haufenweise Zeichen ausgeben, wenn es denn klappen würde. |
Re: bootsektor schreiben
Gut gesehen Muetze1.
Sorry, aber ich ergänze, damit Sanco1980 es versteht, bzw. richtig macht: Ich glaube, so muss es heißen: Zitat:
CU! Go2EITS |
Re: bootsektor schreiben
also ganz ehrlich: ich versteh nur bahnhof; was soll das ganze mit den tabellen?
das einzige was ich raffe, ist, dass ganz am anfang eine jump-instruction zum code-begin sein muss..die hab ich ja Zitat:
Und was hat es mit "The BIOS parameter block and extended BIOS parameter block contains the information" auf sich. Klärt mich bitte mal auf wie ich das mit den Tabellen machen soll... :roll: Danke, Martin |
Re: bootsektor schreiben
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:54 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz