boot.ini, Booten von primären Partitionen nach erweiterter Partition

boot.ini, Booten von primären Partitionen nach erweiterter Partition

Gibt es eine (Win NT-)Regel, dass primäre MBR-Partitionen vor erweiterten Partitionen kommen müssen?

Aktive Partition ist auf rdisk(0)

Ich habe ein sekundäres Laufwerk mit 4/5 Partitionen (je nachdem, wie Sie zählen), parted zeigt:

1 Primär 2 Erweitert, enthält (3) Logisch 4 Primär 5 Primär

Um die logische Partition mit boot.ini zu booten,

 multi(0)disk(0)rdisk(1)partition(4)\WINDOWS="14" /noexecute=optin /fastdetect

parted listet alle 5 Partitionen auf: NTLDR zählt bekanntermaßen die Containerpartition nicht mit und zählt die logische Partition nach der Aufzählung der primären Partitionen auf, daher ist die logische Partition (4).

Bisher konnte ich HAL.DLL nicht von den nächsten beiden primären Partitionen laden

 multi(0)disk(0)rdisk(1)partition(2)\WINDOWS="12" /noexecute=optin /fastdetect
 multi(0)disk(0)rdisk(1)partition(3)\WINDOWS="13" /noexecute=optin /fastdetect

Ist das ein bekanntes Problem mit NTLDR – primäre Partitionen müssen vor erweiterten Partitionen kommen? (Oder habe ich einfach irgendwo anders etwas falsch gemacht.)

Antwort1

Es gibt mehrere Probleme/Faktoren, die Sie berücksichtigen können.

1. 1024-Zylinder-Problem.

Während des Bootstrap-Vorgangs verwendet Windows NT 4.0 INT13-BIOS-Funktionen, um auf das Laufwerk zuzugreifen. Die INT13-Funktionen haben einen maximalen „Bereich“ von 256 Köpfen, 1024 Zylindern und 63 Sektoren, die sie adressieren können. Dies entspricht ungefähr 7,8 GB (512 Bytes pro Sektor).

Deshalb ganzeSystempartitionmuss unter 1024 Zylindern liegen.

Die Systempartition ist die Partition, die die Dateien enthält, die für den ersten Systemstart benötigt werden. Bei Windows NT sind dies die Dateien Ntdetect.com, NTLDR, Boot.ini und manchmal Ntbootdd.sys.

2. Boot.ini und Partitionsnummern.

Ich bin mir nicht 100 % sicher, ob die Partitionsreihenfolge „pri – extended – pri“ ein Problem darstellt. Ich weiß aber, dass das damals ungewöhnlich war und es würde mich nicht im Geringsten überraschen, wenn es ein Problem wäre. Deshalb würde ich es auf jeden Fall vermeiden. Mit anderen Worten: Um Probleme zu vermeiden, platzieren Sie primäre Partitionen vor erweiterten.

Anscheinend wissen Sie bereits, wie boot.ini Partitionen zählt. Trotzdem für diejenigen, die es lesen und es nicht wissen:

  • Partitionsnummern werden beginnend mit 1 (nicht 0) vergeben.
  • Den primären Partitionen werden zuerst Nummern zugewiesen.
  • Als nächstes werden den logischen Partitionen Nummern zugewiesen.
  • Erweiterten Partitionen werden überhaupt keine Nummern zugewiesen.

Für die primäre Partition müssen wir die tatsächliche Reihenfolge der Partitionen in der Partitionstabelle berücksichtigen. Die Reihenfolge des Partitionslayouts kann von der Reihenfolge der Partitionen in der primären Partitionstabelle abweichen. Betrachten Sie also 3 primäre Partitionen

Partition a - Partition b - Partition c

während die Partitionstabelle wie folgt aussieht

  • Partition b
  • Partition c
  • Partition a

Und wenn Partition aes sich um eine „Systempartition“ handelt, muss der Boot.ini-Eintrag möglicherweise auf Partition(3) und nicht auf Partition(1) verweisen, was Sie aufgrund der Position der Partitionen auf dem Laufwerk erwarten würden.

Damals gab es Tools, die die Einträge in der Partitionstabelle in der Reihenfolge sortierten, in der sie auf dem Laufwerk erschienen.

verwandte Informationen