UEFIファームウェアは、起動用のストレージ等のGPTあるいはFATフォーマットされた第1パーティションを認識します。そのため、GPTあるいはFATでフォーマットしていないとUEFIファームウェアが"EFI/BOOT/BOOTX64.EFI"という名前で配置したブートローダー(poiboot)を見つけてくれません。
ここでは旧来のMS-DOSパーティションテーブルではなく、UEFIで新仕様として加わったGPT(GUID Partition Table)形式でUSBフラッシュメモリをフォーマットする方法を紹介します。
GPT形式のフォーマットに、ここではgdiskコマンド(fdiskのGPT対応版)とmkfsを使用します。
まずはgdiskでGPTのパーティションテーブルを作成します(USBフラッシュメモリ第1パーティションが"/dev/sdb1"として認識されているとします)。
$ sudo gdisk /dev/sdb GPT fdisk (gdisk) version 0.8.10 Partition table scan: MBR: protective BSD: not present APM: not present GPT: present Found valid GPT with protective MBR; using GPT. Command (? for help): o ← GPTを作成する指定 This option deletes all partitions and creates a new protective MBR. Proceed? (Y/N): Y Command (? for help): n Partition number (1-128, default 1): First sector (34-31277022, default = 2048) or {+-}size{KMGTP}: Last sector (2048-31277022, default = 31277022) or {+-}size{KMGTP}: Current type is 'Linux filesystem' Hex code or GUID (L to show codes, Enter = 8300): ef00 Changed type of partition to 'EFI System' Command (? for help): p Disk /dev/sdb: 31277056 sectors, 14.9 GiB Logical sector size: 512 bytes Disk identifier (GUID): 2DDA5A7F-F45A-4B9C-9AB1-137FC2856D83 Partition table holds up to 128 entries First usable sector is 34, last usable sector is 31277022 Partitions will be aligned on 2048-sector boundaries Total free space is 2014 sectors (1007.0 KiB) Number Start (sector) End (sector) Size Code Name 1 2048 31277022 14.9 GiB EF00 EFI System Command (? for help): w Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!! Do you want to proceed? (Y/N): Y OK; writing new GUID partition table (GPT) to /dev/sdb. The operation has completed successfully.
"o"コマンドでGPTを作成する指定をし、USBフラッシュメモリの全容量を使用する単一のパーティションを作成しています。"ef00"は"EFI System Partition"というUEFI起動ディスク専用のパーティションタイプです。
次に、作成したパーティションをFAT32でフォーマットします。
$ sudo mkfs.vfat -F 32 /dev/sdb1 mkfs.fat 3.0.27 (2014-11-12)