Meine Idee ist es, mit Lubuntu einen USB-Boot-Stick zu erstellen, der auf einem älteren BIOS-Laptop und einem neueren UEFI-System booten kann.
Dies wäre recht einfach, wenn der Stick als Legacy-Startgerät eingerichtet wäre, aber ich möchte, dass es sich um ein UEFI-fähiges Gerät handelt.
- Macht das überhaupt Sinn ?! Oder habe ich das UEFI-Konzept fürchterlich falsch verstanden?
- Bei Bedarf kann es zwei verschiedene Linux-Installationen geben (eine für UEFI, eine für Legacy, aber beide auf demselben Laufwerk).
- Starten Sie ein GPT-Gerät auf einem älteren BIOS - funktioniert das?
Ich kann nicht klar sehen, es ist vielleicht eine bessere Idee, einen separaten älteren Linux-Boot-Stick zu haben, aber ich bin neugierig, die Grenzen zu erkunden :)
Ist meine Idee eines hybriden Linux-UEFI-Boot-USB-Sticks, der mit älteren BIOS-Versionen funktioniert, möglich?
(3) scheint unter Linux mit grub http://www.rodsbooks.com/gdisk/booting.html möglich zu sein
Außerdem habe ich eine EF00-Partition auf dem Stick, abgesehen von einer Swap-, Fat32- und zwei Ext4-Partitionen.
(1) scheint auch möglich zu sein http://www.rodsbooks.com/bios2uefi/
Diese Anleitung ist jedoch seit 2012 einige Zeit vergangen - hat jemand ein Arbeitsbeispiel, das einfacher ist?
Für andere Forscher dieses Themas:
Booten von Windows 7 von einer GPT-Festplatte auf einem Nicht-EFI-Motherboard Gibt es eine Möglichkeit, Windows 7/8 über das BIOS unter GPT zu booten?
http://www.borncity.com/blog/2012/07/25/uefi-emulation-auf-pcs/
AKTUALISIEREN:
Ich habe es geschafft, den UEFI-Teil einschließlich des sicheren Boot-Setups mit rEFInd zu erstellen.
Nach den gegebenen Ratschlägen habe ich auf mein Laufwerk dd
kopiert gptmbr.bin
, was nun zumindest auf einem BIOS-System etwas zu bewirken scheint: "Dies ist keine bootfähige Diskette"
Ich habe jedoch den Rat befolgt und das pmbr
Flag für die Festplatte und das Gpt- legacy boot
Flag gesetzt. Erhalten Sie immer noch diesen Fehler, irgendwelche Ideen?
Meine ESP-Partition ist die zweite Partition auf der Festplatte und wird mit EFI-Dateien eingerichtet.
Die Einrichtung:
- 64 GB Speicherplatz
- GPT-Partitionstabelle
- Auf dem Datenträger ist das PMBR-Flag gesetzt
- Die erste Partition beginnt bei 16 MB und hat ungefähr 45 GB, eine fat32-Primärgröße für Daten
- Die 2. Partition startet um die 45 GB und ist das EFI-System (fat32) mit einem funktionierenden RefInd-Setup
- Die 3. - 5. Partition ist das Zuhause (ext4), Swap und Root (ext4) meines arbeitenden Lubuntu 14.04.1
Mit habe dd
ich das gptmbr.bin
von mir kompilierte 6.02 Syslinux auf die ersten 440Byte kopiert.
Unter Teil 3.2 kann ich sehen, dass meine Partition 2 ein boot
und legacy_boot
Flag hat.
Während des Startvorgangs erhalte ich keine Boot - Diskette gefunden - wenn ich mein 5. anstelle der zweiten Partition festgelegt, dass legacy_boot
ich bekommen OS fehlt
Es lebt!
(Als meine alte Frage gelöscht wurde /ubuntu//q/516730/319747 )
Ich vermute, dass ich einige der
*.c32
und andere Dateien auf meinem EFI (wo ?!) oder auf meiner Root-Partition ( ?!) In einen Syslinux- Ordner kopieren muss/boot/syslinux
, damit es funktioniert - habe ich recht? Welche Dateien sind wichtig?Außerdem werde ich diese
syslinucx.cfg
Datei wohl auch brauchen - oder?
Mein Ziel wäre zumindest ein direkter Start des Lubuntu-Systems auf der root ext4-Partition.
Aktualisieren:
Ich habe zwar keine Ahnung warum, habe es aber nicht mit einer manuellen Installation zum Laufen gebracht.
- Die
pmbr
Flagge war schlecht und mein UEFI-System konnte den Stick nicht als UEFI booten- Das
legacy_boot
Flag wurde für meine 5. Partition benötigt (Linux Root)- Ich musste benutzen
extlinux --install /path/to/root/parition
- Ich musste
syslinux.cfg
im Syslinux-Ordner unter Boot meiner Root-Partition einen erstellenIch habe das alles auf einem zweiten kleineren Stick gemacht und dann versucht, nur den Syslinux-Ordner zu kopieren, hatte aber kein Glück - der
extlinux --install
scheint obligatorisch zu sein.Weiß jemand was genau
extlinux --install
macht? Kann es manuell gemacht werden oder wie sonst könnten Sie eine neuere Version wie 6.02 installieren, ohne sie auf Ihrem System zu installieren?
Habe meinen Stick mit den im BIOS, UEFI und UEFI SecureBoot erwähnten Partitionen arbeiten lassen, verdammt viel gelernt, fast 2 TB mit dem Abschied getötet, sei vorsichtig und viel Glück.
Antworten:
Dies ist möglich und wird häufig sowohl mit externen USB-Sticks als auch mit internen Laufwerken durchgeführt.
In Bezug auf Partitionstabellentypen:
BIOS normalerweise nicht braucht jede Partitionstabelle. Es interessiert sich nur für den Bootstrap-Code- Teil, der die ersten 440 Bytes Ihres MBR enthält. (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 ersetzt einen MBR nicht physisch. Sie beginnt immer bei Sektor 1, während sich der MBR in Sektor 0 befindet. Auf einer Festplatte können also beide vorhanden sein. Tatsächlich verfügen die meisten GPT-Festplatten über einen "schützenden MBR", der nur eine einzige Partition enthält, die die gesamte Festplatte abdeckt, um zu verhindern, dass ältere Partitionierungstools nur für MBR die Daten versehentlich zerstören.
So können Sie zum Beispiel den Syslinux-Bootsektor in Ihrem MBR installieren und booten. (Das
syslinux-install_update
Skriptgptmbr.bin
erledigt dies für Sie, aber Sie können in Ihrem Syslinux-Paket danach suchen , um es manuell zu erledigen.)Ähnlich wie das Flag "active" 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
(von gptfdisk) installiert haben.GRUB kann auch verwendet werden, ist aber etwas nerviger. Da GRUB 2 Teile von sich selbst in die traditionell nicht verwendeten 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 bis 4 MB erstellen und als BIOS-bootfähig markieren, damit
grub-install
sich eine Einbettungsstelle ergibt.Auf der anderen Seite, die UEFI - Spezifikation hat die Unterstützung für MBR - Partitionstypen erfordern (Abschnitt 12.3.1) und den MBR - Partitionstypen zuweisen
0xEF
auf die EFI - Systempartition (siehe Abschnitt 5.2.2).Wenn Ihre Festplatte aus irgendeinem Grund nicht mit GPT funktioniert, können Sie dennoch eine EFI-Systempartition auf dem MBR erstellen. Diese wird verwendet, solange das richtige Dateisystem und alle erforderlichen Dateien vorhanden sind (Abschnitt 12.3.1.3):
In Bezug auf Betriebssysteme ist es Linux im Allgemeinen egal, ob es heute vom BIOS und morgen von UEFI gebootet wird. Ich musste meinen Laptop in dieser Woche vielleicht hundert Mal aus dem UEFI-Modus in den "BIOS-Kompatibilitäts" -Modus und zurück neu starten, während ich versuchte, einen Fehler in der 3.17-UEFI-Unterstützung zu finden ...
Beachten Sie, dass der Artikel "BIOS to UEFI Transformation" etwas ganz anderes behandelt. Es wird beschrieben, wie UEFI selbst - eine UEFI-Implementierung mit dem Namen "DUET" - installiert wird , um von einem Nur-BIOS-System aus gestartet zu werden. Es hat nichts damit zu tun, ein Betriebssystem direkt vom BIOS zu booten.
quelle
mbr
scheint in Ordnung zu sein, findet aber meineEFI System
Partition nicht. Ist es ein Problem, dass es sich um die zweite Partition auf der Festplatte handelt, die ungefähr 45 GB auf der Festplatte startet? Muss ich zusätzlich zum alreadz-funktionierenden EFI-Setup einen spektralen Bereich auf dem EFI einrichten?Ja, das ist möglich.
Die Grundidee ist, Ihren USB-Stick wie folgt zu partitionieren :
1686148-6449-6E6F-744E-656564454649
) - 1 MB, kein DateisystemC12A7328-F81F-11D2-BA4B-00A0C93EC93B
) - 200 MiB, VFAT-Dateisystem0FC63DAF-8483-4772-8E79-3D69D8477DE4
) - 1 GiB, ext4-Dateisystem0FC63DAF-8483-4772-8E79-3D69D8477DE4
) - verbleibender Speicherplatz, XFS- oder Btrfs-DateisystemDiese Partitionierung ermöglicht es uns, auf Legacy-Systemen zu booten , da bei GPT (aus Gründen der Abwärtskompatibilität) immer noch Platz für einen MBR vorhanden ist und Grub2 über genügend Platz verfügt, um eine mittlere Stufe in der BIOS-Boot-Partition zu installieren. Ältere BIOS kümmern sich nicht um das Partitionsschema und der Grub2 / Linux-Kernel hat keine Probleme, GPT auf älteren Systemen zu verstehen.
Auf UEFI-Systemen ignoriert die UEFI-Firmware den MBR und verwendet die EFI-Systempartition als Einstiegspunkt.
Mit Fedora müssen Sie beispielsweise im Grunde Folgendes tun:
Stellen Sie sicher, dass das Linux-Boot-Dateisystem unter
/boot
und das EFI-Systempartitions-Dateisystem unter gemountet ist/boot/efi
.Installieren Sie sowohl ältere als auch UEFI-Bootloader (neu):
(Neu-) Generieren Sie die Grub-Konfigurationsdateien für Legacy- und UEFI-Startvorgänge:
Je nachdem , ob Ihr System in Alt- oder UEFI - Modus gebootet Sie entweder die erste oder die zweite Datei zu reparieren haben und ersetzen
(linux|initrd)16
mit(linux|initrd)efi
oder umgekehrt.Installiere grub in den MBR:
Voila.
quelle