Автозагрузка на предустановленном UEFI изображении Debian 12

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

Я использую предустановку своих образов Debian на протяжении многих лет в режиме Legacy BIOS. Теперь нам нужно перейти на стандарты UEFI, и у меня возникают небольшие проблемы. Этот пост посвящён предустановке Debian 12.

В режиме Legacy BIOS я выполнил следующие шаги, чтобы обеспечить автоматическую загрузку (не нужно нажимать Enter в меню загрузки) согласно моим инструкциям по предустановке:

  1. Изменить строку append в /isolinux/gtk.cfg, чтобы разрешить автоматическую загрузку с использованием preseed.cfg
default installgui
label installgui
        menu label ^Графическая установка
        menu default
        kernel /install.amd/vmlinuz
        append auto=true priority=critical vga=788 initrd=/install.amd/gtk/initrd.gz preseed/file=/cdrom/preseed.cfg --- quiet
  1. Изменить таймаут с 0 на 1 в /isolinux/isolinux.cfg, этот шаг позволяет почти немедленно загрузиться
path
prompt 0
timeout 1
include menu.cfg
default vesamenu.c32

Результат был таковым: если я загружаюсь с моего ISO образа предустановки, мне просто нужно было наблюдать, абсолютно никаких человеческих действий.

Теперь давайте поговорим о UEFI. Я уже изменил мой preseed.cfg для настройки разделов EFI. На данный момент мой preseed.cfg работает идеально, если я запускаю его вручную из меню загрузки, всё в порядке.

Моя текущая проблема: когда я загружаю свой предварительно установенный UEFI ISO, он зависает на меню установки, поэтому мне нужно вручную выбрать и нажать Enter на Графическая установка или Установка.

Я читал в этом посте, что мне нужно добавить параметры в grub.cfg, опробовать их внизу файла, но ничего не изменилось.

В режиме UEFI в isolinux, что отвечает за параметры загрузки и меню загрузки?

ИЗМЕНЕНИЕ 17-07-2024:
Наконец, нашёл обходной путь, изменив только grub.cfg таким образом:

  1. добавить set timeout=2 внизу файла
  2. в меню пункта Графическая установка изменить инструкцию linux на:
    linux /install.amd/vmlinuz preseed/file=/cdrom/preseed.cfg auto=true priority=critical vga=788 --- quiet

Теперь всё работает отлично.

Извините, что отвечаю на вопрос другим вопросом, но я не могу загрузить свой ISO, поэтому не могли бы вы поделиться, как вы его создали? Я пытаюсь создать ISO для сетевой установки Debian 12 с интегрированным файлом предустановки.

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

Авто-загрузка на преднастроенном образе Debian 12 для UEFI

Введение

В данной статье мы обсудим процесс настройки авто-загрузки для преднастроенного образа Debian 12 в режиме UEFI. Переход с Legacy BIOS на UEFI может вызвать некоторые трудности, особенно если вы привыкли к автозапуску установок через preseed. Мы разберемся, как правильно скорректировать конфигурационные файлы, чтобы установка проходила без вмешательства пользователя.

Проблема

Как вы уже заметили, после перехода на UEFI, ваша система загрузится на экран установки, и вам нужно вручную выбирать пункт "Graphical Install" или "Install". Для исправления этой ситуации потребуется внести изменения в конфигурационные файлы загрузчика GRUB, который отвечает за меню загрузки в UEFI.

Решение

В вашем случае, вы нашли рабочее решение, которое основано на модификации файла grub.cfg. Позвольте мне подробно объяснить шаги для настройки:

  1. Изменение файла grub.cfg:

    • Откройте файл grub.cfg для редактирования. Этот файл находится в директории /boot/grub/ вашего ISO-образа.
    • В конце файла добавьте строку:
      set timeout=2

      Это установит таймаут на 2 секунды перед автоматическим выбором опции.

  2. Корректировка пункта "Graphical Install":

    • Найдите соответствующий раздел для графической установки. Обычно он начинается с menuentry и выглядит примерно так:
      menuentry 'Graphical Install' {
    • Внутри этого блока замените строку загрузки ядра на следующую:
      linux    /install.amd/vmlinuz preseed/file=/cdrom/preseed.cfg auto=true priority=critical vga=788 --- quiet

      Это обеспечивает автоматическое чтение вашего файла preseed.cfg, что позволяет избежать необходимости взаимодействия пользователя.

Создание ISO-образа с интегрированным файлом preseed.cfg

Предположим, что вам необходимо создать новый ISO-образ для установки Debian 12 с интегрированным файлом preseed.cfg. Для этого следуйте данным шагам:

  1. Скачивание официального ISO:
    Сначала загрузите оригинальный образ Debian 12 с официального сайта.

  2. Подготовка файлового дерева:
    Создайте директорию и разархивируйте ISO-образ. Это можно сделать с использованием команды:

    mkdir debian-iso
    sudo mount -o loop debian-12.iso debian-iso
  3. Копирование файлов:
    Скопируйте все содержимое ISO в новую папку:

    mkdir new-debian-iso
    cp -r debian-iso/* new-debian-iso/
  4. Интеграция файла preseed.cfg:
    Поместите ваш файл preseed.cfg в папку new-debian-iso/preseed/.

  5. Редактирование конфигурационных файлов:
    Следуйте инструкциям выше для редактирования файла grub.cfg и добавления нужных параметров.

  6. Создание нового ISO-образа:
    Для создания нового ISO образа используйте команду genisoimage или xorriso:

    genisoimage -o custom-debian-12.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emulation -boot-load-size 4 -boot-info-table new-debian-iso/

Или если используете xorriso:

xorriso -as mkisofs -o custom-debian-12.iso -isohybrid-mbr /usr/lib/ISOLINUX/isohybrid.bin \
        -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emulation -boot-load-size 4 -boot-info-table \
        new-debian-iso/

Заключение

Теперь у вас есть подробное руководство по настройке авто-загрузки для преднастроенного образа Debian 12 в режиме UEFI. Следование данным инструкциям позволит вам создать ISO-образ, который будет автоматически загружаться с преднастройками. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью!

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

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