ファイルから32ビットUEFIを起動する

ファイルから32ビットUEFIを起動する

私はUSB(32ビットx86)と2台のPCにLinuxをインストールしています。

  1. 1 台のラップトップ 64x UEFI が正常に起動します。
  2. 64ビットプロセッサを搭載したタブレット1台しかし32ビットUEFI-BIOS起動しません。

.efi2 番目にはレガシー ブートのオプションはありませんが、 -Fileからブートする可能性はあります。

残念ながら、どの.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 を使用している場合、CPU のビット深度は関係ないことに注意してください。その結果、32 ビット EFI と 64 ビット CPU を備えたシステムでは、32 ビット EFI プログラムの実行に制限されます。

通常、EFI ブートローダー (これは特定の種類の EFI プログラムにすぎません) のビット深度によって、それが実行する OS のビット深度も制限されます。したがって、32 ビット EFI を搭載したコンピュータに 32 ビット OS をインストールするのが最も簡単です。ただし、この制限を回避する方法があります。特に、Apple の OS X ブートローダーと Linux の GRUB はどちらもクロスビット深度のカーネルブートをサポートしているため、32 ビットブートローダーから 64 ビットカーネルを起動したり、その逆を行ったりできます (当然、64 ビットカーネルを起動するには 64 ビット CPU が必要です)。Linux を使用しているとのことですが、使用しているディストリビューションが不明であるため、詳細な手順を説明することはできません。実際、詳細が手元にありません。このようなクロスビット深度のインストールはまさに「最先端」であり、可能な限り避けることをお勧めします。

32ビットOSを使い続ける方が簡単かもしれませんが、多くのOS(ほとんどのLinuxディストリビューションを含む)は32ビットEFIを無視しているため、ブートローダーを自分で追加する必要があるかもしれません。このプロセスはUbuntuで説明されています。ここ。私の記憶が正しければ、Debian は現在 32 ビット EFI サポートを提供しているので、そのまま動作させることができるかもしれません。

最終的に、BIOS/CSM/レガシー モードのブート サポートを考慮せずに、32 ビットと 64 ビットの両方の EFI でブート可能なディスクを 1 つ用意するには、32 ビットと 64 ビットの両方のブート ローダーをインストールし、一方をクロス ビット深度方式でブートするように構成する必要があります。ディスクを 2 つ用意するか、少なくとも 1 つのディスクに 2 つのインストール (1 つは 32 ビット、もう 1 つは 64 ビット) を用意する方がよいでしょう。外部ディスクの場合、32 ビットのブート ローダーはEFI/BOOT/bootia32.efi、64 ビットのブート ローダーは になりますEFI/BOOT/bootx64.efi

関連情報