Я пытаюсь создать ISO (поддержка UEFI) следующим образом,

genisoimage \
    -follow-links \
    -o $dir/$iso_name \
    -b isolinux.bin \
    -c boot.cat \
    -no-emul-boot \
    -eltorito-alt-boot \
    -eltorito-boot images/efiboot.img \
    -V 'CENTOS 7' \
    -boot-load-size 4 \
    -boot-info-table\
     -R -J -v -T \
    $ISOLINUX_DIR/

Но сталкиваюсь с ошибкой, как показано ниже,

Размер загрузочного образа составляет 48 секторов -> Без эмуляции
Размер загрузочного образа составляет 4 сектора -> mkisofs: Ошибка - загрузочный образ '/net/. , ,/CentOS/isolinux/images/efiboot.img 'имеет недопустимый размер.

1 ответ1

0

Вы не пометили второй загрузочный образ как для EFI, а не для x86 BIOS. В зависимости от варианта изображения genisoimage это можно сделать с помощью параметра «-e» вместо «-eltorito-boot». Это должно сопровождаться собственным появлением опции "-no-emul-boot".

Параметры «-boot-load-size 4 -boot-info-table» применяются к образу BIOS «isolinux.bin» и должны быть перемещены перед разделителем «-eltorito-alt-boot».

Пытаться


genisoimage \
    -follow-links \
    -o $dir/$iso_name \
    -b isolinux.bin \
    -c boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -eltorito-alt-boot \
    -e images/efiboot.img \
    -no-emul-boot \
    -V 'CENTOS 7' \
    -R -J -v -T \
    $ISOLINUX_DIR/

Если ваш genisoimage не предлагает опцию -e, попробуйте вместо этого:


xorriso -as mkisofs \
    ...above.options...

(Опция -T будет игнорироваться.)

Хорошего дня :)

Томас

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .