Ubuntu で BIOS/UEFI の両方のモードで起動させる

外付けHDD、USBメモリーに Ubuntu 18.04 (MBR) をインストールして EFIブート を追加する方法

この記事は下書きです

フォーマットしてパーティションを作成します。GPT方式でフォーマットします。512MBytesほどFAT32をEFIパーティションとして確保し、残りをLinux ex4方式で確保します。
Secure Boot を無効にして Ubuntu 18.04 (MBR)をインストールします。「インストールの種類」でそれ以外を選択して任意のパーティションにUbuntuをインストールします。

Ubuntuを起動後、端末からgrub-efi-amd64-binをインストールします。

sudo apt-get install grub-efi-amd64-bin

/usr/lib/grub/x86_64-efi/ のファイルを /EFI/BOOT にコピーします。ここでは先ほどのディスクをsdb、FAT(EFI)をsdb1、Linux ex4パーディションをsdb2とします。

sudo mkdir /efi
sudo mount /dev/sdb1 /efi
sudo mkdir -p efi/EFI/BOOT
sudo cp -r /usr/lib/grub/x86_64-efi efi/EFI/BOOT/
cp BOOTx64.EFI efi/EFI/BOOT

Ubuntuを再起動します。さらにSecure Bootを有効にします。ブートローダーのメニューが乱れるかもしれませんがEnterを押して起動します。

起動後、端末から Boot-Repair をインストールします。

sudo add-apt-repository ppa:yannubuntu/boot-repair
sudo apt-get update
sudo apt-get install -y boot-repair && boot-repair

修復を開始する前に /usr/lib/grub/BOOT ディレクトリーは削除されます。cp で別のディレクトリーにコピーしておきます。 /usr/lib/grub.bak が作成されますが万が一のために行っておいてください。
Boot-Repair (ブート修復) を起動して高度なオプションを選択します。GRUBの位置タブのデフォルトで起動するOSをsdb2に設定します。別パーティションに/boot/efiを構成をチェックしてsdb2を選択します。