GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Ist ein hybrider Linux USB-Stick für UEFI &Legacy BIOS möglich?

Es ist möglich und sehr häufig sowohl mit externen USB-Sticks als auch mit internen Laufwerken.

Zu Partitionstabellentypen:

  • BIOS braucht normalerweise nicht jede Partitionstabelle. Es interessiert sich nur für den Bootstrap-Code Teil, der die ersten 440 Bytes Ihres MBR sind. (Obwohl es Ausnahmen gibt. Einige BIOS-Implementierungen brechen tatsächlich ab, wenn sie keinen MBR mit einem der üblichen Partitionstypen finden. Hoffentlich sind diese selten.)

    Die GPT-Partitionstabelle funktioniert physisch nicht Ersetzen Sie einen MBR – er beginnt immer bei Sektor 1, während sich der MBR in Sektor 0 befindet – es ist also möglich, dass eine Festplatte beides hat. Tatsächlich tun die meisten GPT-Festplatten einen "schützenden MBR" haben, der nur eine einzige Partition enthält, die die gesamte Festplatte abdeckt, um zu verhindern, dass ältere MBR-Partitionierungstools versehentlich die Daten zerstören.

    So können Sie beispielsweise den Syslinux-Bootsektor in Ihren MBR installieren, und er bootet. (Der syslinux-install_update Das Skript erledigt dies für Sie, aber Sie können nach gptmbr.bin suchen in Ihrem Syslinux-Paket, um dies manuell zu tun.)

    Ähnlich wie das Flag „aktiv“ auf MBR-Partitionen sucht Syslinux auf GPT-Partitionen nach dem Flag „legacy BIOS bootable“ (Bit 2 – UEFI-Spezifikation 2.4, Abschnitt 5.3.3, Tabelle 20); Das oben genannte Skript setzt dieses Flag auch automatisch, wenn Sie sgdisk haben (von gptfdisk) installiert.

    GRUB kann auch verwendet werden, ist aber auch etwas lästiger. Da GRUB 2 Teile von sich selbst in die traditionell ungenutzten Sektoren 1-62 "einbetten" möchte, würde es eine GPT überschreiben, die am selben Ort gespeichert ist. Daher müssen Sie möglicherweise eine dedizierte Partition von 2-4 MB erstellen und diese als BIOS-bootfähig markieren, sodass grub-install einen Einbettungsplatz finden würde.

  • Die UEFI-Spezifikation hingegen tut sie erfordern Unterstützung für MBR-Partitionstypen (Abschnitt 12.3.1) und weisen den MBR-Partitionstyp 0xEF zu auf die EFI-Systempartition (Abschnitt 5.2.2).

    Wenn Sie also aus irgendeinem Grund Ihre Festplatte nicht mit GPT zum Laufen bringen können, können Sie immer noch eine EFI-Systempartition im MBR erstellen, und sie wird verwendet, solange sie das richtige Dateisystem und alle erforderlichen Dateien enthält (Abschnitt 12.3.1.3):

    Für Wechselmediengeräte darf es nur eine UEFI-kompatible Systempartition geben, und diese Partition muss ein UEFI-definiertes Verzeichnis im Stammverzeichnis enthalten. Das Verzeichnis wird EFI genannt . Alle OS-Ladeprogramme und Anwendungen werden in einem Unterverzeichnis unter EFI gespeichert genannt BOOT . In BOOT darf es nur ein ausführbares EFI-Image für jede unterstützte Prozessorarchitektur geben Verzeichnis. Damit Wechselmedien unter EFI bootfähig sind, müssen sie gemäß den in Abschnitt 3.4.1.1 dargelegten Regeln erstellt werden.

Bei Betriebssystemen ist es Linux generell egal, ob heute vom BIOS und morgen vom UEFI gebootet wird. Ich musste meinen Laptop diese Woche vielleicht hundert Mal vom UEFI-Modus in den „BIOS-Kompatibilitätsmodus“ und zurück neu starten, während ich versuchte, einen Fehler in der 3.17-UEFI-Unterstützung zu finden …

Beachten Sie, dass es im Artikel „BIOS to UEFI Transformation“ um etwas ganz anderes geht. Es beschreibt, wie UEFI selbst installiert wird – eine UEFI-Implementierung namens „DUET“ – zum Starten von einem reinen BIOS-System. Es hat nichts damit zu tun, ein Betriebssystem direkt vom BIOS zu booten.


Ja, das ist möglich.

Die Grundidee ist, Ihren USB-Stick wie folgt mit GPT zu partitionieren:

  1. BIOS-Startpartition (GPT-Typ 1686148-6449-6E6F-744E-656564454649 ) - 1 MiB, kein Dateisystem
  2. EFI-Systempartition (GPT-Typ C12A7328-F81F-11D2-BA4B-00A0C93EC93B ) - 200 MiB, VFAT-Dateisystem
  3. Linux-Startpartition (GPT-Typ 0FC63DAF-8483-4772-8E79-3D69D8477DE4 ) - 1 GiB, ext4-Dateisystem
  4. Linux-Root/Home-Dateisystem (GPT-Typ 0FC63DAF-8483-4772-8E79-3D69D8477DE4 ) - verbleibender Speicherplatz, XFS- oder Btrfs-Dateisystem

Diese Partitionierung ermöglicht es uns, auf Legacy-Systemen zu booten, da mit GPT noch Platz für einen MBR ist (aus Gründen der Abwärtskompatibilität) und Grub2 genügend Platz hat, um eine mittlere Stufe in die BIOS-Bootpartition zu installieren. Legacy-BIOS kümmern sich nicht um das Partitionierungsschema und der Grub2/Linux-Kernel hat keine Probleme, GPT auf Legacy-Systemen zu verstehen.

Auf UEFI-Systemen ignoriert die UEFI-Firmware den MBR und verwendet die EFI-Systempartition als Einstiegspunkt.

Bei Fedora beispielsweise müssen Sie grundsätzlich Folgendes tun:

Stellen Sie sicher, dass das Linux-Boot-Dateisystem unter /boot gemountet ist und das Dateisystem der EFI-Systempartition ist unter /boot/efi gemountet .

(Neu-)Installieren Sie sowohl Legacy- als auch UEFI-Bootloader:

grub2-pc grub2-efi-x64 shim-x64 efibootmgr

(Neu-)Generieren Sie die Grub-Konfigurationsdateien sowohl für Legacy- als auch für UEFI-Boot:

# grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
# grub2-mkconfig -o /boot/grub2/grub.cfg

Abhängig davon, ob Ihr System im Legacy- oder UEFI-Modus gestartet wurde, müssen Sie entweder die erste oder die zweite Datei reparieren und (linux|initrd)16 ersetzen mit (linux|initrd)efi oder umgekehrt.

Grub in den MBR installieren:

# grub2-install --target=i386-pc /dev/sd_your_usb_stick_device

Voila.


Linux
  1. Linux – Ist es möglich, einen bestimmten Pfad für einen Prozess vorzutäuschen?

  2. Linux – Installation mit Gpt auf 32-Bit-System mit Bios?

  3. Ist es möglich, Linux von einer GPT-Festplatte auf einem BIOS-System zu booten?

  4. Warum funktioniert USB unter Linux nicht, wenn es unter UEFI/BIOS funktioniert?

  5. Wie konvertiere ich meine Linux-Festplatte mit UEFI von MBR in GPT?

Eine Einführung in bpftrace für Linux

Auswählen eines Druckers für Linux

Linux-Partitionsverwaltung

Aktivieren Sie die UEFI-Unterstützung für virtuelle KVM-Maschinen unter Linux

Stellen Sie Ihr Linux mit minimaler Ausfallzeit von Legacy-BIOS auf UEFI um

Zorin OS für Linux-Neulinge