%20%E2%80%93%20besser%20mit%20Erkl%C3%A4rungen%3F%20.png)
Ich entwerfe den Code, der die Partitionen im System aufzählt. Beim Lesen zahlreicher Dokumente kann ich keine vollständige und eindeutige Liste der Einschränkungen für den Algorithmus erstellen und herausfinden, warum Einschränkungen bestehen.
- Der Root-MBR hat 4 Einträge und kann daher 4 primäre Partitionen enthalten;
- In dieser Liste der Stamm-MBRs darf nur eine erweiterte Partition vorhanden sein, die dann zu sekundären MBRs mit logischen Volumes verkettet wird.
Fragen:
- Warum erlaubt DOS 6.22 FDISK nicht das Erstellen von 3 primären Partitionen, sondern nur von einer?
- Warum darf der sekundäre MBR in der erweiterten Partitionskette nur ein logisches Volume haben, obwohl er drei haben kann (wodurch zwei zusätzliche Links für die erweiterte Partitionsliste gespart werden)?
- Wenn die erweiterte Partition bis zum Ende ihrer Kette auf logische Laufwerke geprüft wurde, kehrt die Aufzählung dann zum Stamm-MBR zurück und wird mit dem nächsten Eintrag nach dem Eintrag der erweiterten Partition fortgesetzt? Warum nicht?
- Was passiert mit dem DOS- oder Windows-Betriebssystem, wenn MBR-Einträge gefunden werden, die den Einschränkungen nicht entsprechen (siehe Fragen 1 bis 3 oben)? Mit anderen Worten: Gibt es eine Beschreibung des Vorgangs, mit dem das Betriebssystem seine Partitionen/logischen Laufwerke auflistet?
Antwort1
Ein Master Boot Record ist eine Art Bootsektor für IBM-PC-kompatible Systeme. Die ursprüngliche Version des MBR wurde im Juni 1982 von David Litton von IBM geschrieben und 1983 mit PC-DOS 2.0 öffentlich vorgestellt. Allerdings implementierte PC-DOS nur die wichtigsten Funktionen, nicht alle.
Das, was einer „Spezifikation“ am nächsten kommt (soweit ich weiß), isthttps://thestarman.pcministry.com/asm/mbr/STDMBR.htm
Die MBR-Struktur ist wie folgt:
Adresse hex (dez) | Größe | Funktion |
---|---|---|
0x0000 (0) | 440 | Bootloader |
0x01B8 (440) | 4 | Datenträgersignatur (seit Windows NT-Familie) |
0x01BC und 0x01BC (444 und 445) | 2 | Null (0x0000) |
0x01BE (446) | 64 | Partitionstabelle |
0x01FE und 0x01FF (510 und 511) | 2 | Unterschrift |
gesamt | 512 |
Antworten:
- Warum erlaubt DOS 6.22 FDISK nicht das Erstellen von 3 primären Partitionen, sondern nur von einer?
Die Unterstützung für partitionierte Medien wurde mit IBM PC DOS 2.0 im März 1983 eingeführt, allerdings wurde damals nur eine primäre Partition unterstützt. Dies hat sich nie geändert. DOS selbstniemalsmehr als eine primäre Partition verwendet. Daher FDISK
kann nicht mehr als eine primäre Partition erstellt werden.
- Warum darf der sekundäre MBR in der erweiterten Partitionskette nur ein logisches Volume haben, obwohl er drei haben kann (wodurch zwei zusätzliche Links für die erweiterte Partitionsliste gespart werden)?
Ich bin nicht ganz sicher, was Sie genau mit „sekundärem MBR“ meinen, daher beantwortet das Folgende Ihre Frage möglicherweise nicht. (Bitte mit Vorsicht behandeln!)
Die Unterstützung für erweiterte Partitionen wurde mit DOS 3.2 hinzugefügt. Verschachtelte logische Laufwerke innerhalb einer erweiterten Partition wurden mit DOS 3.30 eingeführt.
Jede erweiterte Partitionstabelle definiert genau eine logische Partition und verweist bei Bedarf auf die nächste erweiterte Partitionstabelle. Mit anderen Worten - die erweiterten Partitionstabellen arbeiten nach dem Prinzip der verketteten Liste. Ihr Startsektor wird relativ zur Position der aktuellen Partitionstabelle angegeben. Der zweite Eintrag kann eine Verkettung zu einer anderen erweiterten Partitionstabelle enthalten und hat immer den Typ 5. Im Startsektor dieses Eintrags wird immer relativ zum Sektor der ersten erweiterten Partition referenziert. Da sie per Definition verkettet ist, kann man nicht auf alle erweiterten Partitionen verweisen, also auch keine 2 zusätzlichen Links einsparen.
- Wenn die erweiterte Partition bis zum Ende ihrer Kette auf logische Laufwerke geprüft wurde, kehrt die Aufzählung dann zum Stamm-MBR zurück und wird mit dem nächsten Eintrag nach dem Eintrag der erweiterten Partition fortgesetzt? Warum nicht?
Nein. Denn so etwas wie einen „nächsten Eintrag“ gibt es nicht.
- Was passiert mit dem DOS- oder Windows-Betriebssystem, wenn MBR-Einträge gefunden werden, die den Einschränkungen nicht entsprechen (siehe Fragen 1 bis 3 oben)? Mit anderen Worten: Gibt es eine Beschreibung des Vorgangs, mit dem das Betriebssystem seine Partitionen/logischen Laufwerke auflistet?
Wenn Partitionen nicht erkennbar sind, werden sie nicht verwendet. Wenn die erste primäre Partition nicht gefunden werden kann, kann DOS/Windows nicht booten.
Notiz: Frühere Windows-Versionen verließen sich auf die von MS-DOS festgelegten Laufwerksbuchstaben, ab Windows 2000 werden diese Zuordnungen jedoch in Registrierungsschlüsseln wie HKLM\SYSTEM\MountedDevices gespeichert. Bei bestimmten Systemkonstellationen wird die Datenträgersignatur auch in der Datei boot.ini verwendet, die Teil des Windows NT-Bootloaders (NTLDR) ist. Windows weist die Datenträgersignatur zu, wenn ein neuer Datenträger initialisiert wird.