Was ist der Unterschied zwischen "Boot with BIOS" und "Boot with UEFI"?

118

Jetzt unterstützt Windows 8 den UEFI-Bootloader und ich habe gelesen, dass er sich vom BIOS unterscheidet, aber es ist mir nach vielen Suchanfragen bei Google unklar.

Im Folgenden sind einige Punkte aufgeführt:

  • Wie wir alle wissen, ist das BIOS ein wichtiger Bestandteil beim Zugriff auf Startoptionen. Also wird UEFI das jetzt tun? Wie?

  • Woher weiß ich, dass ich mit UEFI und nicht mit BIOS boote?

  • Was ist der wahre Unterschied zwischen "Booten mit BIOS" und "Booten mit UEFI"?

avirk
quelle

Antworten:

134
  • Wie wir alle wissen, ist das BIOS ein wichtiger Bestandteil für den Zugriff auf die Boot-Option. Also wird UEFI das jetzt tun? Wie?

Das BIOS startet, indem der erste Sektor auf einer Festplatte gelesen und ausgeführt wird. Dieser Bootsektor sucht nach zusätzlichem Code und führt ihn aus. Das BIOS-System ist aus Platzgründen und weil das BIOS 16-Bit-Code ausführt, sehr einschränkend, während moderne Computer 32-Bit- oder 64-Bit-CPUs verwenden. Im Gegensatz dazu wird EFI (oder UEFI, bei dem es sich nur um EFI 2.x handelt) gestartet, indem EFI-Programmdateien (mit .efiDateinamenerweiterungen) von einer Partition auf der Festplatte geladen werden, die als EFI System Partition (ESP) bezeichnet wird. Diese EFI-Bootloader-Programme können die EFI-Bootdienste beispielsweise zum Lesen von Dateien von der Festplatte nutzen.

Wenn Sie ein Betriebssystem wie Linux mit komplexen Bootloadern im BIOS-Modus verwenden, ähnelt das Booten im EFI-Modus wahrscheinlich dem Booten im BIOS-Modus, da GRUB 2 (der beliebteste Bootloader im BIOS-Modus) verwendet wird für Linux) wurde für die Arbeit unter EFI portiert, und viele Linux-Distributionen installieren GRUB 2 standardmäßig auf EFI-Systemen. OTOH, Sie können GRUB 2 durch andere EFI-Bootloader ersetzen oder ergänzen. In der Tat kann der Linux-Kernel selbst ein EFI-Bootloader sein. Code wurde hinzugefügt, um dies mit dem 3.3.0-Kernel zu tun. Auf diese Weise wird der Linux-Kernel von EFI selbst geladen und ausgeführt, oder Sie können einen Boot-Manager eines Drittanbieters wie rEFInd oder gummiboot verwenden , um auszuwählen, welches Betriebssystem oder welcher Kernel gestartet werden soll .

  • Woher weiß ich, dass ich mit UEFI und nicht mit BIOS boote?

Wie Root sagt, gibt es Hinweise auf der Benutzeroberfläche der Firmware. Diese sind jedoch unzuverlässig und variieren von Computer zu Computer. Sie können nur überprüfen, wie der Computer gestartet wurde. Unter Linux ist das Vorhandensein eines aufgerufenen Verzeichnisses /sys/firmware/efibeispielsweise diagnostisch. Wenn es vorhanden ist, haben Sie im EFI-Modus gebootet. Wenn es nicht vorhanden ist, haben Sie wahrscheinlich im BIOS-Modus gebootet. (Dieses Verzeichnis kann jedoch unter bestimmten Umständen beim Start im EFI-Modus fehlen.) Eine dmesgAusgabe, die sich auf EFI bezieht, ist auch eine Diagnose für einen Start im EFI-Modus. Unter Windows wird die Partitionstabelle der Boot ist Plattendiagnose; Wenn es sich um GPT handelt, haben Sie im EFI-Modus und wenn es sich um MBR handelt, haben Sie im BIOS-Modus gestartet.

  • Was ist der wahre Unterschied zwischen "Booten mit BIOS" und "Booten mit UEFI"?

EFI kann schneller sein, aber das ist nicht sicher. Der größte Geschwindigkeitsunterschied besteht in der Hardware-Initialisierung zu Beginn des Prozesses. Auf meiner Systemen ist dies ein Bruchteil der gesamten Boot - Zeit, also eine Reduzierung der Hardware-Initialisierung, während gut, nicht alles macht , dass viel Unterschied. Schließlich starte ich nicht alle zehn Minuten neu.

UEFI unterstützt eine Funktion namens Secure BootDas soll, wie der Name schon sagt, die Sicherheit verbessern. Hierzu ist eine digitale "Signatur" der Bootloader erforderlich, die wiederum das Signieren der Kernel usw. in der Kette erfordern sollte. Dies dürfte es Malware-Autoren erschweren, ihren Code in den Pre-Boot-Prozess einzufügen, wodurch die Sicherheit verbessert wird. Das hört sich gut an, erschwert aber auch Dual-Boot-Konfigurationen, da Code wie GRUB und der Linux-Kernel signiert sein müssen. Die großen Linux-Distributionsanbieter arbeiten daran, diese Anforderungen für durchschnittliche Linux-Benutzer zu vereinfachen, und sie haben einige vorläufige Dinge vorbereitet. Im Moment ist es jedoch am einfachsten, Secure Boot zu deaktivieren. Dies ist vor allem für brandneue Computer, die mit Windows 8 ausgeliefert werden, von praktischer Bedeutung. Da Microsoft erfordert, dass Secure Boot aktiviert ist, um die Windows 8-Zertifizierung zu erhalten. Einige Leute verwechseln UEFI und Secure Boot (letzteres ist nur ein Merkmal des ersteren), aber es verdient Erwähnung als Unterschied zwischen BIOS und UEFI, da es bei neuen Windows 8-Computern einige Probleme verursacht. Wenn Sie ein älteres System haben oder mit Firmware-Setup-Dienstprogrammen vertraut sind, um Secure Boot zu deaktivieren, muss dies kein echtes Problem sein.

Microsoft verknüpft den Partitionstabellentyp der Startdiskette mit dem Firmware-Typ (MBR mit BIOS; GPT mit UEFI). Da MBR 2 TB überschreitet (unter der Annahme von Standardsektorgrößen), bedeutet dies, dass UEFI eine praktische Notwendigkeit ist, Windows auf Festplatten mit mehr als 2 TB zu starten. Sie können jedoch weiterhin so große Festplatten wie Datenfestplatten unter Windows verwenden, und Sie können einige Nicht-Microsoft-Betriebssysteme (wie Linux und FreeBSD) unter Verwendung von GPT unter BIOS auf großen Festplatten starten.

Wenn Sie sich Sorgen um UEFI machen oder sich für UEFI interessieren, besteht das größte Problem einfach darin, dass UEFI neu genug ist, dass die Unterstützung ein wenig lückenhaft ist, insbesondere in einigen älteren und exotischeren Betriebssystemen. UEFI selbst ist neu genug, dass die meisten seiner Implementierungen fehlerhaft sind, und diejenigen, die untereinander nicht ausreichend variieren, so dass es schwierig sein kann, Dinge allgemein zu beschreiben. Daher kann die Verwendung von UEFI eine Herausforderung sein. OTOH, UEFI ist die Zukunft. Es hat einige bescheidene Vorteile, von denen einige mit der Zeit wichtiger werden (wie das 2TiB-Startdiskettenlimit von Windows). Wenn Sie zu einem UEFI-Start wechseln, werden einige Details des Startvorgangs geändert, aber Ihre allgemeine Computererfahrung wird sich nicht allzu sehr ändern, wenn Sie etwaige Startprobleme überwinden.


BEARBEITEN:

Könnten Sie die OpRom-Einstellungen erweitern (Option Rom). Sie scheinen Ihnen die Wahl zwischen UEFI-Start oder "Legacy" -Start zu ermöglichen und gelten für die Grafikkarte, die Netzwerkkarte und verschiedene andere PCI-Geräte.

Viele Einsteckkarten bieten Firmware, die mit der Firmware auf der Hauptplatine kompatibel ist. Die beiden Firmware-Typen müssen "sprechen" können, wenn die Firmware der Karte etwas bewirken soll. Dies ist erforderlich, um die Karte vor dem Start eines Betriebssystems zu verwenden, um beispielsweise die Optionen Ihrer Firmware oder ein Start-Manager-Menü auf einer Grafikkarte anzuzeigen, um einen Netzwerkstart über eine Netzwerkkarte durchzuführen oder um von einer Festplatte zu starten, mit der eine Verbindung besteht eine Plattencontrollerkarte.

Genau wie bei Bootloadern wird der Code in der Firmware eines Plug-In-Geräts so geschrieben, dass er entweder mit dem BIOS oder EFI kompatibel ist (obwohl Plug-In-Karten beide unterstützen können, wenn ich mich nicht irre). Einige EFIs bieten Optionen zum Aktivieren oder Deaktivieren dieser Unterstützung, wie Sie bereits bemerkt haben. In einigen Fällen kann ein EFI die BIOS-Modus-Unterstützung einer Karte verwenden, um sie in den EFI-Modus zu versetzen, indem die Aufrufe "übersetzt" werden. (Dies ist beispielsweise bei Grafikkarten üblich. Oft können Sie eine alte Grafikkarte nur mit BIOS-Unterstützung in die Firmware einstecken und sie dennoch zum Booten im EFI-Modus verwenden.)

Ich weiß nicht genau, welche Einstellungen Sie notieren. Ich weiß zum Beispiel nicht, ob "Nur BIOS" für eine dieser Optionen die Karte nur im BIOS-Modus "übersetzen" lässt, damit das EFI die BIOS-Modus-Aufrufe im EFI-Modus verwenden kann, oder etwas anderes. In der Tat würde ich aufgrund fehlender Standards in anderen Bereichen der EFI-Benutzeroberfläche erwarten, dass sich die Details von EFI zu EFI unterscheiden. Daher müssen Sie möglicherweise die Dokumentation oder das Experiment Ihres Computers konsultieren, wenn Sie die Details kennen müssen. Ich habe einige Computer mit sehr ähnlich klingenden Optionen in zwei verschiedenen Menüs gesehen, was die Sache noch komplizierter macht.

Rod Smith
quelle
Wenn eine Festplatte sowohl über eine BIOS-Startpartition als auch über eine EFI-Systempartition verfügt, kann diese Festplatte dann im BIOS- und EFI-Modus gestartet werden? Also ist die Festplatte "Boot-Modus" -agnostisch? Ich habe im gdisk-Tutorial gesehen, dass es eine BIOS-Bootpartition und eine EFI-Systempartition eingerichtet hat. Auch in anderen Fällen haben einige angegeben, dass Sie möglicherweise /booteine andere Partition benötigen (hauptsächlich, weil ich versuche, ZFS zu verwenden). Wie würde man ein RAIDED /bootmit einer BIOS- Bootpartition und einer EFI-Systempartition in Einklang bringen ?
CMCDragonkai
Eine Festplatte kann sowohl eine ESP- als auch eine BIOS-Boot-Partition haben. Letzteres wird nur von GRUB verwendet, sodass eine Festplatte auch ohne Letzteres in EFI und BIOS bootfähig sein kann, je nachdem, welcher Bootloader verwendet wird. Eine separate Linux- /bootPartition existiert normalerweise außerhalb eines RAID-Arrays. Unabhängig vom Startmodus muss der Bootloader den Kernel lesen können, und die meisten Bootloader können kein Software-RAID verarbeiten. (GRUB kann es angeblich, aber nur wenige Leute versuchen es.)
Rod Smith
Ich muss ein Soft-RAID für verwenden, /bootweil ZFS nicht darauf haben /bootkann. Ich habe auf der ZFS-Mailingliste nach Linux gefragt.
CMCDragonkai
1
Das BIOS verfügt über nichts, was auch nur remote Secure Boot entspricht.
Rod Smith
1
Die UEFI-Unterstützung ist in den beliebtesten Mainstream-Betriebssystemen ziemlich gut - insbesondere in Windows 7 und späteren und den meisten aktuellen Linux-Distributionen. Wenn Sie sich außerhalb dieses Bereichs befinden, sollten Sie sich über die UEFI-Unterstützung Ihres Betriebssystems informieren. Das letzte Mal, als ich zum Beispiel ReactOS, Haiku und FreeDOS überprüfte, fehlte mir die UEFI-Unterstützung. Es ist jedoch eine Weile her, dass ich sie überprüft habe, sodass es möglich ist, dass eine oder mehrere von ihnen jetzt UEFI-Unterstützung haben.
Rod Smith
21
  • Wie wir alle wissen, ist das BIOS ein wichtiger Bestandteil für den Zugriff auf die Boot-Option. Also wird UEFI das jetzt tun? Wie?

UEFI ist eine plattformübergreifende Firmware-Schnittstelle, die den x86-spezifischen Firmware-Standard namens BIOS ersetzt. Viele UEFI-Implementierungen enthalten auch einen BIOS-Kompatibilitäts- / "Legacy" -Modus, um das Booten von MBRs zu ermöglichen und Betriebssystemen eine BIOS-ähnliche Schnittstelle zu bieten. Dies wird jedoch vom Standard nicht verlangt.

  • Woher weiß ich, dass ich mit UEFI und nicht mit BIOS boote?

Wenn Sie ein UEFI-kompatibles Motherboard verfügen , die Kompatibilität / Legacy - BIOS , das bietet, dann werden seine Firmware Menüoptionen zur Verfügung stellen, wie ein Standard - Boot - Modus einstellen oder sogar einzelne Geräte in entweder UEFI oder BIOS - Modus zu booten: Andernfalls könnte es nicht leicht sein Art und Weise zu sagen, ohne zB die Firmware mit einem Betriebssystem zu testen.

  • Was ist der wahre Unterschied zwischen "Booten mit BIOS" und "Booten mit UEFI"?

Es gibt viele Unterschiede:

  • UEFI definiert eine ähnliche Betriebssystem-Firmware-Schnittstelle wie BIOS, ist jedoch nicht spezifisch für eine Prozessorarchitektur. Das BIOS ist spezifisch für die Intel x86-Prozessorarchitektur, da es auf der 16-Bit-Schnittstelle "Real Mode" basiert, die von x86-Prozessoren unterstützt wird.
  • UEFI kann so konfiguriert werden, dass verschiedene Teile des Startvorgangs beschleunigt werden, z. B. wird UEFI auf Gigabyte GA-EP45-DS3 in 11 Sekunden gegenüber BIOS in 19 Sekunden initialisiert .
  • Der UEFI-Modus bietet möglicherweise für dasselbe installierte Betriebssystem andere Firmware- / Hardwarefunktionen als der BIOS-Modus.

Sehen Sie weitere Informationen über UEFI .

Elmo
quelle
1
Es ist nicht immer möglich, allein anhand der Firmware-Einstellungen zu bestimmen , wie der eigentliche Startmodus lautet, da die meisten EFIs für die Ermittlung des Startmodus auf festplattenbasierten Faktoren sowie auf Firmware-Einstellungen beruhen. Zu diesen festplattenbasierten Faktoren gehören der Partitionstabellentyp, die Einstellungen für das Boot- / Aktiv-Flag im MBR, das Vorhandensein / Fehlen der EFI-Systempartition oder der darin enthaltenen Dateien usw. Die einzige Möglichkeit, dies mit Sicherheit festzustellen, besteht darin, in dem von Ihnen gebooteten Betriebssystem auf Anzeichen eines EFI-Modus oder eines BIOS-Modus-Bootvorgangs zu prüfen. Diese Anzeichen sind betriebssystemspezifisch.
Rod Smith
1
Nein, UEFI wird niemals "über ein traditionelles BIOS implementiert". UEFI ist ein Firmware-Typ, der den älteren BIOS-Typ ersetzt. Es kann einen Kompatibilitäts- / Legacy-Modus enthalten, der es ihm ermöglicht, von einem MBR im BIOS-Stil zu starten und Betriebssystemen, die dies wünschen, eine BIOS-äquivalente Schnittstelle zur Verfügung zu stellen. Dies bedeutet jedoch nicht, dass das BIOS darunter ist.
Underscore_d
1
Was bedeutet P0 / P1 / P2 in Ihrem Bild?
CMCDragonkai
Die
Bildverknüpfung
1
@underscore_d, es gibt EFI-Implementierungen, die auf einem herkömmlichen BIOS ausgeführt werden. Ich habe hier über einen Gigabyte-Hybrid-EFI geschrieben. Meine Erfahrung damit war ziemlich negativ. Es gibt auch Clover und DUET, die wie Bootloader auf Standard-BIOS-basierten Computern ausgeführt werden, damit sie Bootloader und Betriebssysteme im EFI-Modus ausführen können. Clover und DUET sind technisch gesehen keine Firmware, daher bin ich mir nicht sicher, ob sie wirklich zählen.
Rod Smith
8

F: Wie wir alle wissen, ist das BIOS ein wichtiger Bestandteil beim Zugriff auf Startoptionen. Also wird UEFI das jetzt tun? Wie?

A: Dies ist eine Verwirrung über die Begriffe. ZB "Rufen Sie das BIOS auf, um Blabla zu ändern". Der politisch korrekte Begriff lautet "Firmware-Setup-Dienstprogramm" für das eingegebene Element. Wenn Sie von „BIOS“ im Gegensatz zu „UEFI“ sprechen, bezieht sich dies auf etwas anderes, nämlich die Boot-Ausführungsumgebung.

Wenn Sie also dieses Setup-Dienstprogramm meinen, dann a) nennen Sie es nicht UEFI und b) es ist im Grunde dasselbe wie früher.

Wie das Setup-Dienstprogramm mit der Hardware und ihrem permanenten Speicher kommuniziert, ist für die Firmware privat. Da hat sich also auch nichts geändert.

F: Was ist nun der wahre Unterschied zwischen "Booten mit BIOS" und "Booten mit UEFI"?

A: Die Umgebung, in der sich die Bootloader befinden, ist anders. Und mit UEFI wird diese Umgebung klarer spezifiziert, moderner und funktionsreicher.

Robert Siemer
quelle