Booten Sie 32-Bit-UEFI aus einer Datei

Booten Sie 32-Bit-UEFI aus einer Datei

Ich habe Linux auf USB (32bit x86) und zwei PCs,

  1. Bei einem Laptop mit 64x UEFI läuft der Bootvorgang einwandfrei.
  2. ein Tablet mit 64-Bit-Prozessoraber 32bit UEFI-BIOSboote nicht.

Die zweite hat keine Option für den Legacy-Boot, aber die Möglichkeit, von .efi-File zu booten.

Leider ist keine der .efi-Dateien...

  • /efi/boot/bootx64.efi
  • /efi/boot/grubx64.efi

... lädt und gibt die gleiche Meldung aus: \efi\boot\bootx64.efi boot failed.

Irgendwelche Vorschläge?

Antwort1

EFIs unterstützen Programme, einschließlich Bootloader, mit ähnlicher Bittiefe. Mit anderen Worten: Ein x86-64-EFI (auch AMD64, x64 oder EM64T genannt) kann eine 64-Bit-Binärdatei starten, deren Dateiname normalerweise auf endet x64.efi; und ein x86-EFI (auch IA32, i686 oder ähnlich genannt) kann eine 32-Bit-Binärdatei starten, deren Dateiname normalerweise auf endet ia32.efi. Beachten Sie, dass bei einem 32-Bit-EFI die Bittiefe der CPU irrelevant ist. Das Ergebnis ist, dass Ihr System mit einem 32-Bit-EFI und einer 64-Bit-CPU auf die Ausführung von 32-Bit-EFI-Programmen beschränkt ist.

Normalerweise begrenzt die Bittiefe des EFI-Bootloaders (der einfach eine bestimmte Art von EFI-Programm ist) auch die Bittiefe des Betriebssystems, das er ausführt. Daher ist es am einfachsten, ein 32-Bit-Betriebssystem auf einem Computer mit einem 32-Bit-EFI zu installieren. Es gibt jedoch Möglichkeiten, diese Beschränkung zu umgehen. Insbesondere unterstützen sowohl der OS X-Bootloader von Apple als auch GRUB von Linux das Booten des Kernels mit mehreren Bittiefen, sodass Sie einen 64-Bit-Kernel von einem 32-Bit-Bootloader aus starten können oder umgekehrt. (Natürlich benötigen Sie eine 64-Bit-CPU, um einen 64-Bit-Kernel zu starten.) Da Sie sagen, dass Sie Linux verwenden, aber nicht sagen, welche Distribution Sie verwenden, kann ich Ihnen keine sehr detaillierten Anweisungen geben – und tatsächlich habe ich die Details nicht zur Hand. Solche Installationen mit mehreren Bittiefen sind absolut auf dem neuesten Stand und ich empfehle, sie nach Möglichkeit zu vermeiden.

Es ist wahrscheinlich einfacher, bei einem 32-Bit-Betriebssystem zu bleiben, aber viele Betriebssysteme (einschließlich der meisten Linux-Distributionen) haben 32-Bit-EFIs vernachlässigt, sodass Sie möglicherweise selbst einen Bootloader hinzufügen müssen. Dieser Vorgang wird für Ubuntu beschrieben.Hier.Soweit ich mich erinnere, bietet Debian jetzt 32-Bit-EFI-Unterstützung, sodass es möglicherweise sofort funktioniert.

Um letztendlich eine Festplatte zu haben, die sowohl auf 32-Bit- als auch auf 64-Bit-EFIs bootfähig ist, wobei BIOS/CSM/Legacy-Modus-Boot-Unterstützung nicht in Frage kommt, müssen Sie sowohl 32-Bit- als auch 64-Bit-Versionen eines Bootloaders installieren und einen so konfigurieren, dass er bitübergreifend bootet. Wahrscheinlich ist es besser, zwei Festplatten oder zumindest zwei Installationen auf einer Festplatte zu haben, eine 32-Bit und die andere 64-Bit. Bei einer externen Festplatte ist der 32-Bit-Bootloader EFI/BOOT/bootia32.efiund der 64-Bit-Bootloader EFI/BOOT/bootx64.efi.

verwandte Informationen