uefiBIOSとRegacyBIOSの両方でbootできるmulti boot USB作成

1.概要

ubuntuのresucue用途としてusb bootデバイスを作成して、BIOS PCで利用可能になりました。しかし、uefi-BIOSでは利用できないので、BIOSとuefi-BIOSの両方で利用できるmulti boot USBを作成しました。この内容を記述します。

2.詳細

参考資料にある以前作成したmicroSD方式を利用します。

(a) microSDの初期化 (non-uefi BIOS対応PCでの作業)

usb変換アダプターにmicroSDを取り付けます。usb bootのubuntu liveCD(20.04.6 desktop)を利用して、起動をしてからgpartdでmicroSDのpartion tableをmsdos形式で初期化します。今回はmulti bootなので少しパーティション構成を変えます。64GBのmicroSDを設定したUSBデバイスを/dev/sddとします。
gpartdで以下のようにパーティションを作成します。

/dev/sdd1  256MB  fat32
/dev/sdd2  50GB   ext4

(b) ubuntu-20.04.6 install

usb bootのubuntu liveCD(20.04.6 desktop)からinstallerを起動して、microSDのext領域(/dev/sdd2)にinstallします。bootは/dev/sddを選択します。問題なくインストールできました。

(c) 起動

non-uefi BIOSでusb boot可能なPC(私の場合は古いNotePCを利用)にusb変換アダプターにmicroSDを取り付けて、BIOSの設定をUSBに変更して起動すると、無事に起動します。

(d) Grubの設定

grub.cfgを/dev/sdd1に作成します。

# mount /dev/sdd1 /mnt
# cd /mnt
# mkdir -p boot/grub
# cd boot/grub
# vi grub.cfg

設定内容は以下の通りです

set default=0
set timeout=3
set UUID= ここに/dev/sdd2のUUIDをblkidで調べて記述します
menuentry 'Ubuntu Linux' {
    linux (hd0,msdos2)/boot/vmlinuz root=UUID=$UUID
    initrd (hd0,msdos2)/boot/initrd.img
}

(e) Grub boot試験

grubで起動できることを確認

(f) uefi-BIOS対応の設定( efi-BIOS対応PCでの作業 )

usb bootのubuntu liveCD(20.04.6 desktop)を利用して、起動をしてからgpartdを起動します。
/dev/sdd1のpartitionをboot,espに変更して、ESP対応にします。

# mount /dev/sdd1 /mnt
# cd /mnt
# mkdir -p EFI/BOOT

# grub-mkimage -o /mnt/EFI/BOOT/bootx64.efi -p /boot/grub -O x86_64-efi fat exfat ext2 part_gpt part_msdos normal linux echo all_video search configfile

(g) 起動試験

ueif-BIOSの起動メニュー(私のPCはF7-key)でUSBからbootを指定して試験します

3.所見

multi boot USBを作成したときの問題は、bootしたUSBが先頭(/dev/sda)になるため、既存のストレージの番号がズレてしまうことです。Grubを利用するとhdの番号が変わってしまうので修正が必要になることです。

参考

[本ブログ内参照]
ubuntu/LinuxMIntをKVM導入時に標準でBIOS bootパーティションが作成される
[外部サイト参照]
BIOSとEFIの両方で起動出来るブートパーティションの作成

コメント

過去30日間に良く読まれた記事

miniPCのBMAXでWindows11のsecure boot設定漏れでトラブル発生

Windows95/98のPCゲームをUbuntu/LinuxMintの最新PCで楽しむ方法 ( KVM / Wine / dosbox-x / midi )

LinuxMint/ubuntuにWine 11導入を試しました ( LinuxMint 21.3 / 22.3 ubuntu 22.04 / 26.04 Wine 11.0 / 11.6 / 11.8 / 11.13 )