Не удается загрузить установку пользовательского ISO RHEL7 на USB с UEFI.

Вопрос или проблема

У меня есть пользовательский установочный ISO образ RHEL7.8, который работает именно так, как и ожидалось, когда я записываю его на DVD и устанавливаю с этого диска с использованием UEFI. Теперь я пытаюсь обновить его, чтобы поддерживать установку с USB. Я могу создать ISO и выбрать его в качестве загрузочного устройства на своей тестовой системе, однако, когда я делаю свой выбор в меню grub, чтобы запустить установку, я получаю ошибку:

error: file '/images/pxeboot/vmlinuz' not found.
error: you need to load the kernel first.

Press any key to continue...

Что означает эта ошибка и как ее исправить?

Я обновил запись /EFI/BOOT/grub.conf, чтобы указать, что носителем является USB, а не DVD

menuentry 'Option 1' --class fedora --class gnu-linux --class gnu --class os {
    linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=MY_USB_LABEL quiet inst.ks=hd:LABEL=MY_USB_LABEL:/config/opt1/anaconda-ks-option1.cfg
    initrdefi /images/pxeboot/initrd.img
}

а также скопировал обновленный grub.conf в images/efiboot.img.

mount images/efiboot.img /tmp/img
cp EFI/BOOT/grub.conf /tmp/img/EFI/BOOT/grub.conf
umount /tmp/img

Файл kickstart также обновлен для отражения USB носителя (и я могу использовать его успешно через Legacy Boot)

repo --name="USB Media" --baseurl=file:///mnt/install/repo # Добавлено для установки с USB, не уверен, что это необходимо
install
harddrive --partition=LABEL=MY_USB_LABEL --dir=/ # вместо cdrom для установки с DVD

Я генерирую сам ISO с помощью mkisofs

mkisofs -quiet -o test.iso \
    -b isolinux/isolinux.bin \
    -J -R -l \
    -c isolinux/boot.cat \
    -no-emul-boot \
    -boot-load-size 4 \
    -boot-info-table \
    -eltorito-alt-boot \
    -e images/efiboot.img \
    -no-emul-boot \
    -graft-points \
    -joliet-long \
    -V MY_USB_LABEL iso_source/

isohybrid -uefi test.iso
implantisomd5 test.iso

а затем «записываю» его на USB устройство

dd if=test.iso of=/dev/sda
sync

Спасибо за любые идеи, мысли или другие отзывы!

Ответ или решение

Установка пользовательского ISO RHEL7 с поддержкой UEFI на USB накопитель: решение проблемы с загрузкой

Проблема, с которой вы столкнулись, связана с неправильной настройкой загрузки UEFI для вашего пользовательского ISO-образа RHEL7.8 на USB накопителе. Ошибка, которую вы видите — "error: file ‘/images/pxeboot/vmlinuz’ not found" — указывает на то, что загрузчик GRUB не может найти ядро системы, необходимое для загрузки. Давайте рассмотрим шаги для исправления данной ситуации.

1. Правильная структура ISO-образа

Первым делом убедитесь, что структура вашего ISO-образа соответствует требованиям UEFI. Основные моменты:

  • Проверьте наличие файлов: Убедитесь, что файлы ядра (vmlinuz) и инициализации (initrd.img) действительно находятся в директории images/pxeboot/. Вы можете сделать это, смонтировав ISO-образ и проверив его содержимое.

  • Используйте правильные пути: Путь к файлам в конфигурации GRUB должен быть правильным. Если ваши файлы находятся в другом каталоге, обновите конфигурацию grub.conf в соответствии с фактическими путями.

2. Обновление grub.conf

Так как вы уже редактировали файл grub.conf, убедитесь, что следующие строки правильно указывают на нужные файлы:

menuentry 'Option 1' --class fedora --class gnu-linux --class gnu --class os {
    linuxefi /images/pxeboot/vmlinuz inst.stage2=hd:LABEL=MY_USB_LABEL quiet inst.ks=hd:LABEL=MY_USB_LABEL:/config/opt1/anaconda-ks-option1.cfg
    initrdefi /images/pxeboot/initrd.img
}

Проверьте, что linuxefi и initrdefi указывают на существующие файлы, а inst.stage2 правильно указывает на метку USB.

3. Установка ISO на USB

Ваш процесс записи ISO на USB через dd выглядит корректно, однако следует учесть следующие моменты:

  • Проверка устройства: Убедитесь, что /dev/sda является вашим USB-накопителем, и что там нет других активных разделов. Использование команды lsblk может помочь вам проверить это.

  • Использование sync: Обычно использование команды sync после dd важно, чтобы записанные данные были полностью записаны на накопитель.

4. Создание эмуляции образа

Использование isohybrid и implantisomd5 — это правильный шаг, но также убедитесь, что ваш ISO действительно совместим с UEFI. Иногда необходимо делать упор на использование системных утилит, таких как genisoimage, если mkisofs вызывает проблемы.

5. Убедитесь в совместимости BIOS/UEFI

Наконец, убедитесь, что ваш тестовый компьютер настроен на использование UEFI:

  • Настройки BIOS: Проверьте, что режим UEFI активирован и режим Legacy отключен.
  • Secure Boot: Возможно, вам нужно будет отключить Secure Boot в настройках UEFI, чтобы позволить загрузку пользовательских образов.

Заключение

После выполнения всех вышеперечисленных шагов, перезагрузите систему и попробуйте снова выполнить загрузку с USB. Важно также следить за тем, чтобы ваша конфигурация и структура соответствовали стандартам, так как даже небольшая ошибка может привести к сбоям загрузки. Если проблема не разрешится, попробуйте использовать другой USB-накопитель или даже другие утилиты для создания загрузочного носителя, такие как Rufus или UNetbootin, которые могут помочь создать оптимальный загрузочный USB-диск.

Оцените материал
Добавить комментарий

Капча загружается...