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에 El Torito 시작 항목을 최대 63개까지 저장할 수 있습니다.
따라서 답변에서 -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 파티션이 추가됨).
그런데 isohybrid --uefi new.iso
USB에 쓰기 전에 명령이 필요합니다.
좋은 관련 글 + 토론이 있는 것 같습니다.Fedora 17 ISO 이미지 분석, 아직 다 읽지 못했습니다.
PS 다른 많은 옵션이 중요한 이유는 무엇입니까(예: 4 이외의 크기는 문제를 해결하지 못하는 것 같습니다) (아직까지) 찾지 못했습니다. -e
이 옵션은 내 시스템의 매뉴얼 페이지에 없는 것 같지만 작동합니다.https://wiki.osdev.org/Mkisofs:
-e ISOPATH 데이터 파일을 EFI El Torito 부팅 이미지로 선언합니다. 이것은 원래 mkisof의 옵션이 아니지만 genisoimage 및 xorriso -as mkisof의 일부 변형에서 이해됩니다.