Booten



  • Ich glaube zwar nicht, dass ich im richtigen Forum bin, aber mein Thema hat etwas mit "ANSI C" zu tun:

    Welche Dateien muss ich auf eine "Bootfähige CD" speichern, um
    😉 Booten zu können
    😉 *.EXE-Dateien(Win32 Konsole), *.bat *.cmd *.com auszuführen,
    😉 Bildschirm, Tastatur, Maus, HD, CD-Laufwerk, Diskettenlaufwerk zugreifen zu können?

    AUTOEXEC.BAT war glaube ich bei früheren Windows-Versionen wichtig.
    Jetzt ist diese Datei leer! (WinXP-Prof). 😮

    Genügt eine Startdiskette um das alles verwenden zu können?
    😕



  • chille07 schrieb:

    😉 Booten zu können

    je nach betriebssystem kann das ganz, ganz unterschiedlich sein.

    😉 *.EXE-Dateien(Win32 Konsole), *.bat *.cmd *.com auszuführen,

    leider allerhand. vie allem ein windows-betriebssystem (oder ein linux/bsd... mit wine). win von cd zu booten ist nicht so leicht.

    aber müssen es wirklich win32-konsole-anwendungen sein? bau doch lieber ansi-c-sachen (auch konsole-anwendungen) und compiliere die zum beispiel mit djgpp, dann laufen sie unter dos. wie man ne dos-boot-cd baut, weißte ja.
    oder guck bei freedos, das ist schön modern, hat keine probleme mit cds, udma und so uhd kostet dich nix.

    😉 Bildschirm, Tastatur, Maus, HD, CD-Laufwerk, Diskettenlaufwerk zugreifen zu können?

    aus ansi-c-sicht:
    bildschirm mit printf
    drucker mit fprintf gegeb LPT1:
    maus weiß ich net
    hd mit fopwn
    cd-laufwerk auch
    diskettenlaufwerk auch

    haste ein dos oder linux booten können, dann geht die ansi-c-sicht bereits.



  • Ich möchte, dass ich unabhängig vom Betriebssystem, sprich auch ohne, ein bestimmtes Programm, vielleicht eine DOS-Kompilierte EXE-Datei, starten und ausführen können (es sollten alle Befehle vom Ansi C funktionieren).

    Bsp: so wie ein eigenes Betriebssystem, welches Medien verwalten und Programme ausführen kann.



  • volkard schrieb:

    chille07 schrieb:

    😉 Booten zu können

    je nach betriebssystem kann das ganz, ganz unterschiedlich sein.

    Und nicht nur je nach Betreibsystem, sondern auch je nach Architektur. Der Bootvorgang eines x68 ist nicht der selbe wie eines SPARCs oder Mac, deshabl gibt es Bootmanagers, die für die eine oder andere Architekturen sind.

    @chille07: Wenn du etwas haben willst, was möchligst viele OS erkennt, schau dir die Sources von LILO oder GRUB an. Außerdem werden viele Schnittstellen der Bootmanager in Assembler geschrieben, wenn ich mich nicht irre.

    😉 Bildschirm, Tastatur, Maus, HD, CD-Laufwerk, Diskettenlaufwerk zugreifen zu können?

    Das ist mit ANSI schwer zu lösen, denn die OS verwalten ihre Devices unterschieldich. Bsp: Unter WinDOS gibt es Laufwerke mit der Bezeichnung A: C: 😨 E:, usw. Alle Dateien werden getrennt, d.h. sie befinden sich nicht unter der selben Wurzel. UNIX und Derivate kennen keine Laufwerke à la WinDOS. Man hat das Wurzelverzeichnus (root directory), der / heißt und alle Partitionen einer Festplatte oder CD-ROM, usw. müssen mountiert werden, d.h. in die Wurzel eingebunden werden, wo, das liegt am Benutzer. D.h. der Pfad zum CD-ROM ist unter WinDOS meistens 😨 oder E: oder der nächste freie Buchstabe nach einer Festplatte. Und Unix & co kann e unterschiedliche Wege haben. Bei mir z.b. /media/cdrom, früher hatte ich /devices/cdrom, andere Festplatten mit FAT, hatte ich unter /win/d heute habe ich /fat/d. Wenn ich will, kann ich das jetzt ändern und irgendwo anders platzieren.
    Ein anderer Unterschied, ist dass WinDOS kaum Rechte kennt, d.h. fast jeder kann auf eine Platte zugreifen, lesen oder schreiben. Unter Unix & co kannst du die Laufwerke sozusagen nur Lesezugrif geben und nur für einen bestimmten Benutzer Schreibe Zugrif geben, usw.

    Siehst du, das sind andere Konzepte, die manmacht, um solche devices zu steuern. Es gibt ANSI Funktionen wie fopen, die das Öffnen der Dateien ermöglich, aber es gibt auch OS abhängige Funktionen, die mehr als das Standard können.

    Wenn du eine DOS Bootcd haben willst musst du folgende Dateien haben (sie müssen versteckt sein und im Matser Boot Record geschrieben werden)

    io.sys
    dos.sys

    und als lesbare Datei
    command.com

    Ob das heute auch mit Windows NT x geht, weiß ich nicht. Win9x und ME booten mit DOS, sie haben das.



  • Wenn du ein Bootbare Windows-CD/DVD machen willst, wird dir der PE-Builder vielleicht helfen können: http://www.nu2.nu/pebuilder/



  • Ich habe eine "bootfähige CD-ROM erstellt".
    Wenn ich die Zusammenstellung aber überprüfe erscheint f. Nachricht:
    "Cachen von Dateien nicht erfolgreich".

    Was heisst das?

    PS.: Warum kann ich bei einer Startdiskette nicht auf die Festplatte zugreifen?

    zB.:
    dir C: Laufwerk nicht gefunden



  • chille07 schrieb:

    Ich habe eine "bootfähige CD-ROM erstellt".

    PS.: Warum kann ich bei einer Startdiskette nicht auf die Festplatte zugreifen?

    zB.:
    dir C: Laufwerk nicht gefunden

    Das passiert, wenn dein OS deine Festeplatte nicht erkennt. Bsp: Alte DOS Systeme wie MS-DOS 6.x kann Platten lesen, die nicht größer als 1 GB ist, oder so. Ich hab einmal mit eine 30 GB Festplatte versucht und DOS hat sie auch nicht erkannt.



  • Woher weiss ich welche Version ich habe
    (die Dateien habe ich von einer Startdiskette von Win Millenium)

    PS.: Meine Festplatte umfasst 28 GB.(Was kann ich dagegen machen?)



  • chille07 schrieb:

    Woher weiss ich welche Version ich habe

    Befehl: ver

    Eine bootfähige Diskette ist eigentlich ganz einfach zu erstellen:

    FORMAT A: /s

    Ich hoffe nur, das funktioniert auch noch unter WinXP 😕



  • [OT]

    chille07 schrieb:

    PS.: Meine Festplatte umfasst 28 GB.(Was kann ich dagegen machen?)

    Beim Schreiben einmal kräftig schütteln?[/OT]

    Welches OS verwendest Du denn, wenn Du normal von Festplatte bootest?
    Wenn Du mit WinNT x (also auch 2000 und XP) arbeitest liegt der fehlende Zugriff auf die Festplatte vermutlich am verwendeten NTFS-Dateisystem, die Win9x und DOS-Bootdisketten und auch die OS selber können das nämlich nicht lesen.
    Wenn Du XP verwendest kannst Du eine Bootdiskette erstellen, indem Du im Explorer auf Diskette formatieren gehst und dort MS-DOS-Startdiskette erstellen auswählst.
    Bin nicht ganz sicher, aber glaube, dass die dann sogar auch NTFS lesen kann



  • Ich habe die Startdiskette mit WIN XP Prof. erzeugt, ich kann jedoch nur auf Dateien auf der Diskette zugreifen(alle Festplattenpartitionen sind NTFS --> soll ich eine Partition "zurückkonvertieren" auf FAT||FAT32 ?)!

    PS.: Wie brennt man eine Start-CD? (Nero 6.0)

    Beim Schreiben einmal kräftig schütteln?[/OT]

    Gute Idee, werde ich gleich ausprobieren! 😃

    Nochmal: Kann man nicht größere HD lesen?



  • Also mit dem NTFS-Filesystem lesen wirst Du schlechte Karten haben, wenn Du nicht auf FAT/FAT32 rückkonvertierst. Allerdings geht das ja mit Windowsbordmitteln nicht, heisst also: Kommerzielle Software wie PartitionMagic oder sowas verwenden. Aber eines vorweg: FAT hat ausgedient, außer Du willst unbedingt mit M$-DOS <=6.x auf die Festplatte zugreifen. Dann haben deine Partitionen allerdings Größenbeschränkung von knapp 2 GB.
    Mir ist (außer Linux) kein OS bekannt, das sich zum Einen von einer CD booten lässt und zum Anderen NTFS lesen oder sogar schreiben kann (Ich schwöre auf Knoppix). HD-Größe spielt da eine eher untergeordnete Rolle, das Dateisystem ist hier der Knackpunkt.
    Für eine Boot-CD brauchst Du eine bootfähige Diskette, von der Nero ein Image lesen kann, und (in Versoin 5.5) musst Du eine CD-ROM (Boot) erstellen. Wie das bei 6.0 aussieht weiss ich nicht, aber sollte eigentlich dann schon mehr oder weniger selbsterklärend sein.



  • Ich habe eine Startdiskette eingelegt, ein paar Dateien dazu, und auf Brennen.
    Selbstverständlich auf BOOTFÄHIG, aber nach dem Brennen kommt eine Meldung:
    "Cachen von Dateien nicht erfolgreich".
    und wenn ich das System, nach einer kleinen änderung im BIOS neu starte, wird die CD nicht erkannt!
    (Im Windows kann ich die CD auch nicht lesen. Kann das daran liegen, dass es eine CD-RW ist?)



  • Das klingt für mich auf jeden Fall nach einem Problem beim Brennen. Hm... machst Du ein Image von der Diskette oder versuchst Du direkt während des Brennens von der Diskette zu lesen? Klingt nämlich sehr danach, dass er versucht, die Brennergeschwindigkeit zu halten, aber Disketten sind dazu definitv nicht in der Lage...



    1. Wie erstellt man eine Image-Datei von Dateien aus der Zusammenstellung
      (ich kann nur Images von CDs machen)

    2. Ich kann von der Bootfähigen CDRW nicht starten. Auch im Windows kann ich sie nicht öffnen!!!

    3. Ich kann mit der Diskette starten.

    Bau doch lieber ansi-c-sachen (auch konsole-anwendungen) und compiliere die zum beispiel mit djgpp, dann laufen sie unter dos.

    Entweder funktioniert das nicht, oder ich habe etwas falsch verstanden.

    Also bitte korrigiert mich wenn etwas falsch ist...

    1. Datei-Neu-Win32-Dateiname-OK
    2. Datei-Neu-CplusplusQuellcodedatei-Dateiname-OK
    3. Quellcode schreiben
    4. Compilieren
      5) Projekt-Einstellungen-C/C++-Projektoptionen-"/djgpp"
    5. Erstellen-Ausführen

    IncludeDateien: string.h,stdio.h,conio.h

    Irgendwas muss falsch sein...
    Weil im DOS kommt eine Fehlermeldung, dass die Datei nicht ausgeführt werden kann.



  • Zu 1: Geht nicht mit Windows-Standard-Tools, da brauchst Du schon was Anderes. Entweder unter Linux (würde ich empfehlen, wenn Du eines hast) oder auch mit Cygwin mit dem Tool dd.
    Das benutzt man unter Linux beispielsweise so:

    dd if=/dev/fd0 of=~/disk.img
    

    if ist die Eingabedatei (bzw. in diesem Fall das Eingabedevice, also das Diskettenlaufwerk), of die Ausgabedatei. Es gibt noch jede Menge mehr Schalter, die man aber hierfür nicht braucht.
    Es gibt auch noch andere Tools, die das können, musst Du mal nach Googlen.
    Zu 2: Klingt immer noch derbe nach Brennfehler. Schliesst du die CD auch ab nach dem Brennen (stellt man vorher bei Nero ein)? Mehr fällt mir dazu aber auch grad nicht ein.
    Zu 3: Wenn Du schon unter Windows nicht auf die CD zugreifen kannst wird es beim Booten wohl dann auch nicht klappen -> also erstmal lesbare CD erstellen.

    Zum Rest: Du solltest nicht mit M$-Compiler mit dem Schalter /djgpp kompilieren, sondern mit dem djgpp-Compiler, den es hier gibt.



  • Außerdem macht es wenig Sinn ein 32Bit-Programm unter einem 16Bit-System laufen zu lassen.

    Nimm direkt den djgpp als Compiler. Der macht dir auch 16Bit-Programme.


Anmelden zum Antworten