Вопрос или проблема
Я работаю над созданием автоматической установки на промышленном ПК. Я вручную установил Ubuntu и затем извлек следующий файл YAML для автоматической установки из /var/log/installer/autoinstall-user-data
:
#cloud-config
# Ознакомьтесь с документацией по автоматической установке по адресу:
# https://canonical-subiquity.readthedocs-hosted.com/en/latest/reference/autoinstall-reference.html
autoinstall:
apt:
disable_components: []
fallback: offline-install
geoip: true
mirror-selection:
primary:
- country-mirror
- arches: &id001
- amd64
- i386
uri: http://archive.ubuntu.com/ubuntu/
- arches: &id002
- s390x
- arm64
- armhf
- powerpc
- ppc64el
- riscv64
uri: http://ports.ubuntu.com/ubuntu-ports
preserve_sources_list: false
security:
- arches: *id001
uri: http://security.ubuntu.com/ubuntu/
- arches: *id002
uri: http://ports.ubuntu.com/ubuntu-ports
codecs:
install: false
drivers:
install: false
identity:
hostname: asdasd
password: $6$n5GGJGo5V//T7UzY$o7N1WW6cg4aWgfTcI7hrEyq9pmRgXtyhYwX5ZCS9awCxL4LfFrdF8AylRu5WcXjP/8E/GgSZ6pK8./F6uA.on/
realname: asdasd
username: asdasd
kernel:
package: linux-generic
keyboard:
layout: latam
toggle: null
variant: ''
locale: en_US.UTF-8
network:
ethernets: {}
version: 2
oem:
install: auto
source:
id: ubuntu-server
search_drivers: false
ssh:
allow-pw: true
authorized-keys: []
install-server: true
storage:
config:
- ptable: gpt
serial: SanDisk_SD9SB8W128G_21476B802930
wwn: '0x5001b448b74d56fa'
path: /dev/sda
wipe: superblock-recursive
preserve: false
name: ''
grub_device: true
id: disk-sda
type: disk
- device: disk-sda
size: 1048576
flag: bios_grub
number: 1
preserve: false
grub_device: false
offset: 1048576
path: /dev/sda1
id: partition-0
type: partition
- device: disk-sda
size: 2147483648
wipe: superblock
number: 2
preserve: false
grub_device: false
offset: 2097152
path: /dev/sda2
id: partition-1
type: partition
- fstype: ext4
volume: partition-1
preserve: false
id: format-0
type: format
- device: disk-sda
size: 125884694528
wipe: superblock
number: 3
preserve: false
grub_device: false
offset: 2149580800
path: /dev/sda3
id: partition-2
type: partition
- name: ubuntu-vg
devices:
- partition-2
preserve: false
id: lvm_volgroup-0
type: lvm_volgroup
- name: ubuntu-lv
volgroup: lvm_volgroup-0
size: 62939725824B
wipe: superblock
preserve: false
path: /dev/ubuntu-vg/ubuntu-lv
id: lvm_partition-0
type: lvm_partition
- fstype: ext4
volume: lvm_partition-0
preserve: false
id: format-1
type: format
- path: /
device: format-1
id: mount-1
type: mount
- path: /boot
device: format-0
id: mount-0
type: mount
updates: security
version: 1
Я пытался переиспользовать его в user-data
, но получаю ошибки вроде следующей:
autoinstall config did not mount root
Я также пробовал оставить раздел хранилища пустым, чтобы позволить использовать LVM по умолчанию, но получаю следующую ошибку при установке grub:
grub-install: предупреждение: Не удается установить переменную EFI Boot0000.
grub-install: предупреждение: efivarfs_set_variable: запись в fd 8 не удалась: ошибка ввода/вывода.
grub-install: предупреждение: _efi_set_variable_mode: ops->set_variable() не удалась: ошибка ввода/вывода.
grub-install: ошибка: не удалось зарегистрировать запись EFI загрузки: ошибка ввода/вывода.
Ответ или решение
При создании автоматической установки Ubuntu 24 на аппаратном обеспечении возникают специфические проблемы, которые не всегда проявляются в виртуальных машинах. Давайте рассмотрим, как можно решить проблемы, описанные в вашем вопросе.
Актуальные проблемы
-
Не удается смонтировать корневую файловую систему.
Сообщение об ошибке “autoinstall config did not mount root” может свидетельствовать о том, что проблема кроется в конфигурации разделов или диск не распознается корректно. Проверьте, правильно ли указаны пути к устройствам и разделам в конфигурации YAML. -
Ошибки установки GRUB.
Ошибки, такие как “Cannot set EFI variable Boot0000” указывают на проблемы с EFI-системами. Это может быть связано с неправильной настройкой EFI или с тем, что система не может взаимодействовать с переменными среды EFI.
Проверка конфигурации
1. Рассмотрение конфигурации хранения
Ваш файл YAML содержит раздел хранения, который указывает на конкретные устройства и разделы. Убедитесь, что вы указали правильные идентификаторы и порядок разделов.
- Возможно, имеет смысл использовать более простую конфигурацию, в том числе проверить, может ли Ubuntu самостоятельно настроить LVM и другие параметры хранения. Уберите блоки, связанные с устройствами, и позвольте системе работать с настройками по умолчанию.
Пример:
storage:
config:
- type: lvm
name: ubuntu-vg
devices:
- /dev/sda
2. Установка и настройка GRUB
Для корректной установки GRUB проверьте следующее:
- Убедитесь, что ваша система работает в режиме UEFI, если вы планируете создавать UEFI-параметры загрузки. Если ваш BIOS настроен на Legacy (или CSM), может возникнуть конфликт.
- Убедитесь, что в разделе EFI правильно настроен путь. Для этого в конфигурации autoinstall укажите соответствующий путь к EFI-разделу.
Пример:
storage:
config:
- type: disk
ptable: gpt
path: /dev/sda
wipe: superblock
preserve: false
grub_device: true
Рекомендации по диагностике
-
Загрузка в режиме Live CD:
Попробуйте загрузиться с Live CD/USB и вручную проверить доступность дисков с помощью командlsblk
иfdisk -l
. Это даст представление о том, доступны ли устройства, которые вы пытаетесь использовать в установке. -
Проверка UEFI:
Перейдите в настройки BIOS/UEFI и убедитесь, что режимы Secure Boot и Fast Boot отключены. Это может повлиять на установку GRUB. -
Обновление прошивки:
Если ваше аппаратное обеспечение поддерживает, проверьте, есть ли обновления BIOS/UEFI на сайте производителя. Неподдерживаемые функции или устаревшие версии могут вызывать проблемы. -
Использование альтернативных средств установки:
Если проблемы продолжаются, попробуйте использовать другие средства автоматической установки, такие как Preseed, либо конфигурацию в текстовом режиме или используя другой инструмент развертывания, напримерMAAS
илиMetallic
.
Заключение
Ошибки, возникающие при автоматической установке Ubuntu на физическое оборудование, часто имеют очень специфический характер. Пошаговый подход к диагностике, корректировка вашего YAML-файла и тщательная проверка настроек BIOS/UEFI могут помочь вам устранить возникшие проблемы и успешно завершить установку. Не забывайте сохранять резервные копии ваших данных перед тестированием новых конфигураций.