「USBレガシーエミュレーション」が無効になっていると、UbuntuベースのカスタムISOは起動しません。

「USBレガシーエミュレーション」が無効になっていると、UbuntuベースのカスタムISOは起動しません。

UbuntuベースのカスタムISOがあり、Biosモードで正しく起動します。 「USBレガシーエミュレーション」が有効になっていると、UEFIモードでも起動します。マシンがUEFIモードにあり、「USBレガシーエミュレーション」が無効になっていると、USBは認識されません。これは、isoでfatパーティションを作成するために使用したコードです。

#! /bin/sh

############################
#   Make UEFI partition    #
############################

BOOT_IMG_DATA="$PWD"
BOOT_IMG=efi.img

mkdir -p $(dirname $BOOT_IMG)

truncate -s 4M $BOOT_IMG
mkfs.vfat $BOOT_IMG
mkdir -p $BOOT_IMG_DATA/EFI/boot

grub-mkimage \
    -C xz \
    -O x86_64-efi \
    -p /boot/grub \
    -o $BOOT_IMG_DATA/EFI/boot/bootx64.efi \
    boot linux search normal configfile \
    part_gpt btrfs fat iso9660 loopback \
    test keystatus gfxmenu regexp probe \
    efi_gop efi_uga all_video gfxterm font \
    echo read ls cat png jpeg halt reboot

mcopy -i $BOOT_IMG -s $BOOT_IMG_DATA/EFI ::

これはisoを構築するために使用するコードです。

############################
# Create the new ISO image #
############################

# The example names get mapped to their roles here
orig_iso="$HOME"/foxclone/foxclone025-01.iso
new_iso="$HOME"/foxclone/foxclone025-02.iso
new_files="$PWD"
mbr_template=/usr/lib/ISOLINUX/isohdpfx.bin

# Extract MBR template file to disk
dd if="$orig_iso" bs=1 count=432 of="$mbr_template"

xorriso -as mkisofs "$new_files" \
  -o "$HOME"/foxclone/foxclone025-02.iso \
  -isohybrid-mbr /usr/lib/ISOLINUX/isohdpfx.bin \
  -c isolinux/boot.cat \
  -b isolinux/isolinux.bin \
   -no-emul-boot -boot-load-size 4 -boot-info-table \
  -eltorito-alt-boot \
  -e boot/grub/efi.img \
   -no-emul-boot \
   -isohybrid-gpt-basdat \
  -m grub.cfg
  "$new_files"

これは fdisk -lu の結果です。

larry@larry-Satellite-C55-A:~/foxclone$ fdisk -lu foxclone025-02.iso
Disk foxclone025-02.iso: 549 MiB, 575668224 bytes, 1124352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x1e64812c

Device              Boot Start     End Sectors  Size Id Type
foxclone025-02.iso1 *        0 1124351 1124352  549M  0 Empty
foxclone025-02.iso2        288    5215    4928  2.4M ef EFI (FAT-12/16/32)

助けてくれてありがとう。

ベストアンサー1

ビルドスクリプトで-m grub.cfgの後に「\」がありません。そのエラーを修正することで問題が解決しました。

おすすめ記事