BIOS 또는 EFI 서버에서 부팅할 수 있는 rhel-8 설치 디스크에서 사용자 지정 ISO를 생성하려고 합니다. iso를 생성하기 전까지는 모든 것이 잘 진행됩니다. 다음 명령을 실행하면:
mkisofs -J -R -T -V "NGS-8.4-0 Server" \
-o ngs-8.4-0.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
--no-emul-boot \
--boot-load-size 4 \
--boot-info-table \
--eltorito-alt-boot \
-e images/efiboot.img \
-m TRANS.TBL \
ngs-dvd
다음과 같은 결과가 나타납니다.
Creating NGS iso...I: -input-charset not specified, using iso-8859-1 (detected in locale settings)
(bunch of TRANS.TBL output deleted)
Size of boot image is 4 sectors -> No emulation
Size of boot image is 19612 sectors -> genisoimage: Error - boot image '/NGS/ngs-dvd/images/efiboot.img' has not an allowable size.
--eltorito-alt-boot
그러나 두 가지 옵션( & ) 을 삭제하면 -e images/efiboot.img
부팅 가능한 ISO가 생성됩니다. 내가 도대체 뭘 잘못하고있는 겁니까?
답변1
옵션이 두 번 필요했던 것 같습니다 -no-emul-boot
. 각 부팅 이미지(BIOS 및 EFI)마다 하나씩. 최종 작업 구성은 다음과 같습니다.
/usr/bin/mkisofs -J -R -T -V "NGS-8.4-0 Server" \
-o ngs-8.4-0.iso \
-b isolinux/isolinux.bin \
-c isolinux/boot.cat \
-no-emul-boot \
-boot-load-size 4 \
-boot-info-table \
-eltorito-alt-boot \
-e images/efiboot.img \
-no-emul-boot \
-m TRANS.TBL \
ngs-dvd
답변2
매뉴얼 페이지에서:
-eltorito-alt-boot로 시작새로운 세트엘 토리토 부츠매개변수. 하나의 CD에 최대 63개의 El Torito 부팅 항목을 저장할 수 있습니다.
-no-emul-boot
따라서 답변에서 다시 추가해야 하는 결과는 -eltorito-alt-boot
추가한 EFI 이미지 -e
도 -no-emul-boot
제대로 작동해야 함을 의미하며 다음 El Torito 항목이고 새 매개변수 세트로 시작하므로 필요한 매개변수를 명시적으로 다시 나열해야 합니다.
질문에서 :
그러나 두 가지 옵션(--eltorito-alt-boot & -e Images/efiboot.img)을 삭제하면 부팅 가능한 ISO가 생성됩니다.
처음에도 그렇게 했는데, 레거시 부팅만 되는 iso가 생성되었습니다(EFI 없음, -e
나중에 USB에 EFI 파티션이 되는 부분 추가).
그런데, USB 명령에 쓰기 전에 isohybrid --uefi new.iso
필요합니다.
좋은 관련 글+토론이 있을 것 같습니다Fedora 17 ISO 이미지 분석, 아직 다 읽지 못했습니다.
추신: 다른 많은 옵션이 중요한 이유(예: 4를 제외한 크기는 작동하지 않는 것 같습니다) (현재로서는) 알 수 없습니다. -e
내 시스템의 매뉴얼 페이지에는 옵션이 없는 것 같지만 작동합니다.https://wiki.osdev.org/Mkisofs:
-e ISOPATH는 데이터 파일을 EFI용 El Torito 부팅 이미지로 알립니다. 이것은 원래 mkisofs의 옵션이 아니지만 genisoimage의 일부 변형과 xorriso -as mkisofs에서 이해됩니다.