Christoph Schnauß: Booten von ISO-File, geht das?

hallo Forum,

manchmal hat man ja "unmögliche" Wünsche. Ich habe mir beispielsweise ein bootfähiges ISO zusammengebastelt. Da ich die CD gelegentlich aktualisieren möchte (es ist allerhand Krempel drauf, den ich selber zusammengestellt habe), mag ich nicht jedesmal eine CD davon brennen, mit der Zeit läuft das trotz preiswerter gewordener Rohlinge dann doch ins Geld.

Ich kann ja nun auf einer Linux-Kiste völlig problemlos ISOs mounten. Kriege ich das aber auch hin, daß ich von so einem ISO-File booten kann? Ich gebe zu, daß mir von der Logik her nur ein schlichtes "Nein" als Antwort möglich scheint, aber meine Logik ist halt nicht die von Mr. Spock ...

Grüße aus Berlin

Christoph S.

  1. hi,

    [...] mag ich nicht jedesmal eine CD davon brennen, mit der Zeit läuft das trotz preiswerter gewordener Rohlinge dann doch ins Geld.

    CD-RW?

    gruß,
    wahsaga

    --
    "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
    1. öhm ...

      [...] mag ich nicht jedesmal eine CD davon brennen, mit der Zeit läuft das trotz preiswerter gewordener Rohlinge dann doch ins Geld.
      CD-RW?

      Das ist wurscht. Mir gehts mit der Frage ganz einfach ums Prinzip: geht das nun, oder gehts nicht? Kann/muß ich irgendwas in die initrd (auf meiner Platte) schreiben, und wenn nein, wie mache ich das dann trotzdem?

      Grüße aus Berlin

      Christoph S.

      1. Sup!

        Also... wenn Du Dein BIOS überreden kannst, den Bootsektor aus dem ISO-File zu lesen und dann aus dem ISO-File zu booten, dann könnte das gehen - nur gibt es so ein BIOS AFAIK nicht, denn das müsste dann ja auch das Filesystem kennen, in dem das ISO liegt und dann das ISO quasi mounten und dann davon booten.

        Wenn Du natürlich Zeit und Lust hast, ein Full-Custom-BIOS zu schreiben...

        Gruesse,

        Bio

        --
        Kein Kommentar!
        1. Hallo Bio,

          Also... wenn Du Dein BIOS überreden kannst, den Bootsektor aus dem ISO-File zu lesen und dann aus dem ISO-File zu booten, dann könnte das gehen - nur gibt es so ein BIOS AFAIK nicht, denn das müsste dann ja auch das Filesystem kennen, in dem das ISO liegt und dann das ISO quasi mounten und dann davon booten.

          Selbstverständlich können halbwegs aktuelle Bootloader auf diverse Dateisysteme zugreifen. Das BIOS sorgt dafür, dass ein First-Stage-Bootloader geladen wird, so vorhanden. Was der kann, hat mit dem BIOS nicht mehr ganz soviel zu tun, d.h. ein entsprechend fähiger Bootloader dürfte ausreichen.

          Freundliche Grüsse,

          Vinzenz

          1. Sup!

            Tjaha... aber ein Seconds-Stage-Bootloader, der aus ISOs bootet ist mir nicht bekannt.

            Gruesse,

            Bio

            --
            Kein Kommentar!
            1. Hallo Bio,

              Tjaha... aber ein Seconds-Stage-Bootloader, der aus ISOs bootet ist mir nicht bekannt.

              Mir auch nicht :-) Das heißt, da man in VMware ISO-Images als CD-ROM angeben kann, und die virtuelle Maschine von solch einem CD-ROM, indirekt also von einem ISO-Image booten kann, ...

              Programmierbar ist das bestimmt, ich kann es allerdings nicht :-(

              Freundliche Grüsse,

              Vinzenz

              1. Sup!

                Mir auch nicht :-) Das heißt, da man in VMware ISO-Images als CD-ROM angeben kann, und die virtuelle Maschine von solch einem CD-ROM, indirekt also von einem ISO-Image booten kann, ...

                Programmierbar ist das bestimmt, ich kann es allerdings nicht :-(

                Kann FAUMachine (Projekt, wo u.a. meine Wenigkeit mal mitgearbeitet hat) auch... allerdings wird da dann das ISO-Image quasi gemountet, d.h. die virtuelle Maschine weiss nicht, dass das keine richtige CD ist. Programmierbar wäre es sicher, von ISO-Images zu booten, aber es ist halt kompliziert.
                Denn auch 2nd-Stage-Bootloader können nicht aus Dateisystemen lesen, sondern nur weitere Boot-Blöcke laden, die am Anfang der Partition(en) liegen. Um ein ISO aus einer Partition zu mounten wäre es aber notwendig, das jeweilige Filesystem lesen zu können, das ISO darin zu lokalisieren, die Blöcke daraus zu extrahieren etc., festzustellen, welche Blöcke die Boot-Blöcke sind und diese in den Speicher zu kopieren und zu starten.
                Das so gebootete System müsste zudem wissen, wie es auf die eigentliche Festplatte zugreifen kann, und zumindest Windows rechnet AFAIK nicht damit, nicht auf der Sytemplatte, sondern in einer speziellen Boot-Partition zu booten.

                Gruesse,

                Bio

                --
                Kein Kommentar!
                1. Hallo Bio,

                  Kann FAUMachine (Projekt, wo u.a. meine Wenigkeit mal mitgearbeitet hat) auch... allerdings wird da dann das ISO-Image quasi gemountet, d.h. die virtuelle Maschine weiss nicht, dass das keine richtige CD ist. Programmierbar wäre es sicher, von ISO-Images zu booten, aber es ist halt kompliziert.

                  Siehe Postings von Severin https://forum.selfhtml.org/?t=93879&m=567501.

                  Denn auch 2nd-Stage-Bootloader können nicht aus Dateisystemen lesen, sondern nur weitere Boot-Blöcke laden, die am Anfang der Partition(en) liegen. Um ein ISO aus einer Partition zu mounten wäre es aber notwendig, das jeweilige Filesystem lesen zu können, das ISO darin zu lokalisieren, die Blöcke daraus zu extrahieren etc., festzustellen, welche Blöcke die Boot-Blöcke sind und diese in den Speicher zu kopieren und zu starten.

                  Ich denke schon, dass die Bootloader wie ntldr oder grub in der Lage sind, auf das Dateisystem zuzugreifen.

                  Wenn ich z.B. über boot.ini dem NT-Loader weitere Bootsektoren von Partitionen in Form von Dateien im Dateisystem vorsetze, so kann der NT-Loader das andere OS laden, hab' ich schon mit diversen Linux-Distributionen, aber auch DOS und Win 9x durchprobiert. Ich gehe davon aus, dass der NT-Loader diese Dateien, deren Name in der boot.ini angegeben ist, über das Dateisystem findet, egal ob das FAT  12, FAT16, FAT32 oder NTFS ist. Vergleichbares gilt für Grub.

                  Das so gebootete System müsste zudem wissen, wie es auf die eigentliche Festplatte zugreifen kann, und zumindest Windows rechnet AFAIK nicht damit, nicht auf der Sytemplatte, sondern in einer speziellen Boot-Partition zu booten.

                  Über einen Bootmanager hatte ich keinerlei Probleme, ein Windows 9x von einer primären Partition auf der zweiten Festplatte am sekundären IDE-Controller zu booten. Aber ich gebe es zu: für Windows 9x musste es stets eine primäre Partition sein.

                  Freundliche Grüsse,

                  Vinzenz

                  1. Sup!

                    Ich bin der Überzeugung, dass die Konfiguration (z.B. boot.ini oder lilo.conf) vom Bootloader beim (Neu-)Schreiben des Bootblocks lediglich einmal eingelesen wird und beim wirklichen Booten nicht verwendet wird.

                    Statt dessen generiert der Bootloader-Schreiber aus den Konfigurationsdateien festverdrahtete Bootblöcke, die dann in die Bootsektoren geschrieben werden.

                    Ich weiss ja nicht, was Du Dir vorstellst, wieviel Platz in einem Bootblock ist bzw. wieviel man in wenigen KByte Assembler ausdrücken kann; ich bin mir aber zu 99.9% sicher, dass das Lesen verschiedener Dateisysteme auf gar keinen Fall drin ist.

                    Gruesse,

                    Bio

                    --
                    Kein Kommentar!
                    1. Hallo Bio,

                      Ich bin der Überzeugung, dass die Konfiguration (z.B. boot.ini oder lilo.conf) vom Bootloader beim (Neu-)Schreiben des Bootblocks lediglich einmal eingelesen wird und beim wirklichen Booten nicht verwendet wird.

                      lilo ja, deswegen ist dort ja stets neuschreiben angesagt.
                      boot.ini nein. Die boot.ini kann ich mit einem beliebigen Editor ändern. Den Bootsektor kopiere ich wie jede andere Datei. Woher soll in diesem Fall Windows NT/2000/XP/2003 wissen, dass es den Bootblock neu zu schreiben hätte. Ich kann sogar ein Linux von CD starten (z.B. Knoppix), die boot.ini editieren, eine Datei linux.bin (oder wie auch immer) ins Wurzelverzeichnis kopieren und anschließend booten, es geht.

                      Statt dessen generiert der Bootloader-Schreiber aus den Konfigurationsdateien festverdrahtete Bootblöcke, die dann in die Bootsektoren geschrieben werden.

                      Ich weiss ja nicht, was Du Dir vorstellst, wieviel Platz in einem Bootblock ist bzw. wieviel man in wenigen KByte Assembler ausdrücken kann; ich bin mir aber zu 99.9% sicher, dass das Lesen verschiedener Dateisysteme auf gar keinen Fall drin ist.

                      Im Fall von NT/2000/XP/2003: (Quelle: Microsoft Windows XP Professional - Original Microsoft Training, leicht gekürzt)

                      Der Bootsektor wird derart modifiziert, dass beim Systemstart der Betriebssystemlader NTLDR geladen und initialisiert wird.

                      NTLDR schaltet den Mikroprozessor vom Real Mode in den Protected Mode und startet die minimal erforderlichen Dateisystemtreiber. Diese sind in NTLDR integriert.

                      Anschließend liest NTLDR die Datei boot.ini ein (ganz normal über das Dateisystem)...

                      Zum Problem Bootblock noch ein kleiner Auszug aus "Windows NT Workstation - Die technische Referenz", Microsoft Press

                      <zitat>
                      Wurde die Festplatte als Startlaufwerk ermittelt, liest das System-BIOS den Master Boot Record und lädt ihn in den Hauptspeicher. Das System-BIOS übergibt dann die Ausführung an den Master Boot Record Der hier enthaltene Code durchsucht die Partitionstabelle nach der Systempartition. Wenn der Master Boot Record die Systempartition gefunden hat, lädt er Sektor 0 der Partition in den Hauptspeicher und führt ihn aus. Sektor 0 auf der Systempartition kann ein Hilfs- oder Diagnoseprogramm darstellen oder eine Boot-Datei, die den Startcode für ein Betriebssystem enthält. Der Code in der Boot-Datei startet das Betriebssystem in der durch das betreffende Betriebssystem vorgegebenen Art und Weise.
                      [...]
                      Der Master Boot Record ist im allgemeinen unabhängig vom Betriebssystem. Beispielsweise verwendet man auf x86-Computern denselben Master Boot Record zum Starten von Windows NT, Windows 95, MS-DOS [...]

                      Dagegen ist die Boot-Datei sowohl vom Betriebssystem als auch vom Dateisystem abhängig. Auf x86-Computern ist die Boot-Datei von Windows NT für folgende Punkte verantwortlich:

                      • Suchen der Datei NTLDR im Stammordner. Dazu müssen in der Boot-Datei grundlegende Informationen zum verwendeten Dateisystem vorhanden sein. Auf einem FAT-Datenträger weist die Boot-Datei in der Regel eine Länge von einem Sektor auf. Bei NTFS-Datenträgern kann sie bis zu 16 Sektoren lang sein, wobei die zusätzlichen Sektoren genügend Code des Dateisystems enthalten, um NTLDR zu finden.

                      • Laden des Bootloaders - NTLDR - in den Hauptspeicher

                      • Beginn der Ausführung des Bootloaders
                        </zitat>

                      Sicherlich ist es eine große Leistung, diese Aufgaben in diesem geringen Speicherplatz zu realisieren. Aber es geht offensichtlich - und Du siehst, dass das Lesen _verschiedener_ Dateisysteme offenbar _nicht_ erforderlich ist, d.h. Deine Vermutung stimmt (nicht nur zu 99,9%), die Folgerung die Du daraus ziehst nicht.

                      Freundliche Grüsse,

                      Vinzenz

                      1. Sup!

                        Dann ist NTLDR kein typischer Bootloader, sondern irgendwas zwischen Monster-Bootloader und Mikro-Betriebssystem.
                        Naja... der Trend geht hin zu komplexen Bootloadern... z.B. "Das U-Boot" (Ein Bootloader mit Netzwerkbootfähigkeiten für embedded Prozessoren)

                        Gruesse,

                        Bio

                        --
                        Kein Kommentar!
                        1. morgens,

                          so, ehe ihr euch jetzt ohne mich weiter unterhaltet, muß ich mich doch mal einschalten.

                          Dann ist NTLDR kein typischer Bootloader

                          ähm ... wieso sollte ntldr überhaupt ein bootloader sein? Ich gestehe, daß ich mir das immer noch nicht _so_ genau angeschaut habe, aber ich dachte bisher, daß ntldr mit dem Bootvorgang selbst nichts zu tun hat, sondern erst irgendwie "hinterher" ins Spiel kommt. Welche Rolle spielt denn, bitteschön, ntdetect.com?

                          Naja... der Trend geht hin zu komplexen Bootloadern... z.B. "Das U-Boot" (Ein Bootloader mit Netzwerkbootfähigkeiten für embedded Prozessoren)

                          Es wäre für mich interessant, wenn du das genauer erläutern könntest. Wir landen hier, scheints, bei der Erörterung von "core"-Fragen der Microsoft-Startvorgänge.

                          Grüße aus Berlin

                          Christoph S.

                          1. Sup!

                            Nun... das Problem ist eigentlich die Abgrenzung zwischen "BIOS", Booten und OS.

                            Gaaaaanz am Anfang vom Starten läuft die CPU los und lädt von einem Default-Bus-Device irgendein Programm (nennen wir es BIOS, z.B.).
                            Das konfiguriert dann die CPU und sagt ihr bzw. findet heraus, was am Prozessor-Bus noch so dranhängt (RAM z.B.), aktiviert Caches und CPU-interne Peripherie.
                            Wenn das fertigt ist, dann versucht dieses Programm ggf., ein neues Nachzuladen, dazu muss es ggf. erstmal was zum Nachladen finden.
                            Je nach Funktionalität laden Bootloader dann ein OS oder einen 2nd-Stage-Bootloader, der z.B. die Funktionalität hat, weitere Bootloader oder verschiedenen OS zu laden.
                            Schließlich und endlich lädt dann irgendeiner der Loader ein OS, und fertig.

                            Die Aufteilung ist halt

                            1. Hardware konfigurieren
                            2. Irgendwas zum Nachladen finden
                            3. Nachladen (und ggf. weiter 2)

                            Gruesse,

                            Bio

                            --
                            Kein Kommentar!
                            1. wow Bio,

                              wir kriegen ja mal nen richtiges Problem zu lösen *g*

                              Nun... das Problem ist eigentlich die Abgrenzung zwischen "BIOS", Booten und OS.

                              äh ... Noin. Die Reihenfolge stimmt nicht. Du darfst gerne widersprechen, aber so, wie ich es bisher gelernt und auch bestätigt gefunden habe, geht es so:
                                BIOS -> [Filesystem] -> OS -> Bootvorgang

                              Gaaaaanz am Anfang vom Starten läuft die CPU los

                              Wirklich? Macht nicht zuerst das BIOS irgendwelche Luftsprünge und legt sich dann enttäuscht eine Nanosekunde schlafen, weil es keinen Spielkameraden findet? Dann erst "lädt [es] von einem Default-Bus-Device irgendein Programm"

                              Das konfiguriert dann die CPU und sagt ihr bzw. findet heraus, was am Prozessor-Bus noch so dranhängt (RAM z.B.), aktiviert Caches und CPU-interne Peripherie.

                              <kopfkratzmodus>Möglicherweise.</kopfkratzmodus>

                              Wenn das fertigt ist, dann versucht dieses Programm ggf., ein neues Nachzuladen

                              Jau, und _genau das_ ist bei meiner Ausgangsfrage das Problem. Mein ISO soll ja einschließlich seiner initrd nicht "nachgeladen" werden, sondern von Anfang an vorhanden sein, grrrmpf. Ich _will_ ganz einfach nicht akzeptieren, daß das unmöglich sein könnte. Der Ausweg, der im Thread bereits aufgezeigt wurde, besteht darin, das Teil schonmal (vorher) auf eine Partition zu legen. Nur ist es dann strenggenommen kein ISO mehr, sondern eine stinkormale und unter Umständen sogar startfähige Partition.

                              Je nach Funktionalität laden Bootloader dann ein OS oder einen 2nd-Stage-Bootloader, der z.B. die Funktionalität hat, weitere Bootloader oder verschiedenen OS zu laden.
                              Schließlich und endlich lädt dann irgendeiner der Loader ein OS, und fertig.

                              <tätschel> Hast ja recht, aber dieser kümmerliche Rest ist unwichtig </tätschel>

                              I'm very amused, to have a serious question to discuss to you  -  enjoy!
                              (weia, wo hab ich den Spruch bloß her ...)

                              Grüße aus Berlin

                              Christoph S.

                              1. Moin Christoph,

                                ich weiß nicht, was du einem modernen PC-BIOS so alles zutraust...

                                BIOS -> [Filesystem] -> OS -> Bootvorgang

                                ... aber ganz bestimmt liest und interpretiert es kein Filesystem. Wenn es mit den ganzen Hardware-Initialisierungen mal fertig ist, kann es nix weiter als den ersten Sektor von irgendeinem Device in den Arbeitsspeicher zu laden (wenn ich mich nicht irre, nach 0x0007C00) und den Programmcode darin auszuführen.

                                Dieses "irgendein Device" ist bei älteren BIOSen grundsätzlich ein Floppylaufwerk oder eine Harddisk, aber bei moderneren Systemen darf es auch schon mal ein CD-ROM oder gar ein USB Device sein.
                                Trotzdem liest das BIOS nur stur den physikalisch ersten Sektor des Mediums und weiß nichts von irgendeinem Dateisystem.

                                Dieser erste Sektor des vom BIOS gewählten Bootmediums _kann_ schon vom OS da abgelegt und zurechtkonfiguriert worden sein, kann aber ebensogut von einem Bootmanager eines Drittanbieters sein.

                                Wirklich? Macht nicht zuerst das BIOS irgendwelche Luftsprünge und legt sich dann enttäuscht eine Nanosekunde schlafen, weil es keinen Spielkameraden findet?

                                Die Vorstellung amüsiert mich, aber was willst du damit wirklich sagen? Ich habe im Moment Schwierigkeiten, diese bildhafte Darstellung auf technische Vorgänge abzubilden... ;)

                                Das hilft dir jedoch alles bei deinem ursprünglichen Problem nicht weiter. Und da, so fürchte ich auch, hast du wahrscheinlich keine Chance, eben WEIL das BIOS kein Filesystem kennt (in dem ja das ISO-Image als File liegen würde). Ich sehe auch nur die Möglichkeit, selbst einen Bootloader mit diesen Fähigkeiten zu schreiben. Oha!

                                Viel Glück,

                                Martin

                              2. Sup!

                                äh ... Noin. Die Reihenfolge stimmt nicht. Du darfst gerne widersprechen, aber so, wie ich es bisher gelernt und auch bestätigt gefunden habe, geht es so:
                                  BIOS -> [Filesystem] -> OS -> Bootvorgang

                                Bullshit, Private Paula!!! ;-)

                                Gaaaaanz am Anfang vom Starten läuft die CPU los

                                Wirklich? Macht nicht zuerst das BIOS irgendwelche Luftsprünge und legt sich dann enttäuscht eine Nanosekunde schlafen, weil es keinen Spielkameraden findet? Dann erst "lädt [es] von einem Default-Bus-Device irgendein Programm"

                                Das BIOS hat ja keinen eigenen Prozessor, dieser kleine Chip auf dem MoBo ist lediglich ein EEPROM/Flash, wo das Programm drinsteht, das die CPU zuerst lädt, sozusagen das Default-Bus-Device des Prozessorbusses.

                                Wenn das fertigt ist, dann versucht dieses Programm ggf., ein neues Nachzuladen

                                Jau, und _genau das_ ist bei meiner Ausgangsfrage das Problem. Mein ISO soll ja einschließlich seiner initrd nicht "nachgeladen" werden, sondern von Anfang an vorhanden sein, grrrmpf. Ich _will_ ganz einfach nicht akzeptieren, daß das unmöglich sein könnte. Der Ausweg, der im Thread bereits aufgezeigt wurde, besteht darin, das Teil schonmal (vorher) auf eine Partition zu legen. Nur ist es dann strenggenommen kein ISO mehr, sondern eine stinkormale und unter Umständen sogar startfähige Partition.

                                Du brauchst einfach ein Programm, das man im weitesten Sinne als Bootloader bezeichnen könnte, das die Fähigkeit hat, von einer Platte ein ISO auszulesen, dieses quasi zu mounten und dann weiterzubooten.

                                Das ist vor allem deshalb kompliziert, weil der Bootloader im Bootsektor der auf diese Art gemounteten CD sicher nicht damit rechnet, gar nicht auf CD sondern irgendwie eingeblendet zu sein.
                                Der CD-Bootloader benutzt dann wahrscheinlich irgendwelche BIOS-Funktionen, um "sein" Medium zu finden und weiterzuladen.
                                Folglich müsste der "ISO-von-Platte-Boot-Loader" wahrscheinlich vorher irgendwelche BIOS-Funktionen "umbiegen", damit der nachfolgende Bootloader nicht abschmiert. Das dürfte kompliziert bis ziemlich unmöglich sein.

                                Gruesse,

                                Bio

                                --
                                Kein Kommentar!
                          2. Hallo Christoph,

                            so, ehe ihr euch jetzt ohne mich weiter unterhaltet, muß ich mich doch mal einschalten.

                            Dann ist NTLDR kein typischer Bootloader

                            ohne es genau zu wissen, ich hatte NTLDR stets als Abkürzung für NT Loader gesehen, d.h. für das Ladeprogramm für NT-ähnliche-Betriebssysteme, somit einen speziellen Bootloader :-)

                            ähm ... wieso sollte ntldr überhaupt ein bootloader sein? Ich gestehe, daß ich mir das immer noch nicht _so_ genau angeschaut habe, aber ich dachte bisher, daß ntldr mit dem Bootvorgang selbst nichts zu tun hat, sondern erst irgendwie "hinterher" ins Spiel kommt. Welche Rolle spielt denn, bitteschön, ntdetect.com?

                            Bisheriger Stand: Der Bootblock sorgt dafür, dass NTLDR geladen wird.

                            Meine weiteren Ausführungen beziehen sich auf Windows 2000, bei Windows XP bzw. Windows Server 2003 sollte sich nicht viel geändert haben.

                            NTLDR führt folgende Schritte aus:

                            • Prozessor vom Real Mode in den Protected Mode
                                versetzen (NTLDR ist ein 32-Bit-Programm).
                            • Starten des NTFS-Dateisystems bzw. des FAT16-
                                oder FAT32-Dateisystems. Dateisystemtreiber
                                dafür sind in NTLDR integriert.
                                (FAT32 nicht für Windows NT 4.0)
                            • Lesen der Datei boot.ini, die die Auswahl von
                                Betriebssystemen ermittelt.
                                Im folgenden gehe ich davon aus, dass das
                                NT-ähnliche Betriebssystem normal gebootet wird.
                            • NTLDR startet ntdetect.com

                            Jetzt ist vorübergehend ntdetect.com am Zug:

                            • ntdetect.com ermittelt die vorhandene Hardware
                            • erstellt eine Liste der derzeit installierten
                                Hardwarekomponenten und gibt diese Informationen
                                an NTLDR weiter.
                            • Falls mehrere Hardwarekonfigurationen vorhanden sind,
                                ermöglicht ntdetect.com die Auswahl eines Hardware-
                                profils.
                            • Danach gibt ntdetect.com die Steuerung an NTLDR zurück.

                            NTLDR

                            • lädt den kernel und die Hardwareabstraktionsschicht
                                in den Hauptspeicher.
                            • lädt den Registryschlüssel \HKEY_LOCAL_MACHINE\SYSTEM
                            • initialisiert den Kernel (ntoskrnl.exe)
                            • übergibt die Steuerung an den Kernel.

                            Der Kernel verwendet die von NTLDR übergebenen Informationen (die von ntdetect.com stammen) zur Erstellung des Schlüssels HKEY_LOCAL_MACHINE\HARDWARE und erstellt anschließend ein Duplikat der Konfiguration.

                            Der Windows-Startvorgang ist erst dann vollständig abgeschlossen, wenn ein Benutzer sich erfolgreich am System angemeldet hat. Nach der Anmeldung wird das Duplikat der Konfiguration in die letzte als funktionierend bekannte (LastKnownGood) Konfiguration kopiert, die man ja bekanntlich beim OS-Start auch auswählen kann.

                            benutzte Quellen:
                            Microsoft Windows 2000 Professional - Die technische Referenz
                            Microsoft Windows NT Workstation - Die technische Referenz

                            Freundliche Grüsse,

                            Vinzenz

                    2. Hallo Bio,

                      Ich bin der Überzeugung, dass die Konfiguration (z.B. boot.ini oder lilo.conf) vom Bootloader beim (Neu-)Schreiben des Bootblocks lediglich einmal eingelesen wird und beim wirklichen Booten nicht verwendet wird.

                      Bei Grub wird die Konfigurationsdatei jedes Mal neu geladen. Grub hat diverse Dateisystem-"Treiber" integriert und kann somit lesend auf viele verschiedene Dateisysteme zugreifen. Und Grub hat auch so eine Art Shell, mit der Du Grub während des Bootvorgangs Befehle erteilen kannst. Wenn Du NTLDR als Monster bezeichnest, dann ist Grub erst recht ein Monster - und so groß ist Grub nun auch wieder nicht.

                      Viele Grüße,
                      Christian

                      1. Sup!

                        Bei Grub wird die Konfigurationsdatei jedes Mal neu geladen. Grub hat diverse Dateisystem-"Treiber" integriert und kann somit lesend auf viele verschiedene Dateisysteme zugreifen. Und Grub hat auch so eine Art Shell, mit der Du Grub während des Bootvorgangs Befehle erteilen kannst. Wenn Du NTLDR als Monster bezeichnest, dann ist Grub erst recht ein Monster - und so groß ist Grub nun auch wieder nicht.

                        Ich sag' ja... die Grenze zwischen OS und Bootloader ist fliessend.
                        Normalerweise ist es nicht Aufgabe eines Bootloaders im klassischen Sinne, Dateisysteme zu verstehen. Von daher ist Grub vielleicht eher eine Art Mini-OS als ein Bootloader.

                        Gruesse,

                        Bio

                        --
                        Kein Kommentar!
  2. Hi!

    Ich möchte auch was beisteuern!

    Du möchtest also von ISO booten. Was willst du genau booten? Ich kenn mich zwar nur unter Windows gut aus, aber du brauchst ja ein Executable oder sonst ein Programm (in Basic language, assembler, c etc.).

    Es gibt im Internet genügend Anleitungen dazu, ein bestimmtes Programm zu starten (spontan fällt mir Win XP mit integriertem SP2 ein). Dazu gibt man z.b. in Nero bestimmte Parameter für ne Boot-CD ein.

    Vielleicht kannst du dir dort Infos holen.

    Oder du besorgst dir ein Mini-Knoppix, bootest von CD und hast auch deine Files (Bilder, Videos etc.) auf der Disc und das läuft (fast) überall. Knoppix ist echt genial.

    Nojo das wars!
    Kadir

    1. hallo Kadir,

      Ich möchte auch was beisteuern!

      Nett von dir.

      Du möchtest also von ISO booten.

      Ja.

      Was willst du genau booten?

      Ein ISO.

      aber du brauchst ja ein Executable oder sonst ein Programm

      Nein, nicht unbedingt. Ich brauche einen Bootsector, den mein BIOS  -  gegebenenfalls auch über eine "Umleitung"  -  für vertrauenswürdig hält, so daß ihm der Bootvorgang übertragen werden kann. Das einzige, was zählt, ist, daß das Bootmedium ein bekanntes Filesystem enthalten muß.

      Es gibt im Internet genügend Anleitungen dazu, ein bestimmtes Programm zu starten (spontan fällt mir Win XP mit integriertem SP2 ein)

      WinXPSP2 ist kein "Programm", sondern ein Betriebssystem, das einen eigenen Bootvorgang ausnutzt  -  dazu muß entweder FAT32 oder NTFS als Filesystem ansprechbar sein, und auf diesem Filesystem müssen ntldr, ntdetect.com und boot.ini liegen.

      Oder du besorgst dir ein Mini-Knoppix, bootest von CD

      Und wie boote ich ein Koppix, das ich gar nicht erst brenne, sondern als ISO-File auf meiner Platte speichere?

      Grüße aus Berlin

      Christoph S.

      1. Verstehe, aber das widerspricht doch dem Sinn, dass es Partitionen gibt. Du möchtest sozusagen aus einer (nennen wir es) "Partition" in einer Partition booten.

        Wieso erstellt du keine zweite Partition und modifzierst diese?
        Bist du Programmierer?

        1. hi,

          Du möchtest sozusagen aus einer (nennen wir es) "Partition" in einer Partition booten.

          Ja, so ungefähr

          Wieso erstellt du keine zweite Partition und modifzierst diese?

          Das ist ungefähr auch der Sinn despostings von Severin weiter oben.

          Bist du Programmierer?

          öhm ... naja. Ich bemühe mich seit etwa zehn Jahren darum, den Status eines "Programmierer-newbies" zu erreichen ;-)

          Grüße aus Berlin

          Christoph S.

  3. Hallo,

    Könnte man nicht vielleicht eine Partition der Festplatte als CD "missbrauchen"? Ich habe keine Erfahrungen damit, aber ist es vielleicht möglich, das ISO mit dd auf diese Partition zu schreiben und dann dem Bootloader deiner Wahl zu sagen, boote diese Partition?

    Gruß,
    Severin

    --
    They that can give up essential liberty to obtain a little temporary safty deserve neither liberty nor safty.
    -- Benjamin Franklin
    1. Hallo,

      Bei Knoppix scheint es sowas in der Art zu geben:
      http://www.knoppix.net/forum/viewtopic.php?t=11796

      Wenn ich das richtig überfolgen habe, booten die ganz einfach das iso von der Festplatte. Ich denke ich werde mich da etwas besser einlesen und mich wieder melden, sollte ich was finden.

      Gruß,
      Severin

      --
      They that can give up essential liberty to obtain a little temporary safty deserve neither liberty nor safty.
      -- Benjamin Franklin
      1. hi,

        Bei Knoppix scheint es sowas in der Art zu geben:
        http://www.knoppix.net/forum/viewtopic.php?t=11796

        Die Idee klingt zumindest interessant. Selbstverständlich kann ich mein ISO mit dd auf eine eigene Partition schubsen.

        Wenn ich das richtig überfolgen habe, booten die ganz einfach das iso von der Festplatte. Ich denke ich werde mich da etwas besser einlesen und mich wieder melden, sollte ich was finden.

        Mach das bitte. Ich habs eben mal auf die Schnelle versucht, klappte nicht, aber wahrscheinlich war ich da doch zu schnell und nicht gründlich genug.

        Grüße aus Berlin

        Christoph S.

        1. Sup!

          Was ist das eigentlich für eine Art von Bootloader, den Du auf der CD nutzt? Mit Floppy-Emulation oder El-Torito ("no emulation")?

          Gruesse,

          Bio

          --
          Kein Kommentar!
          1. hallo Bio,

            Was ist das eigentlich für eine Art von Bootloader, den Du auf der CD nutzt? Mit Floppy-Emulation oder El-Torito ("no emulation")?

            boah, was denkst du denn von mir ... wenn schon, dann nehme ich doch el torrito ;-)

            Grüße aus Berlin

            Christoph S.

            1. Sup!

              Du musst doch wissen, wie Du die CD bootfähig gemacht hast?

              Gruesse,

              Bio

              --
              Kein Kommentar!
        2. Hallo,

          Mach das bitte. Ich habs eben mal auf die Schnelle versucht, klappte nicht, aber wahrscheinlich war ich da doch zu schnell und nicht gründlich genug.

          http://lists.gnu.org/archive/html/bug-grub/2004-06/msg00130.html. Es werden zwei Namen genannt, Topologilinux und coLinux, wobei ersterer zweiteren benutzt. Ich habe versucht das ganze zu verstehen, bin mir aber nicht wirklich sicher es verstanden zu haben. Ist dein iso zufällig eine Art Linux? Wenn ja könnte coLinux es vielleicht irgendwie booten.

          Gruß,
          Severin

          --
          They that can give up essential liberty to obtain a little temporary safty deserve neither liberty nor safty.
          -- Benjamin Franklin
  4. Hey,

    Ein ISO-Image kann man "booten" ohne es erst auf CD brennen zu müssen,
    wenn man VmWare oder QEMU (umsonst) verwendet.
    Einige der Knoppix-Entwickler sollen das angeblich so machen.

    http://google.de/search?q=QEMU
    http://google.de/search?q=QEMU+Knoppix+ISO+booten

    G,
    milky

    1. hallo milky,

      Ein ISO-Image kann man "booten" ohne es erst auf CD brennen zu müssen,
      wenn man VmWare oder QEMU (umsonst) verwendet.

      Um VMWare einsetzen zu können, muß aber erstmal das "Hostsystem" gebootet worden und VMWare gestartet sein.

      Grüße aus Berlin

      Christoph S.