Verwirrt über boot.ini

932
user1094565

Ich habe kürzlich etwas über boot.ini gelesen und bin etwas verwirrt. Soweit ich verstanden habe, funktioniert boot.ini für GRUB wie menu.lst (oder eine der anderen Dateien, die GRUB benötigt). Wenn die boot.ini vor dem Booten des Computers unter Windows (oder einem anderen Betriebssystem) kommt, kann sie anstelle von GRUB verwendet werden? Wenn ja, ist boot.ini kein besonders "Windows-Ding", oder? (Da kann es völlig unabhängig von Windows verwendet werden). Vielleicht fehlt mir etwas und was ich hier gesagt habe, ist völliger Quatsch. Kann mir das jemand erklären? Vielen Dank!

1
Ich denke, der Windows-Booter, der boot.ini liest, wird immer bei MBR installiert, während GRUB bei MBR oder dem Bootsektor in einer beliebigen primären Partition installiert werden kann. (Naja, ich bin mir nicht sicher...) Xiè Jìléi vor 12 Jahren 0
@ XièJìléi Sie können GRUB zwar auf einer Partition installieren - aber Sie haben immer noch einen Bootloader auf dem MBR, mit dem Sie GRUB laden können. Es gibt also keinen großen Punkt. new123456 vor 12 Jahren 0

3 Antworten auf die Frage

3
Bob

Die Datei boot.iniist Teil von NTLDR, dem Bootloader, der in Windows NT bis XP und Sever 2003 (dh bis zum Kernel Major Version 5 von NT) verwendet wird. Es ist ein "Windows-Ding", da es mit Windows vertrieben wird und für die Verwendung mit Windows ausgelegt ist. Es kann jedoch GRUB und jeden anderen Bootloader in Ketten laden.

Neuere Versionen von Windows (Vista, 7) verwenden BOOTMGR, das sich nicht auf die einfache boot.iniTextdatei, sondern auf einen BCD-Speicher (Boot Configuration Data) stützt . Es kann wieder verwendet werden, um GRUB oder andere Bootloader in Ketten zu laden. Tatsächlich bieten Programme wie EasyBCD und Visual BCD Editor einen sehr einfachen Prozess, um einen Eintrag für GRUB hinzuzufügen.

Chainloading kann grundsätzlich als der Bootloader beschrieben werden, der sich im Speicher durch einen anderen ersetzt. Wenn ein Bootloader das Chainloading unterstützt, können Sie ihn grundsätzlich anweisen, jede Datei zu laden, die er lesen kann (auf einem FAT / NTFS-Dateisystem bei Windows-Bootloadern) und so auszuführen, als wäre die Datei der ursprüngliche Bootloader. Theoretisch können Sie tatsächlich eine Schleife bilden, in der ein Bootloader einen anderen lädt, der das Original lädt, usw.

Es ist eine sehr schöne Beschreibung des Startvorganges auf dem Wikipedia - Artikel hier .

1
Julian Knight

Der Windows-Bootloader wird standardmäßig im Master-Boot-Record des ersten startfähigen Laufwerks installiert.

Der Startvorgang verwendet die Datei boot.ini, um die beim Booten verfügbaren Optionen zu konfigurieren.

Der Windows-Bootloader ist im Vergleich zu GRUB positiv vereinfacht.

Boot.ini hat eine vorübergehende Ähnlichkeit mit menu.lst, aber die Ähnlichkeit ist eher eine konvergente Evolution als alles andere.

Es ist möglich, aber nicht ganz unbedeutend, den Windows-Bootloader dazu zu bringen, ein anderes Betriebssystem auszulösen. Um dies zu erreichen, benötigen Sie eine Kopie der Startdatensätze für das Startlaufwerk des anderen Betriebssystems. Sie können dann in der Datei boot.ini einen Verweis hinzufügen, der die Ausführung dieses Startdatensatzes zum Laden des anderen Betriebssystems ermöglicht. Weitere Informationen finden Sie im letzten Eintrag dieser Diskussion .

Sogar GRUB versucht nicht wirklich, Windows wirklich zu booten, es reicht einfach aus (Ketten) an den Windows-Bootloader.

Ihre Aussage, dass Sie kein anderes Betriebssystem booten können, ist nicht zu 100% genau. Sie können tatsächlich mit einem anderen Betriebssystem booten. Ich muss die Antwort herabsetzen, weil ich in dieser Hinsicht falsch bin. Ramhound vor 12 Jahren 0
Hmm, vielleicht hart! Ich werde bearbeiten, um zu klären. OK, fertig. Es ist schon eine Weile her, seit ich mir das angeschaut habe. Offensichtlich spielte die alte graue Angelegenheit. Julian Knight vor 12 Jahren 0
1
Hennes

Meines Erachtens ist das Booten für einen IBM-kompatiblen PC wie folgt:

  1. Der Computer führt den Power-On-Self-Test aus.
  2. Das Computer-BIOS ermittelt das Startgerät und lädt und führt den MBR (Master Boot Record) aus.
    Moderne Systeme haben möglicherweise eher EUFI als BIOS. UEFI kann sowohl MBR- als auch GPT-Laufwerke laden. Ich werde die vorerst ignorieren.
  3. Der MBR enthält die Partitionstabelle für die Festplatte. Eine der Partitionen wird als "aktiv" markiert. Das BIOS lädt den Bootsektor von der aktiven Partition in den Speicher und führt ihn dann aus.
  4. Wenn dies ein älterer Windows-Bootsektor war, startet und initialisiert das Programm im Bootsektor die NTLDR-Datei, die das Betriebssystem-Loader ist.
  5. NTLDR verwendet boot.ini, um Optionen darzustellen

Sie können den NT-Loader (ntldr) auf eine andere Installation verweisen. ZB wenn Ihre alte boot.ini so aussieht:

[Bootloader] Timeout = 10 default = Multi (0) Festplatte (0) Festplatte (0) Partition (1) \ WINNT [Betriebssysteme] Multi (0) Festplatte (0) Festplatte (0) Partition (1) \ WINNT = "Windows NT Workstation Version 4.00" Multi (0) Festplatte (0) Festplatte (0) Partition (1) \ WINNT = "Windows NT Workstation Version 4.00 [VGA-Modus]" / basevideo / sos C: \ = "MS-DOS" 

dann können Sie eine Zeile mit hinzufügen C:\bootsect.lnx="Boot Linuxund den Linux-Bootsector in eine Datei c: \ bootsect.lnx legen. Dann können Sie dasselbe Menü verwenden, um zwischen den Windows-Startoptionen und Linux zu wählen. Wenn Sie die Linux-Boot-Option auswählen, werden alle in dieser Datei enthaltenen Befehle ausgelöst, z. B. ein GNU / Linux-Bootloader. Dadurch würde ein zweites (und möglicherweise unerwünschtes) Menü zur Auswahl angezeigt.

Das bedeutet, dass nltdr nicht wirklich etwas anderes als Windows bootet. Sie können es jedoch dem Bootprozess an einen anderen Bootloader übergeben.

UEFI, nicht EUFI ... Bob vor 12 Jahren 0