Ich habe eine moderne 64-Bit-CPU. Funktioniert mein BIOS noch im 16-Bit-REAL-Modus?

1748
unixman83

Da es immer noch zum Booten erforderlich ist, frage ich mich, ob das BIOS auf einem 64-Bit-System mit 64-Bit-64-Bit immer noch 16-Bit-Anweisungen verwendet? Funktioniert es auch im ECHTMODUS?

10
Wikipedia: "* BIOS-Einschränkungen (16-Bit-Prozessormodus, nur 1 MiB adressierbarer Speicherplatz, PC AT-Hardwareabhängigkeiten usw.) wurden für die neueren Computerplattformen als eindeutig inakzeptabel angesehen. Extensible Firmware Interface (EFI) ist eine Spezifikation, die die Laufzeitschnittstelle des älteren BIOS. * " Daniel Beck vor 13 Jahren 0
@ Daniel Beck, ich dachte EFI war nur für Macs und Itanium. unixman83 vor 13 Jahren 0
@ unixman83 - Die meisten neuen Intel-Motherboards laufen seit Sandy Bridge auf EFI. AMD wird wahrscheinlich folgen, wenn Bulldozer schlägt. Die eigentliche Zurückhaltung bestand darin, dass mit MFT formatierte Festplatten nicht bootfähig sind, wenn sie größer als 2 TB sind. Diese Grenze wird gerade erst erreicht. Sie benötigen EFI, um von einer GPT-formatierten Festplatte zu booten (die sehr viel größer sein kann). Shinrai vor 13 Jahren 7
@ unixman83: Ich habe deine "Antwort" gelöscht, da es keine Antwort ist, sondern nur eine Kopie / Einfügung von Shinrais Kommentar. studiohack vor 13 Jahren 0
Nichts hindert das BIOS daran, GPT zu lesen und zu verstehen. Bootloader können auch über BIOS-Aufrufe auf weit mehr als 2 TB zugreifen. Daher ist der "Bedarf an EFI" für große Festplatten ein (leider weit verbreiteter) Mythos. Patrick Georgi vor 13 Jahren 0

1 Antwort auf die Frage

6
Patrick Georgi

x86-Prozessoren starten immer noch im Real-Modus. BIOS-Programme können (und manchmal auch gezwungen werden), während sie ihre Hardware initialisieren, in den geschützten oder langen Modus wechseln. Wenn sie jedoch die Kontrolle an das Betriebssystem (bzw. den Bootloader) übergeben, müssen sie in den realen Modus zurückkehren Diese Lader erwarten, dass sich das System im System befindet.

coreboot und UEFI wechseln ziemlich früh in den geschützten Modus, während wir bei PCBIOSes (phoenix / award, ami usw.) nichts sagen können. Sie sind Closed Source und erzählen im Allgemeinen nicht viel über ihre Interna, und ihre Schnittstellen sind alle als Realmodus angegeben.

Bei Systemen, die mit ECC-RAM arbeiten, können Sie relativ sicher sein, dass sie in einen Modus wechseln, der allen RAM-Speicher adressiert, sodass sie zumindest in den geschützten Modus wechseln. Dies liegt daran, dass der Speicher initialisiert werden muss (schreiben Sie einen Wert in jede Adresse.) ) beim Booten oder das System würde anhalten, wenn später Code einige Adressen liest, in die niemals geschrieben wurde (aufgrund einer Fehlererkennung, die zu einem falsch positiven Ergebnis führen kann). Aber wie gesagt, das ist intern im BIOS und nichts, was bloße Sterbliche leicht herausfinden oder darüber nachdenken müssen.

tl; dr: Das BIOS befindet sich an allen Stellen, an denen es äußerlich sichtbar ist, im Real-Modus, sodass es für alle Zwecke und Zwecke immer nur im Real-Modus ausgeführt werden kann.

Sogar das ursprüngliche IBM PC AT-BIOS wurde für den Speichertest in den geschützten Modus umgeschaltet. Yuhong Bao vor 11 Jahren 1