Загрузить 32-битный UEFI из файла

Загрузить 32-битный UEFI из файла

У меня есть Linux на USB (32bit x86) и два ПК,

  1. один ноутбук 64x UEFI загружается нормально.
  2. один планшет с 64-битным процессоромно 32-битный uefi-biosне загружаются.

Во втором варианте нет опции загрузки из устаревших версий, но есть возможность загрузки из .efi-File.

К сожалению, ни один из .efiфайлов ...

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

... загружается и выдает одно и то же сообщение: \efi\boot\bootx64.efi boot failed.

Какие-либо предложения?

решение1

EFI поддерживают программы, включая загрузчики, с одинаковой разрядностью. Другими словами, x86-64 (он же AMD64, x64 или EM64T) EFI может запустить 64-битный двоичный файл, имя файла которого обычно заканчивается на x64.efi; а x86 (он же IA32, i686 или родственный) EFI может запустить 32-битный двоичный файл, имя файла которого обычно заканчивается на ia32.efi. Обратите внимание, что если у вас 32-битный EFI, разрядность ЦП не имеет значения. В результате ваша система с 32-битным EFI и 64-битным ЦП ограничена запуском 32-битных программ EFI.

Обычно разрядность загрузчика EFI (который является просто определенным типом программы EFI) также ограничивает разрядность ОС, которую он запускает. Таким образом, проще всего установить 32-битную ОС на компьютер с 32-битным EFI. Однако есть способы обойти это ограничение. В частности, и загрузчик OS X от Apple, и GRUB от Linux поддерживают загрузку ядра с кросс-битной разрядностью, поэтому вы можете запустить 64-битное ядро ​​из 32-битного загрузчика и наоборот. (Очевидно, что для запуска 64-битного ядра вам понадобится 64-битный процессор.) Поскольку вы говорите, что используете Linux, но не говорите, какой дистрибутив вы используете, я не могу дать очень подробных инструкций — и на самом деле у меня нет под рукой подробностей. Такие установки с кросс-битной разрядностью являются «передовым краем», и я рекомендую избегать их, если это вообще возможно.

Придерживаться 32-битной ОС, вероятно, будет проще, но многие ОС (включая большинство дистрибутивов Linux) пренебрегли 32-битными EFI, поэтому вам может потребоваться добавить загрузчик самостоятельно. Этот процесс описан для Ubuntuздесь.К сожалению, Debian теперь поддерживает 32-битный EFI, так что вы можете заставить его работать «из коробки».

В конечном счете, чтобы иметь один диск, который можно загрузить как на 32-битных, так и на 64-битных EFI, без поддержки загрузки BIOS/CSM/legacy-mode, вам нужно будет установить как 32-битную, так и 64-битную версии загрузчика и настроить один для загрузки в режиме перекрестной разрядности. Вероятно, будет лучше иметь два диска или, по крайней мере, две установки на одном диске, один из которых будет 32-битным, а другой — 64-битным. Для внешнего диска 32-битный загрузчик будет , EFI/BOOT/bootia32.efiа 64-битный загрузчик будет EFI/BOOT/bootx64.efi.

Связанный контент