USBドライブにGRUBをインストールしようとしました。マルチブートUSBディスクを作成したいのですが、EFI directory not found
エラーが発生しています。 USBフラッシュドライブにEFIパーティションを正常に作成するにはどうすればよいですか?
このタスクにGPartedを使用して(EFIパーティションを作成)...インストールしてターミナルを開き、実行します:
Sudo apt install gparted
ダッシュからGPartedを開き、USBドライブを選択して、新しいgpt
パーティションテーブルを作成してから、いくつかの新しいパーティションを作成します。ここに私がそれを行う方法を作ったプレゼンテーションがあります-> GPartedでディスクを準備する方法
EFI System Partition(ESP) の作成はいくつかの方法で実行できますが、必要なことの始まりに過ぎません。 ESPは、GPTタイプコードがC12A7328-F81F-11D2-BA4B-00A0C93EC93B(または、MBRディスクではタイプコードが0xEF)のパーティションであり、FAT32ファイルシステムを使用します(FAT16またはFAT12でも一般的に使用できます)。 Linuxでは、GPartedやparted
などのlibpartedベースのツールは、「ブートフラグ」の存在によってGPTディスク上のESPを識別します。したがって、ESP-ただし、これはGPTディスクでのみ機能します。 (最近のバージョンのlibpartedは、「espフラグ」を「ブートフラグ」の同義語として使用していると思うので、代わりに設定できます。これはMBRディスクでも機能するかもしれませんが、私はそうは思いません。) GPT fdisk(gdisk
、sgdisk
、およびcgdisk
)、パーティションタイプEF00で識別されます。
GPartedでESPを作成すると、パーティションの作成と同時にFATファイルシステムを作成できます。 parted
またはGPT fdiskを使用する場合は、mkdosfs
または他のツールを実行する必要があります。
パーティションが作成されたら、ブートローダーをファイルEFI/BOOT/bootx64.efi
にコピーする必要があります(64ビットEFIを備えたx86-64システムでのブートを想定)。 GRUBについて言及しますが、GRUBはGRUBバイナリに埋め込まれた場所を持つ構成ファイルに依存するため、注意が必要です。しかし、標準のUbuntu GRUBは設定ファイルをハードディスクに探します。自動的に設定するのに役立つGRUBインストールスクリプトがありますが、私はそれらにあまり詳しくありません。代わりにmy rEFInd boot manager を使用することを検討してください。起動時にブートローダーを自動的にスキャンするため、ほとんどの構成はほとんど必要なく、その構成ファイルはrEFIndバイナリと同じディレクトリにあります。
もう1つ注意点があります:セキュアブートがアクティブなコンピューターでUSBドライブを起動できるようにする場合は、shimx64.efi
またはgrubx64.efi
ではなく、refind_x64.efi
をUSBドライブのEFI/BOOT/bootx64.efi
ファイルにコピーする必要があります。次に、後続のブートローダーをgrubx64.efi
としてコピーします。 rEFIndを使用する場合は、セキュアブートをアクティブにして使用するすべてのコンピューターにrEFIndのキーを手動で追加する必要があるため、この場合もrEFIndは最良の選択ではないかもしれません。 (OTOH、1台のコンピューターで起動したいだけなら、それは許容できるコストかもしれません。)