Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
alex002 Gast
|
Verfasst am: 18. Mai 2006 17:39 Titel: Multi-Boot CD |
|
|
Hallo Leute!
Mein Problem:
Ich will eine XP-INstallationscd erzeugen, bei der ich beim Starten aber auf Wunsch auch DOS oder Bart-PE booten kann.
Ich hab mir überlegt, dass ich als Menü das Startmenü von Dos verwenden könnte. Dann hab ich ein Programm geschrieben, mit dem man einen Bootsektor starten können sollte (Die Adresse des Bootsektors wird als Parameter übergeben):
Code: |
.MODEL Tiny
.CODE
org 100h
Start:
mov bx, 80h ;Kommandozeile befindet sich an Stelle 80h
add bl, byte ptr ds:[80h] ;Zu Bx die Länge der Kommandozeile addieren
inc bx ;Ein Zeichen nach der Zeile
mov byte ptr ds:[bx], 0 ;Die Kommandozeile nullterminieren
mov al, 00h ;zugriffsmodus 00h: Datei nur lesen
mov ah, 3Dh ;Datei öffnen= int 21h Funktion 3Dh
mov dx, 82h ;ds:dx = Adresse des auszugebenden Textes
int 21h
mov cx, 2048 ;Anzahl der zu lesenden Bytes
mov dx, OFFSET Text ;ds:dx = Zieladresse
mov ah, 3Fh ;Datei lesen = int 21h Funktion 3Fh
int 21h
xor ax, ax ;es auf das erste Segment zeigen lassen
mov es, ax
xor bx, bx
Loop1:
mov al, ds:[bx+Buffer] ;Zeichen vom Buffer in al einlesen...
mov es:[bx+7C00h], al ;...und ins erste Segment schreiben
inc bx
cmp bx, 2049
JL Loop1
mov ax, 00h
push ax
mov ax, 7C00h
push ax
retf ;Springe zur Adresse 7C00h im ersten Segment!
Buffer db 2048 DUP(?)
End Start
|
Allerdings kommt, wenn ich versuche den Sktor vom XP-Setup zu starten immer "CDBOOT: Couldnot boot from CD - CODE 4".
Weiß Jemand woran das liegt? |
|
Nach oben |
|
|
|
ED209
Anmeldungsdatum: 30.05.2005 Beiträge: 122
|
Verfasst am: 18. Mai 2006 18:28 Titel: |
|
|
Ehrlich gesagt hab ich weder Begriffen was dein Programm koennen soll, noch was du ueberhaupt vorhast. _________________ +++++++++++++[>++++>+<<-]>.--.>---. |
|
Nach oben |
|
|
PaladinXL
Anmeldungsdatum: 13.05.2005 Beiträge: 17
|
Verfasst am: 18. Mai 2006 21:31 Titel: |
|
|
Er möchte ein Bootmenü mit verschiedenen OS auf CD haben. |
|
Nach oben |
|
|
ED209
Anmeldungsdatum: 30.05.2005 Beiträge: 122
|
Verfasst am: 18. Mai 2006 22:32 Titel: |
|
|
Und was soll das Programm nun koennen? _________________ +++++++++++++[>++++>+<<-]>.--.>---. |
|
Nach oben |
|
|
Gast
|
Verfasst am: 19. Mai 2006 01:57 Titel: |
|
|
hier stinkts kommt glaub ich von ED209, willst du nicht in ein anderes Klo wechseln??? |
|
Nach oben |
|
|
alex002 Gast
|
Verfasst am: 19. Mai 2006 13:50 Titel: |
|
|
Gut, nochmal:
Ich will mehrere Systeme (also DOS, Bart-PE und das XP-Setup) auf eine Bootfähige CD brennen. Allerdings benötigen sie natürlich unterschiedliche Bootsektoren. Ich will jetzt also ein Programm schreiben, das einen Bootsektor in den RAM läd und anschließend startet.
Ich will also, jetzt ganz einfach ausgedrückt, ein beliebiges OS aus einer bereits laufenden Dos-Umgebung starten.
Ich hoffe, das war jetzt etwas verständlicher!
Bin für jede Antwort dankbar! |
|
Nach oben |
|
|
ED209
Anmeldungsdatum: 30.05.2005 Beiträge: 122
|
Verfasst am: 19. Mai 2006 14:20 Titel: |
|
|
Und der Sektor steht in einer Datei?
Ich wage ganz einfach zu bezweifeln, dass man nach dem laden eines Betriebsystems einfach den Bootsektor ausfuehren und erwarten kann dass das entsprechende Betriebssystem dann bootet.
Beim booten der CD werden ja schon etliche Dinge verstellt. _________________ +++++++++++++[>++++>+<<-]>.--.>---. |
|
Nach oben |
|
|
Gast
|
Verfasst am: 19. Mai 2006 14:26 Titel: |
|
|
ED209 hat Folgendes geschrieben: |
Ich wage ganz einfach zu bezweifeln, dass man nach dem laden eines Betriebsystems einfach den Bootsektor ausfuehren und erwarten kann dass das entsprechende Betriebssystem dann bootet.
Beim booten der CD werden ja schon etliche Dinge verstellt. |
Genau das ist es ja!
Aber man muss doch irgendwie den Bootprozess vom Bios nachahmen können?! |
|
Nach oben |
|
|
TMSearcher
Anmeldungsdatum: 19.05.2005 Beiträge: 270 Wohnort: Bremen
|
Verfasst am: 29. Mai 2006 11:23 Titel: |
|
|
Zitat: | Ich wage ganz einfach zu bezweifeln, dass man nach dem laden eines Betriebsystems einfach den Bootsektor ausfuehren und erwarten kann dass das entsprechende Betriebssystem dann bootet. |
Genau das ist dein Problem . Beim Booten des System, wird ein sehr kurzes Programm aus dem Masterbootsektor an eine Stelle im unteren Speicherbereich geladen (wurde früher gerne für Viren benutzt) und dort anschließend vom BIOS ausgeführt. Dieser Programmteil sorgt dafür das der Rest nachgeladen und ausgeführt wird. Du musst hier mit BIOS-Funktionen und nicht mit DOS-Funktionen Arbeiten. Ich kann dir die genauen Adressen noch mal raussuchen, wenn das Thema noch aktuell ist.
Gruß
TMS _________________ Intelligent life is so very rare,
the rarest thing in creation
and the most precious
This is Earth Calling.. |
|
Nach oben |
|
|
alex002 Gast
|
Verfasst am: 04. Jun 2006 13:41 Titel: |
|
|
TMSearcher hat Folgendes geschrieben: | Du musst hier mit BIOS-Funktionen und nicht mit DOS-Funktionen Arbeiten. Ich kann dir die genauen Adressen noch mal raussuchen, wenn das Thema noch aktuell ist. |
Das wäre echt nett von dir!
Aber scheinbar wird der Sektor ja eh ausgeführt - schließlich könnte er sonst auch keine Fehlermeldung ausgeben? |
|
Nach oben |
|
|
|