EFI/grub grub-efi-amd64 и другие пакеты не удалось обновить на Ubuntu 24.04, облачный сервер root, нет физического доступа, RAID md1.

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

Мне нужна ваша помощь/совет.

Ситуация. У меня есть облачный сервер root без физического доступа (от меня). Он был обновлен с ubuntu 22.04 до 24.04 некоторое время назад, работает нормально. Сейчас

Get:1 http://de.archive.ubuntu.com/ubuntu noble-updates/main amd64 grub-efi-amd64 amd64 2.12-1ubuntu7.1 [52.8 kB]
Get:2 http://de.archive.ubuntu.com/ubuntu noble-updates/main amd64 grub-efi-amd64-signed amd64 1.202.2+2.12-1ubuntu7.1 [1391 kB]
Get:3 http://de.archive.ubuntu.com/ubuntu noble-updates/main amd64 grub-efi-amd64-bin amd64 2.12-1ubuntu7.1 [1635 kB]
Fetched 3079 kB in 0s (46.3 MB/s)            
Reading changelogs... Done
Preconfiguring packages ...
(Reading database ... 192459 files and directories currently installed.)
Preparing to unpack .../grub-efi-amd64_2.12-1ubuntu7.1_amd64.deb ...
Unpacking grub-efi-amd64 (2.12-1ubuntu7.1) over (2.12-1ubuntu7) ...
Preparing to unpack .../grub-efi-amd64-signed_1.202.2+2.12-1ubuntu7.1_amd64.deb ...
Unpacking grub-efi-amd64-signed (1.202.2+2.12-1ubuntu7.1) over (1.202+2.12-1ubuntu7) ...
Preparing to unpack .../grub-efi-amd64-bin_2.12-1ubuntu7.1_amd64.deb ...
Unpacking grub-efi-amd64-bin (2.12-1ubuntu7.1) over (2.12-1ubuntu7) ...
Setting up grub-efi-amd64-bin (2.12-1ubuntu7.1) ...
Setting up grub-efi-amd64 (2.12-1ubuntu7.1) ...
Installing grub to /boot/efi.
Installing for x86_64-efi platform.
grub-install: warning: Internal error.
grub-install: error: failed to register the EFI boot entry: Operation not permitted.

визуально показано на экране настройки grub-efi-amd64 экран конфигурации/установки grub-efi-amd64 с ошибкой. Выбор “нет” для непродолжения ведет к обзору и выбору системных разделов GRUB EFI и показу меню выбора grub-efi-amd64. Просто выбор ok приводит к экрану конфигурации, указывающему, что я не выбрал ни одного устройства установки для GRUB.
grub-efi-amd64 далее.

root@sonne:~# cat /etc/fstab 
/dev/md1        /boot/efi       vfat    defaults                0 2
/dev/md2        /boot/          ext3    defaults                0 2
/dev/sda3       none            swap    sw                      0 0 
/dev/sdb3       none            swap    sw                      0 0
/dev/md4        /               ext4    errors=remount-ro       0 1
root@sonne:~# efibootmgr 
BootCurrent: 0004
Timeout: 1 seconds
BootOrder: 0002,0003,0004,0001,0005
Boot0001  UEFI: Built-in EFI Shell      VenMedia(5023b95c-db26-429b-a648-bd47664c8012)0000424f
Boot0002* UEFI: PXE IP4 P0 Intel(R) I210 Gigabit  Network Connection    PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x2)/Pci(0x1,0x0)/Pci(0x0,0x0)/MAC(d05099fb8fbd,0)/IPv4(0.0.0.00.0.0.0,0,0)0000424f
Boot0003* UEFI: PXE IP4 P1 Intel(R) I210 Gigabit  Network Connection    PciRoot(0x0)/Pci(0x1,0x3)/Pci(0x0,0x2)/Pci(0x2,0x0)/Pci(0x0,0x0)/MAC(d05099fb8fbe,0)/IPv4(0.0.0.00.0.0.0,0,0)0000424f
Boot0004* ubuntu        HD(1,GPT,1284e62b-3831-4206-b5e0-ee707774d046,0x800,0xff800)/File(\EFI\UBUNTU\GRUBX64.EFI)0000424f
Boot0005  ubuntu        HD(1,GPT,ebc47eb3-961a-4db1-ab49-b939dbb5399d,0x800,0xff800)/File(\EFI\UBUNTU\GRUBX64.EFI)0000424f
root@sonne:~# l /sys/firmware/efi/
total 0
drwxr-xr-x  5 root root    0 Feb  2 08:50 ./
drwxr-xr-x  6 root root    0 Jan 29 06:00 ../
-r--r--r--  1 root root 4096 Feb  2 08:50 config_table
drwxr-xr-x  2 root root    0 Jan 29 06:00 efivars/
drwxr-xr-x  3 root root    0 Feb  2 08:50 esrt/
-r--r--r--  1 root root 4096 Feb  2 08:44 fw_platform_size
-r--r--r--  1 root root 4096 Feb  2 08:50 fw_vendor
-r--r--r--  1 root root 4096 Feb  2 08:50 runtime
drwxr-xr-x 22 root root    0 Feb  2 08:50 runtime-map/
-r--------  1 root root 4096 Feb  2 08:50 systab
root@sonne:/boot/efi/EFI/ubuntu# lsblk 
NAME    MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
loop0     7:0    0  10.1M  1 loop  /snap/canonical-livepatch/282
loop1     7:1    0  10.7M  1 loop  /snap/canonical-livepatch/286
loop2     7:2    0  52.7M  1 loop  /snap/certbot/4193
loop3     7:3    0  55.5M  1 loop  /snap/certbot/4325
loop4     7:4    0    64M  1 loop  /snap/core20/2379
loop5     7:5    0  63.7M  1 loop  /snap/core20/2434
loop6     7:6    0  73.9M  1 loop  /snap/core22/1722
loop7     7:7    0  73.9M  1 loop  /snap/core22/1748
loop8     7:8    0  66.2M  1 loop  /snap/core24/716
loop9     7:9    0  66.2M  1 loop  /snap/core24/609
loop10    7:10   0    87M  1 loop  /snap/lxd/29351
loop11    7:11   0  44.3M  1 loop  /snap/snapd/23258
loop12    7:12   0  89.4M  1 loop  /snap/lxd/31333
loop13    7:13   0  44.4M  1 loop  /snap/snapd/23545
sda       8:0    0 447.1G  0 disk  
|-sda1    8:1    0   511M  0 part  
| `-md1   9:1    0 510.9M  0 raid1 /boot/efi
|-sda2    8:2    0   1.4G  0 part  
| `-md2   9:2    0   1.4G  0 raid1 /boot
|-sda3    8:3    0   3.7G  0 part  [SWAP]
`-sda4    8:4    0 441.5G  0 part  
  `-md4   9:4    0 441.5G  0 raid1 /
sdb       8:16   0 447.1G  0 disk  
|-sdb1    8:17   0   511M  0 part  
| `-md1   9:1    0 510.9M  0 raid1 /boot/efi
|-sdb2    8:18   0   1.4G  0 part  
| `-md2   9:2    0   1.4G  0 raid1 /boot
|-sdb3    8:19   0   3.7G  0 part  [SWAP]
`-sdb4    8:20   0 441.5G  0 part  
  `-md4   9:4    0 441.5G  0 raid1 /

Перечитывая некоторые форумы, я в итоге попробовал

root@sonne:/boot/efi/EFI/ubuntu# grub-install --efi-directory=/boot/efi
Installing for x86_64-efi platform.
grub-install: warning: Internal error.
grub-install: error: failed to register the EFI boot entry: Operation not permitted.
root@sonne:/boot/efi/EFI/ubuntu# dpkg-reconfigure grub-efi-amd64

с более большим числом экранов
реконфигурация grub-efi-amd64 экран1
реконфигурация grub-efi-amd64 экран2
реконфигурация grub-efi-amd64 экран3
реконфигурация grub-efi-amd64 экран4
реконфигурация grub-efi-amd64 экран5
в результате снова

mount: /var/lib/grub/esp: unknown filesystem type 'linux_raid_member'.                                                                                                         
       dmesg(1) may have more information after failed mount system call.
Failed: grub-install --target=x86_64-efi  
WARNING: Bootloader is not properly installed, system may not be bootable
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.8.0-52-generic
Found initrd image: /boot/initrd.img-6.8.0-52-generic
Found linux image: /boot/vmlinuz-6.8.0-51-generic
Found initrd image: /boot/initrd.img-6.8.0-51-generic
Warning: os-prober will not be executed to detect other bootable partitions.
Systems on them will not be added to the GRUB boot configuration.
Check GRUB_DISABLE_OS_PROBER documentation entry.
Adding boot menu entry for UEFI Firmware Settings ...
done

И я не имею ни малейшего представления, как завершить и правильно настроить это. Когда я теперь хочу продолжить с

root@sonne:~# apt upgrade
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
1 not fully installed or removed.
After this operation, 0 B of additional disk space will be used.
Do you want to continue? [Y/n] 
[master 8317416] saving uncommitted changes in /etc prior to apt run
 1 file changed, 60 insertions(+), 40 deletions(-)
Setting up grub-efi-amd64-signed (1.202.2+2.12-1ubuntu7.1) ...

я продолжаю застревать снова с вышеуказанным

mount: /var/lib/grub/esp: unknown filesystem type 'linux_raid_member'.                                                                                                         
       dmesg(1) may have more information after failed mount system call.
dpkg: error processing package grub-efi-amd64-signed (--configure):
 installed grub-efi-amd64-signed package post-installation script subprocess returned error exit status 32
Errors were encountered while processing:
 grub-efi-amd64-signed
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

и фото 8.

Любая помощь ОЧЕНЬ ценится.
Я — для другого сервера root, также после дистрибутивного обновления с 22 до 24, я испытал бесполезность поддержки провайдера. Это закончилось переустановкой всей машины. Надеюсь, это не потребуется снова для этой машины.
Спасибо вам, ребята.

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

Ваш запрос об ошибке обновления EFI/GRUB в Ubuntu 24.04 на облачном сервере без физического доступа – задача, требующая внимательного подхода и понимания технических аспектов работы загрузчика и файловых систем в Linux. Давайте разберёмся, что может быть причиной проблемы и как её возможно решить.

Теория

Когда вы обновляете пакет grub-efi-amd64, система пытается переустановить GRUB на EFI-системный раздел, чтобы обеспечить корректное загрузочное окружение. GRUB (GRand Unified Bootloader) выполняет функцию загрузчика, который обеспечивает запуск операционной системы. Он может работать в различных режимах, включая режим BIOS и UEFI.

В вашем случае, судя по журналу, обновление завершается ошибкой с сообщением "failed to register the EFI boot entry: Operation not permitted". Это указывает, что во время установки GRUB систему не удаётся корректно зарегистрировать EFI-загрузочную запись. Как правило, это происходит по следующим причинам:

  1. Проблемы с правами доступа: Некорректные права на раздел или отсутствие необходимых привилегий для выполнения операции.
  2. Неправильная конфигурация RAID: Ваш EFI-раздел находится в RAID-массиве (/dev/md1), что может создавать сложности, так как некоторые версии EFI не поддерживают работу с RAID, особенно если формы логического тома RAID изменяются при обновлениях.
  3. Поддержка оборудования: Возможная несовместимость с конкретным оборудованием или прошивкой EFI.
  4. Ошибки в конфигурации загрузчика: Неправильная конфигурация файлов GRUB, которая может вызывать проблемы при попытке загрузчика обратиться к ядру системы.

Пример

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

Применение

  1. Проверка конфигурации разделов и RAID: Убедитесь, что ваша конфигурация RAID не мешает записи в EFI-раздел. Возможно, стоит временно отключить RAID для этого раздела, если это возможно, либо обеспечить доступ вне массива, например, через отдельную установку на каждый диск.

  2. Права и монтирование разделов: Проверьте, что /boot/efi смонтирован с правильными правами (например, через mount -o remount,rw /boot/efi). Также убедитесь, что на уровне BIOS/EFI включены все необходимые опции для разрешения записи на разделы.

  3. Использование chroot: Если система позволяет, попробуйте настроить окружение chroot (change root) из лайв-системы для выполнения изменения в безопасной среде. Это может быть выполнено через удалённое подключение или, если поддерживается, через API вашего провайдера облачных услуг.

  4. Проверка записи EFI: Используйте efibootmgr для удаления некорректных записей и попытки ручной регистрации новой записи, используя команду efibootmgr --create ..., которая может помочь в повторном создании загрузочной записи.

  5. Ручная установка GRUB: Иногда автоматические скрипты установки GRUB могут не учитывать специфические настройки вашей системы. Попробуйте вручную установить GRUB, следуя документации Ubuntu, что позволит детально контролировать каждый шаг установки. Обязательно убедитесь, что все используемые вами команды адаптированы под вашу текущую архитектуру и конфигурацию.

  6. Обновление прошивки: Проверьте, доступны ли обновления BIOS/EFI для вашего сервера. Случается, что устаревшее программное обеспечение предоставляет недостаточную поддержку для современных системных вызовов и может вызывать ошибки на уровне взаимодействия ОС с загрузочной прошивкой.

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

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

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