"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 뒤에 "\"가 누락되었습니다. 해당 오류를 수정하면 문제가 해결되었습니다.

관련 정보