回答の更新
権威ある情報源を望む人は、セクション13.3.1.3を参照してください。基準ディレクトリ構造について説明します。
目的
起動用のEFIパーティションとは別のEXT4パーティションにLinuxを含むUEFI起動可能なUbuntu Linux USBドライブを作成します。 (注:これは私の考えではなく、これらの条件から逸脱することはできません。そうしないと、より簡単なことができます。)
私がしたこと
- Live CDを起動し、一般的なインストール手順に従ってください。
- パーティションを分割すると、512MB EFIパーティションが作成され、起動可能になりました。
/
EXT4ファイルシステムのマウントポイントを持つパーティションを使用するようにUbuntuを設定する- 一般的な設置
- USBドライブを別のコンピュータに移動して起動してみてください。
結果
をクリックすると、EFI USB Device
画面がしばらく黒く点滅し、すぐに同じ画面に戻ります。ただし、元々インストールされたコンピュータからUSBドライブを起動すると機能します。
私の診断
EFIブートプロセスについて私が理解したことは、この段階でオプションがgrub.efiファイルを指す必要があり、この時点でgrubが起動してから起動順序を引き継ぐ必要があることです。
私が見たところは、グラブが始まらないと思いますか?それでは、なぜできないのかわかりません。私が理解したところ、ここで何が起こっているのかは、システムファームウェアがすべての記憶媒体上で実行可能なEFIパーティションを検索することです。これは、USBでパーティションを正しく見つけたに違いありませんが、EFIパーティションの内容が正しく機能していないことを示しています。 EFIパーティションを見て、奇妙なことは、EFIというフォルダがあり、その中に私のシステム名を持つフォルダとgrubx64.efiというファイルがあるということです。そこにもっとあるべきですか?
答え1
/EFI/BOOT/BOOTX64.EFI
EFIリムーバブルドライブを起動しようとすると、ファームウェアは/EFI/BOOT/BOOTIA32.EFI
(またはシステムが32ビットの場合)に実行可能ファイルを見つけます。システムが取り外し可能な場合、通常、ブートローダはこの場所に表示されます。
Ubuntuのインストールでは、このドライブは取り外し不可能であると予想されるため、GRUBは/ EFIの下の別の場所にインストールされます。これはGRUBの場所を含むEFIブートエントリも作成するため、通常問題ではありません。ただし、ブートエントリはシステムによって異なるため、ドライブを移動すると他のシステムでGRUBが見つかりません。
回避策は、システムがインストールされている元のシステムからシステムとして起動することです(必須起動エントリがまだ含まれている必要があります)。これが不可能な場合は、別の方法は別のLinuxボックスからUbuntuにchrootすることです。その後、grub-install
この--removable
フラグを使用してGRUBをリムーバブルブートローダパスの1つにインストールできます。