Ubuntu 24 автозагрузчик работает в виртуальной машине, но не работает на аппаратном обеспечении.

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

Я работаю над созданием автоматической установки на промышленном ПК. Я вручную установил 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 на аппаратном обеспечении возникают специфические проблемы, которые не всегда проявляются в виртуальных машинах. Давайте рассмотрим, как можно решить проблемы, описанные в вашем вопросе.

Актуальные проблемы

  1. Не удается смонтировать корневую файловую систему.
    Сообщение об ошибке “autoinstall config did not mount root” может свидетельствовать о том, что проблема кроется в конфигурации разделов или диск не распознается корректно. Проверьте, правильно ли указаны пути к устройствам и разделам в конфигурации YAML.

  2. Ошибки установки 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

Рекомендации по диагностике

  1. Загрузка в режиме Live CD:
    Попробуйте загрузиться с Live CD/USB и вручную проверить доступность дисков с помощью команд lsblk и fdisk -l. Это даст представление о том, доступны ли устройства, которые вы пытаетесь использовать в установке.

  2. Проверка UEFI:
    Перейдите в настройки BIOS/UEFI и убедитесь, что режимы Secure Boot и Fast Boot отключены. Это может повлиять на установку GRUB.

  3. Обновление прошивки:
    Если ваше аппаратное обеспечение поддерживает, проверьте, есть ли обновления BIOS/UEFI на сайте производителя. Неподдерживаемые функции или устаревшие версии могут вызывать проблемы.

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

Заключение

Ошибки, возникающие при автоматической установке Ubuntu на физическое оборудование, часто имеют очень специфический характер. Пошаговый подход к диагностике, корректировка вашего YAML-файла и тщательная проверка настроек BIOS/UEFI могут помочь вам устранить возникшие проблемы и успешно завершить установку. Не забывайте сохранять резервные копии ваших данных перед тестированием новых конфигураций.

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

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