B.4. Содержимое файла ответов (для bookworm)

Фрагменты конфигурации, используемые в этом приложении, также доступны в примере файла ответов https://iwawocd.cewmufwd.tk/releases/bookworm/example-preseed.txt.

Заметим, что показанный пример основан на установке для архитектуры Intel x86. Если вы выполняете установку на другую архитектуру, то некоторые примеры (например, выбор клавиатуры и установка загрузчика) могут различаться и должны быть заменены на соответствующие настройки debconf для этой архитектуры.

О том, как работают различные компоненты Debian Installer, можно найти в Раздел 6.3, «Применение отдельных компонент».

B.4.1. Локализация

При обычной установке вопросы о локализации задаются первыми, поэтому их значения можно указать только в методе initrd или параметрах загрузки ядра. Автоматический режим (Раздел B.2.3, «Автоматический режим») включает настройку auto-install/enable=true (обычно, через псевдоним auto). Это задерживает вопросы локализации для того, чтобы их можно было указать с любым методом.

Для указания языка и страны можно использовать локаль; возможна любая комбинация для языка, если она поддерживается debian-installer, и страны. Если в локали указана недопустимая комбинация, то программа установки автоматически выберет локаль, подходящую для выбранного языка. Чтобы указать локаль в параметре загрузки, используйте locale=ru_RU.

Хотя этот метод очень прост в использовании, с его помощью нельзя задать любые комбинации языка, страны и локали[20]. Поэтому есть возможность задать автоматический ответ для каждого параметра отдельно. Язык и страну также можно указывать в параметрах запуска.

# Автоответ только для языка, страны и локали.
d-i debian-installer/locale string en_US

# Значения можно указывать отдельно для каждого параметра.
#d-i debian-installer/language string en
#d-i debian-installer/country string NL
#d-i debian-installer/locale string en_GB.UTF-8
# В добавок, можно указать дополнительные локали для генерации.
#d-i localechooser/supported-locales multiselect en_US.UTF-8, nl_NL.UTF-8

При настройке клавиатуры выбирается раскладка и (для нелатинских раскладок) клавиша переключения между нелатинской раскладкой и раскладкой US. Во время установки доступны только основные варианты раскладок. Дополнительные варианты доступны только в установленной системе; их можно выбрать с помощью команды dpkg-reconfigure keyboard-configuration.

# Выбор клавиатуры.
d-i keyboard-configuration/xkb-keymap select ru
# d-i keyboard-configuration/toggle select No toggling

Чтобы не выполнять настройку клавиатуры укажите в keymap значение skip-config. В результате останется активной клавиатурная раскладка ядра.

B.4.2. Настройка сети

Of course, preseeding the network configuration won't work if you're loading your preconfiguration file from the network. But it's great when you're booting from optical disc or USB stick. If you are loading preconfiguration files from the network, you can pass network config parameters by using kernel boot parameters.

Если нужно использовать определённый интерфейс для загрузки по сети перед загрузкой файла ответов из сети, используйте параметр загрузки interface=eth1.

Хотя автоматическая настройка сети обычно невозможна при загрузки файла ответов по сети (с помощью «preseed/url»), вы можете обойти этот недостаток, например, если задав статический адрес на сетевом интерфейса. Данное обходное решение заставит запуститься настройку сети ещё раз после загрузки файла ответов, если создать сценарий «preseed/run» со следующими строчками:

kill-all-dhcp; netcfg

Следующие переменные debconf относятся к настройке сети.

# Disable network configuration entirely. This is useful for cdrom
# installations on non-networked devices where the network questions,
# warning and long timeouts are a nuisance.
#d-i netcfg/enable boolean false

# netcfg will choose an interface that has link if possible. This makes it
# skip displaying a list if there is more than one interface.
d-i netcfg/choose_interface select auto

# To pick a particular interface instead:
#d-i netcfg/choose_interface select eth1

# To set a different link detection timeout (default is 3 seconds).
# Values are interpreted as seconds.
#d-i netcfg/link_wait_timeout string 10

# If you have a slow dhcp server and the installer times out waiting for
# it, this might be useful.
#d-i netcfg/dhcp_timeout string 60
#d-i netcfg/dhcpv6_timeout string 60

# Automatic network configuration is the default.
# If you prefer to configure the network manually, uncomment this line and
# the static network configuration below.
#d-i netcfg/disable_autoconfig boolean true

# If you want the preconfiguration file to work on systems both with and
# without a dhcp server, uncomment these lines and the static network
# configuration below.
#d-i netcfg/dhcp_failed note
#d-i netcfg/dhcp_options select Configure network manually

# Static network configuration.
#
# IPv4 example
#d-i netcfg/get_ipaddress string 192.168.1.42
#d-i netcfg/get_netmask string 255.255.255.0
#d-i netcfg/get_gateway string 192.168.1.1
#d-i netcfg/get_nameservers string 192.168.1.1
#d-i netcfg/confirm_static boolean true
#
# IPv6 example
#d-i netcfg/get_ipaddress string fc00::2
#d-i netcfg/get_netmask string ffff:ffff:ffff:ffff::
#d-i netcfg/get_gateway string fc00::1
#d-i netcfg/get_nameservers string fc00::1
#d-i netcfg/confirm_static boolean true

# Any hostname and domain names assigned from dhcp take precedence over
# values set here. However, setting the values still prevents the questions
# from being shown, even if values come from dhcp.
d-i netcfg/get_hostname string unassigned-hostname
d-i netcfg/get_domain string unassigned-domain

# If you want to force a hostname, regardless of what either the DHCP
# server returns or what the reverse DNS entry for the IP is, uncomment
# and adjust the following line.
#d-i netcfg/hostname string somehost

# Disable that annoying WEP key dialog.
d-i netcfg/wireless_wep string
# The wacky dhcp hostname that some ISPs use as a password of sorts.
#d-i netcfg/dhcp_hostname string radish

# If you want to completely disable firmware lookup (i.e. not use firmware
# files or packages that might be available on installation images):
#d-i hw-detect/firmware-lookup string never

# If non-free firmware is needed for the network or other hardware, you can
# configure the installer to always try to load it, without prompting. Or
# change to false to disable asking.
#d-i hw-detect/load_firmware boolean true

Заметим, что netcfg автоматически выберет маску сети,если она не указана в netcfg/get_netmask. В этом случае, переменная будет помечена как seen при автоматической установке. Аналогично netcfg выберет подходящий адрес шлюза, если не указано значение в netcfg/get_gateway. Но есть специальная настройка: netcfg/get_gateway можно установить в «none», чтобы указать, что шлюз вообще не должен использоваться.

B.4.3. Сетевая консоль

# Используйте следующие настройки, если хотите использовать компоненту
# network-consoleдля удалённой установки через SSH. Это имеет смысл, если вы
# намереваетесь выполнять оставшуюся часть установки вручную.
#d-i anna/choose_modules string network-console
#d-i network-console/authorized_keys_url string http://10.0.0.1/openssh-key
#d-i network-console/password password r00tme
#d-i network-console/password-again password r00tme

More information related to network-console can be found in Раздел 6.3.10, «Installation over network-console».

B.4.4. Настройка сервера-зеркала

В зависимости от используемого метода установки для загрузки дополнительных компонент программы установки, установки базовой системы и настройки файла /etc/apt/sources.list в установленной системе можно использовать сервер-зеркало.

Параметр mirror/suite определяет версию дистрибутива для устанавливаемой системы.

Параметр mirror/udeb/suite определяет версию дистрибутива для дополнительных компонент программы установки. Он нужен только если компоненты загружаются по сети и должны соответствовать версии, которая была использована для сборки initrd, который используется для установки с помощью одноимённого метода. Обычно программа установки автоматически определяет правильное значение, и этот параметр задавать ненужно.

# Mirror protocol:
# If you select ftp, the mirror/country string does not need to be set.
# Default value for the mirror protocol: http.
#d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/http/hostname string http.us.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string

# Suite to install.
#d-i mirror/suite string testing
# Suite to use for loading installer components (optional).
#d-i mirror/udeb/suite string testing

B.4.5. Настройка учётной записи

Могут быть автоматически настроены пароль суперпользователя и имя и пароль первого обычного пользователя. Пароли могут быть заданы как нешифрованные текстовые значения или в виде хешей crypt(3).

[Предупреждение] Предупреждение

Обратите внимание, что автоматическую настройку паролей использовать небезопасно, так как любой может получить доступ к файлу ответов и узнать пароли. Хранение хешей паролей считается безопасным, если для них не используются нестойкие алгоритмы хеширования DES или MD5, которые доступны для атак перебором. Для вычисления хешей рекомендуется использовать алгоритмы SHA-256 и SHA512.

# Пропустить создание учётной записи суперпользователя (в обычной учётной
# записи пользователя можно использовать sudo).
#d-i passwd/root-login boolean false
# Или же пропустить создание обычной учётной записи пользователя.
#d-i passwd/make-user boolean false

# Пароль суперпользователя, любой открытым текстом
#d-i passwd/root-password password r00tme
#d-i passwd/root-password-again password r00tme
# или в виде хеша crypt(3).
#d-i passwd/root-password-crypted password [хеш crypt(3)]

# Создать учётную запись обычного пользователя.
#d-i passwd/user-fullname string Debian User
#d-i passwd/username string debian
# Пароль обычного пользователя, или открытым текстом
#d-i passwd/user-password password insecure
#d-i passwd/user-password-again password insecure
# или в виде хеша crypt(3).
#d-i passwd/user-password-crypted password [хеш crypt(3)]
# Создать первую учётную запись с заданным UID вместо значения по
# умолчанию.
#d-i passwd/user-uid string 1010

# Учётная запись будет добавлена в несколько стандартных начальных групп.
# Чтобы это изменить -- отредактируйте и раскомментируйте строчку ниже.
#d-i passwd/user-default-groups string audio cdrom video

Также, в начале значений переменных passwd/root-password-crypted и passwd/user-password-crypted можно указать знак «!». В этом случае, соответствующая учётная запись будет заблокирована. Это может быть удобно для учётной записи суперпользователя, если используется другой метод настройки, предоставляющий возможность выполнить административные действия или вход в систему от имени суперпользователя (например, используя аутентификацию по SSH ключу или sudo).

С помощью следующей команды (доступной из пакета whois) можно сгенерировать хеш SHA-512 из crypt(3) для пароля:

mkpasswd -m sha-512

B.4.6. Настройка времени и часового пояса

# Задаёт, установлены или нет аппаратные часы по Гринвичу.
d-i clock-setup/utc boolean true

# Здесь вы можете указать любое допустимое значение для $TZ; смотрите
# допустимые значения в файле /usr/share/zoneinfo/.
d-i time/zone string US/Eastern

# Определяет, нужно ли использовать NTP для установки часов во время установки
d-i clock-setup/ntp boolean true
# Используемый сервер NTP. Значение по умолчанию указывается здесь.
#d-i clock-setup/ntp-server string ntp.example.com

B.4.7. Разметка дисков

Использование настроек разметки жёсткого диска в автоматической установке очень ограничено; поддерживаются параметры только для partman-auto. Вы можете выбрать разметку только свободного места на диске или всего диска. Разметку диска можно выбрать из одного из имеющихся в программе установки наборов, пользовательского набора из файла или набора из файла ответов.

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

Представленные далее примеры показывают только основы по использованию наборов. Подробности смотрите в файлах partman-auto-recipe.txt и partman-auto-raid-recipe.txt из пакета debian-installer. Также эти файлы доступны в репозитории debian-installer. Заметим, что список поддерживаемых возможностей может поменяться между выпусками.

[Предупреждение] Предупреждение

Идентификация дисков зависит от порядка загрузки драйверов. Если в системе есть несколько дисков, проверьте, что выбирается правильный диск перед тем как использовать автоматическую установку.

B.4.7.1. Пример разметки

# If the system has free space you can choose to only partition that space.
# This is only honoured if partman-auto/method (below) is not set.
#d-i partman-auto/init_automatically_partition select biggest_free

# Alternatively, you may specify a disk to partition. If the system has only
# one disk the installer will default to using that, but otherwise the device
# name must be given in traditional, non-devfs format (so e.g. /dev/sda
# and not e.g. /dev/discs/disc0/disc).
# For example, to use the first SCSI/SATA hard disk:
#d-i partman-auto/disk string /dev/sda
# In addition, you'll need to specify the method to use.
# The presently available methods are:
# - regular: use the usual partition types for your architecture
# - lvm:     use LVM to partition the disk
# - crypto:  use LVM within an encrypted partition
d-i partman-auto/method string lvm

# You can define the amount of space that will be used for the LVM volume
# group. It can either be a size with its unit (eg. 20 GB), a percentage of
# free space or the 'max' keyword.
d-i partman-auto-lvm/guided_size string max

# If one of the disks that are going to be automatically partitioned
# contains an old LVM configuration, the user will normally receive a
# warning. This can be preseeded away...
d-i partman-lvm/device_remove_lvm boolean true
# The same applies to pre-existing software RAID array:
d-i partman-md/device_remove_md boolean true
# And the same goes for the confirmation to write the lvm partitions.
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true

# You can choose one of the three predefined partitioning recipes:
# - atomic: all files in one partition
# - home:   separate /home partition
# - multi:  separate /home, /var, and /tmp partitions
d-i partman-auto/choose_recipe select atomic

# Or provide a recipe of your own...
# If you have a way to get a recipe file into the d-i environment, you can
# just point at it.
#d-i partman-auto/expert_recipe_file string /hd-media/recipe

# If not, you can put an entire recipe into the preconfiguration file in one
# (logical) line. This example creates a small /boot partition, suitable
# swap, and uses the rest of the space for the root partition:
#d-i partman-auto/expert_recipe string                         \
#      boot-root ::                                            \
#              40 50 100 ext3                                  \
#                      $primary{ } $bootable{ }                \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ /boot }                     \
#              .                                               \
#              500 10000 1000000000 ext3                       \
#                      method{ format } format{ }              \
#                      use_filesystem{ } filesystem{ ext3 }    \
#                      mountpoint{ / }                         \
#              .                                               \
#              64 512 300% linux-swap                          \
#                      method{ swap } format{ }                \
#              .

# The full recipe format is documented in the file partman-auto-recipe.txt
# included in the 'debian-installer' package or available from D-I source
# repository. This also documents how to specify settings such as file
# system labels, volume group names and which physical devices to include
# in a volume group.

## Partitioning for EFI
# If your system needs an EFI partition you could add something like
# this to the recipe above, as the first element in the recipe:
#               538 538 1075 free                              \
#                      $iflabel{ gpt }                         \
#                      $reusemethod{ }                         \
#                      method{ efi }                           \
#                      format{ }                               \
#               .                                              \
#
# The fragment above is for the amd64 architecture; the details may be
# different on other architectures. The 'partman-auto' package in the
# D-I source repository may have an example you can follow.

# This makes partman automatically partition without confirmation, provided
# that you told it what to do using one of the methods above.
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

# Force UEFI booting ('BIOS compatibility' will be lost). Default: false.
#d-i partman-efi/non_efi_system boolean true
# Ensure the partition table is GPT - this is required for EFI
#d-i partman-partitioning/choose_label select gpt
#d-i partman-partitioning/default_label string gpt

# When disk encryption is enabled, skip wiping the partitions beforehand.
#d-i partman-auto-crypto/erase_disks boolean false

B.4.7.2. Разметка с использованием RAID

Также вы можете автоматизировать настройку массивов программного RAID. Поддерживаются RAID уровни 0, 1, 5, 6 и 10, создание неполных массивов (degraded arrays) и можно указать запасные устройства.

Если вы используете RAID 1, то можете автоматизировать установку grub на все устройства массива, см. Раздел B.4.11, «Установка загрузчика».

[Предупреждение] Предупреждение

В данном типе автоматизации разметки легко ошибиться. Также эта возможность тестировалась относительно мало разработчиками debian-installer. Ответственность при создании правильного набора (то есть, чтобы он был логически верным и не имел конфликтов) лежит на пользователе. Если возникают проблемы -- см. /var/log/syslog.

# Метод должен быть установлен в значение "raid".
#d-i partman-auto/method string raid
# Задать размечаемые диски. Они будут иметь одинаковую разметку,
# поэтому это работает только, если диски одинакового размера.
#d-i partman-auto/disk string /dev/sda /dev/sdb

# Далее нужно указать какие физические разделы будут использоваться.
#d-i partman-auto/expert_recipe string \
#      multiraid ::                                         \
#              1000 5000 4000 raid                          \
#                      $primary{ } method{ raid }           \
#              .                                            \
#              64 512 300% raid                             \
#                      method{ raid }                       \
#              .                                            \
#              500 10000 1000000000 raid                    \
#                      method{ raid }                       \
#              .

# Наконец, нужно указать как использовать определённые ранее разделы
# в настройке RAID. Указывайте правильные номера разделов
# для логических разделов. Поддерживается RAID 0, 1, 5, 6 и 10;
# устройства разделяются с помощью "#".
# Параметры:
# <raidtype> <devcount> <sparecount> <fstype> <mountpoint> \
#          <devices> <sparedevices>

#d-i partman-auto-raid/recipe string \
#    1 2 0 ext3 /                    \
#          /dev/sda1#/dev/sdb1       \
#    .                               \
#    1 2 0 swap -                    \
#          /dev/sda5#/dev/sdb5       \
#    .                               \
#    0 2 0 ext3 /home                \
#          /dev/sda6#/dev/sdb6       \
#    .

# Полностью формат набора описан в файле partman-auto-raid-recipe.txt,
# включённом в пакет debian-installer и репозиторий D-I.

# Это заставит partman сделать разметку автоматически, без подтверждения.
d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

B.4.7.3. Управление монтированием разделов

Обычно, файловые системы монтируются с использованием в качестве ключа универсального уникального идентификатора (UUID); это позволяет монтировать их правильно, даже если изменились их имена устройств. UUID-ы длинные и их сложно запоминать, поэтому, по вашему желанию, программа установки может смонтировать файловые системы основываясь на традиционных именах устройств, или на основе назначенных вами меток. Если вы укажите программе установки монтировать по меткам, то все файловые системы без метки будут смонтированы на основе UUID.

Для устройств со стабильными именами, такими как логические тома LVM, при монтировании будет продолжено использование их традиционных имён, а не UUID-ы.

[Предупреждение] Предупреждение

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

# По умолчанию, используется монтирование по UUID, но вы можете
# выбрать "traditional", чтобы использовать обычные имена устройств
# или "label", чтобы попробовать монтирование по меткам, перед
# тем как откатиться к UUID-ам.
#d-i partman/mount_style select uuid

B.4.8. Установка базовой системы

Для этого этапа, фактически, не так много автоматизируемых настроек. В основном они касаются установки ядра.

# Настроить APT для отмены автоматической установки рекомендуемых пакетов.
# Использование данного параметра может привести к установке неполноценной
# системы, и он должен использоваться только
# очень опытными пользователями.
#d-i base-installer/install-recommends boolean false

# Устанавливаемый пакет (мета) с образом ядра; можно указать «none»,
# если ядро устанавливать не нужно.
#d-i base-installer/kernel/image string linux-image-686

B.4.9. Настройка Apt

Настройка файла /etc/apt/sources.list и основных параметров конфигурации выполняется автоматически на основании метода установки и ответов на ранее заданные вопросы. Необязательно вы можете добавить другие (локальные) репозитории.

# Choose, if you want to scan additional installation media
# (default: false).
d-i apt-setup/cdrom/set-first boolean false
# You can choose to install non-free firmware.
#d-i apt-setup/non-free-firmware boolean true
# You can choose to install non-free and contrib software.
#d-i apt-setup/non-free boolean true
#d-i apt-setup/contrib boolean true
# Uncomment the following line, if you don't want to have the sources.list
# entry for a DVD/BD installation image active in the installed system
# (entries for netinst or CD images will be disabled anyway, regardless of
# this setting).
#d-i apt-setup/disable-cdrom-entries boolean true
# Uncomment this if you don't want to use a network mirror.
#d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
#d-i apt-setup/services-select multiselect security, updates
#d-i apt-setup/security_host string security.debian.org

# Additional repositories, local[0-9] available
#d-i apt-setup/local0/repository string \
#       http://local.server/debian stable main
#d-i apt-setup/local0/comment string local server
# Enable deb-src lines
#d-i apt-setup/local0/source boolean true
# URL to the public key of the local repository; you must provide a key or
# apt will complain about the unauthenticated repository and so the
# sources.list line will be left commented out.
#d-i apt-setup/local0/key string http://local.server/key
# or one can provide it in-line by base64 encoding the contents of the
# key file (with `base64 -w0`) and specifying it thus:
#d-i apt-setup/local0/key string base64://LS0tLS1CRUdJTiBQR1AgUFVCTElDIEtFWSBCTE9DSy0tLS0tCi4uLgo=
# The content of the key file is checked to see if it appears to be ASCII-armoured.
# If so it will be saved with an ".asc" extension, otherwise it gets a '.gpg' extension.
# "keybox database" format is currently not supported. (see generators/60local in apt-setup's source)

# By default the installer requires that repositories be authenticated
# using a known gpg key. This setting can be used to disable that
# authentication. Warning: Insecure, not recommended.
#d-i debian-installer/allow_unauthenticated boolean true

# Uncomment this to add multiarch configuration for i386
#d-i apt-setup/multiarch string i386

B.4.10. Выбор пакетов

Вы можете выбрать любую доступную комбинацию устанавливаемых задач. Доступные задачи:

  • standard (стандартные инструменты)

  • desktop (графический рабочий стол)

  • gnome-desktop (рабочий стол Gnome)

  • xfce-desktop (рабочий стол XFCE)

  • kde-desktop (рабочий стол KDE Plasma)

  • cinnamon-desktop (рабочий стол Cinnamon)

  • mate-desktop (рабочий стол MATE)

  • lxde-desktop (рабочий стол LXDE)

  • web-server (веб-сервер)

  • ssh-server (сервер SSH)

Также вы можете не выбирать задачи и выполнить установку списка пакетов каким-то другим способом. Мы рекомендуем всегда включать задачу standard.

Or if you don't want the tasksel dialog to be shown at all, preseed pkgsel/run_tasksel (no packages are installed via tasksel in that case).

Если вы хотите установить несколько отдельных пакетов в дополнении к пакетам, устанавливаемым задачами, то вы можете использовать параметр pkgsel/include. В значении этого параметра в качестве разделителя можно использовать запятые или пробелы, поэтому также его можно указать в командной строке ядра.

#tasksel tasksel/first multiselect standard, web-server, kde-desktop

# Or choose to not get the tasksel dialog displayed at all (and don't install
# any packages):
#d-i pkgsel/run_tasksel boolean false

# Individual additional packages to install
#d-i pkgsel/include string openssh-server build-essential
# Whether to upgrade packages after debootstrap.
# Allowed values: none, safe-upgrade, full-upgrade
#d-i pkgsel/upgrade select none

# You can choose, if your system will report back on what software you have
# installed, and what software you use. The default is not to report back,
# but sending reports helps the project determine what software is most
# popular and should be included on the first CD/DVD.
#popularity-contest popularity-contest/participate boolean false

B.4.11. Установка загрузчика

# Grub is the boot loader (for x86).

# This is fairly safe to set, it makes grub install automatically to the UEFI
# partition/boot record if no other operating system is detected on the machine.
d-i grub-installer/only_debian boolean true

# This one makes grub-installer install to the UEFI partition/boot record, if
# it also finds some other OS, which is less safe as it might not be able to
# boot that other OS.
d-i grub-installer/with_other_os boolean true

# Due notably to potential USB sticks, the location of the primary drive can
# not be determined safely in general, so this needs to be specified:
#d-i grub-installer/bootdev  string /dev/sda
# To install to the primary device (assuming it is not a USB stick):
#d-i grub-installer/bootdev  string default

# Alternatively, if you want to install to a location other than the UEFI
# parition/boot record, uncomment and edit these lines:
#d-i grub-installer/only_debian boolean false
#d-i grub-installer/with_other_os boolean false
#d-i grub-installer/bootdev  string (hd0,1)
# To install grub to multiple disks:
#d-i grub-installer/bootdev  string (hd0,1) (hd1,1) (hd2,1)

# Optional password for grub, either in clear text
#d-i grub-installer/password password r00tme
#d-i grub-installer/password-again password r00tme
# or encrypted using an MD5 hash, see grub-md5-crypt(8).
#d-i grub-installer/password-crypted password [MD5 hash]

# Use the following option to add additional boot parameters for the
# installed system (if supported by the bootloader installer).
# Note: options passed to the installer will be added automatically.
#d-i debian-installer/add-kernel-opts string nousb

Хеш MD5 для пароля на grub можно сгенерировать с помощью grub-md5-crypt или командой из примера в Раздел B.4.5, «Настройка учётной записи».

B.4.12. Завершение установки

# При установке с консоли на последовательном порту обычные виртуальные
# консоли (VT1-VT6) выключаются в /etc/inittab. Раскомментируйте
# следующую строку, чтобы этого не происходило.
#d-i finish-install/keep-consoles boolean true

# Не показывать последнее сообщение о том, что установка завершена.
d-i finish-install/reboot_in_progress note

# Не выдвигать лоток CD при перезагрузке, что иногда может пригодиться.
#d-i cdrom-detect/eject boolean false

# Остановить систему после завершения установки, а
# не перегружаться в установленную систему.
#d-i debian-installer/exit/halt boolean true
# Эта настройка позволяет выключить питание машины, а не просто остановить её.
#d-i debian-installer/exit/poweroff boolean true

B.4.13. Автоматизация других пакетов

# В зависимости от выбранного для установки ПО, или если что-то идёт
# неправильно во время процесса установки, существует вероятность появления других
# вопросов. Естественно, их тоже можно автоматизировать. Чтобы получить список
# всех возможных вопросов, которые могут быть заданы во время установки, выполните
# установку, а затем запустите следующие команды:
#   debconf-get-selections --installer > файл
#   debconf-get-selections >> файл


[20] При задании значения для locale равным en_NL, например, приведёт к установке системы с локалью по умолчанию en_US.UTF-8. Если, например, требуется en_GB.UTF-8, то значения для автоматического ответа нужно задавать отдельно для каждого параметра.