web-dev-qa-db-ja.com

USBドライブにE​​FIパーティションを作成するにはどうすればよいですか?

USBドライブにGRUBをインストールしようとしました。マルチブートUSBディスクを作成したいのですが、EFI directory not foundエラーが発生しています。 USBフラッシュドライブにE​​FIパーティションを正常に作成するにはどうすればよいですか?

1
Glassjawed

このタスクにGPartedを使用して(EFIパーティションを作成)...インストールしてターミナルを開き、実行します:

Sudo apt install gparted  

ダッシュからGPartedを開き、USBドライブを選択して、新しいgptパーティションテーブルを作成してから、いくつかの新しいパーティションを作成します。ここに私がそれを行う方法を作ったプレゼンテーションがあります-> GPartedでディスクを準備する方法

3
cl-netbox

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(gdisksgdisk、および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台のコンピューターで起動したいだけなら、それは許容できるコストかもしれません。)

2
Rod Smith