Ошибка «no /etc/kernel/proxmox-boot-uuids found, skipping ESP sync» в Proxmox: причины и решение

Сообщение no /etc/kernel/proxmox-boot-uuids found, skipping ESP sync появляется в консоли Proxmox VE при обновлении ядра или запуске утилиты proxmox-boot-tool refresh и означает, что система не нашла файл со списком UUID загрузочных разделов ESP, поэтому синхронизация загрузчика пропущена. Чаще всего это происходит на серверах, установленных в режиме Legacy (BIOS) или с ZFS без инициализации proxmox-boot-tool, а также после миграции системы на новые диски.

Само по себе предупреждение не является критической ошибкой — сервер продолжит загружаться. Однако оно сигнализирует, что ESP-разделы не обновляются автоматически, и после обновления ядра вы рискуете получить несоответствие между установленным ядром и тем, что реально загружает система. Ниже разберём, откуда берётся файл proxmox-boot-uuids, когда предупреждение безобидно, а когда требует вмешательства.

Что означает это предупреждение

Утилита proxmox-boot-tool управляет загрузочными записями на системах Proxmox, использующих systemd-boot в связке с ESP-разделами (EFI System Partition). Список UUID этих разделов хранится в файле /etc/kernel/proxmox-boot-uuids. Если файла нет, инструменту просто нечего синхронизировать — он честно сообщает об этом и завершает работу.

Типичные сценарии появления сообщения:

  • 🖥️ Система установлена в режиме Legacy BIOS с загрузчиком GRUB — в этом случае ESP и proxmox-boot-tool вообще не используются, и предупреждение безобидно.
  • 💾 Диски были заменены или система перенесена на новый носитель без повторной инициализации загрузчика.
  • 📦 Установка выполнялась сторонним способом (например, Proxmox поверх Debian вручную), и proxmox-boot-tool никогда не настраивался.
  • 🔄 Файл был удалён или потерян при восстановлении из бэкапа.

Как определить, опасно ли это в вашем случае

Первое действие — выяснить, какой загрузчик реально используется. Выполните в консоли:

proxmox-boot-tool status

Если утилита отвечает, что система не инициализирована, а efibootmgr не показывает записей или выдаёт ошибку о недоступности EFI-переменных — скорее всего, у вас Legacy-загрузка через GRUB, и предупреждение можно игнорировать. Дополнительную проверку даёт команда ls /sys/firmware/efi: отсутствие этого каталога означает, что система загружена не в UEFI-режиме.

Если же каталог существует, а proxmox-boot-tool status ругается на отсутствие инициализации — ситуация требует исправления: при UEFI-загрузке без синхронизации ESP после обновления ядра сервер может перестать загружаться, потому что на ESP останется старая версия ядра и initramfs.

📊 Как загружается ваш сервер Proxmox?
UEFI + systemd-boot (proxmox-boot-tool)
Legacy BIOS + GRUB
UEFI + GRUB
Не знаю, нужно проверить

Диагностика: пошаговая проверка

Прежде чем что-либо исправлять, пройдите короткую диагностику. Все команды выполняются от root и являются безопасными — они только читают состояние системы.

☑️ Диагностика ESP sync в Proxmox

Выполнено: 0 / 5

Обратите внимание на вывод lsblk: ESP-разделы обычно имеют файловую систему vfat (FAT32) и небольшой размер. На системах с ZFS root, установленных штатным инсталлятором Proxmox в UEFI-режиме, таких разделов может быть несколько — по одному на каждый загрузочный диск, что обеспечивает отказоустойчивость загрузки.

⚠️ Внимание: не создавайте файл /etc/kernel/proxmox-boot-uuids вручную текстовым редактором. UUID должны соответствовать реальным разделам и быть зарегистрированы через proxmox-boot-tool — иначе синхронизация запишет данные не туда или завершится ошибкой.

Исправление на UEFI-системе с ZFS

Если диагностика показала, что система работает в UEFI-режиме, а proxmox-boot-tool не инициализирован, вам нужно зарегистрировать ESP-разделы. Стандартная процедура выглядит так (подставьте свои разделы из вывода lsblk):

proxmox-boot-tool format /dev/sdX2

proxmox-boot-tool init /dev/sdX2

Команда format создаёт FAT32-раздел, init — монтирует его, копирует загрузчик и добавляет UUID в /etc/kernel/proxmox-boot-uuids. После этого выполните proxmox-boot-tool refresh и убедитесь, что предупреждение исчезло, а ядра синхронизировались.

⚠️ Внимание: команда proxmox-boot-tool format уничтожает данные на указанном разделе. Перед запуском трижды проверьте по lsblk и blkid, что раздел действительно является ESP, а не содержит данных пула ZFS или другой файловой системы.

Если у вас Legacy BIOS и GRUB

На системах с классической BIOS-загрузкой proxmox-boot-tool не используется вовсе — загрузкой управляет GRUB, а обновление ядра происходит через стандартные хуки пакетов Debian. В этом случае сообщение «skipping ESP sync» появляется из-за того, что хук обновления ядра всё равно пытается вызвать синхронизацию ESP.

Здесь ничего исправлять не нужно: предупреждение можно спокойно игнорировать. Главное — убедиться, что update-grub отрабатывает без ошибок при установке новых ядер, а в меню загрузки появляются свежие версии. Проверить это можно командой grep menuentry /boot/grub/grub.cfg.

Почему сообщение появляется даже там, где ESP нет

Пакет proxmox-kernel-helper регистрирует хук, который вызывает proxmox-boot-tool refresh при каждом обновлении ядра. Утилита универсальна и запускается независимо от типа загрузчика, поэтому на GRUB-системах просто сообщает, что список ESP не найден, и завершает работу без каких-либо изменений.

Сравнение сценариев и действий

Сводная таблица поможет быстро выбрать правильную линию поведения:

КонфигурацияОпасность предупрежденияЧто делать
Legacy BIOS + GRUBНет, информационноеИгнорировать, следить за update-grub
UEFI + systemd-boot, не инициализированВысокая: риск незагрузки после обновления ядраВыполнить proxmox-boot-tool init
UEFI + ZFS, замена дискаСредняя: ESP нового диска не в спискеformat + init для нового раздела
Proxmox поверх Debian вручнуюЗависит от загрузчикаОпределить загрузчик, затем действовать по схеме

Профилактика после замены дисков

Наиболее коварный сценарий — замена диска в ZFS-пуле. После zpool replace данные переносятся, но ESP-раздел нового диска остаётся пустым и незарегистрированным. Именно тогда при следующем обновлении ядра и всплывает «skipping ESP sync».

Возьмите за правило: любая замена загрузочного диска завершается двумя командами — proxmox-boot-tool format и proxmox-boot-tool init для нового раздела, после чего контрольный proxmox-boot-tool refresh. Это займёт пару минут, но гарантирует, что сервер загрузится с любого из оставшихся дисков.

FAQ: частые вопросы

Можно ли просто удалить пакет proxmox-boot-tool, чтобы сообщение исчезло?

Не стоит. Пакет является частью инфраструктуры обновления ядер Proxmox, и его удаление может нарушить зависимости. На GRUB-системах проще игнорировать предупреждение — оно не влияет на работу.

Сервер загружается нормально — значит, предупреждение точно безопасно?

Не обязательно. На UEFI-системе текущая загрузка работает со старого содержимого ESP, но после обновления ядра несинхронизированный раздел может привести к загрузке старого ядра или к сбою. Проверьте вывод proxmox-boot-tool status.

Как узнать, какие ядра сейчас на ESP-разделе?

Смонтируйте ESP вручную или выполните proxmox-boot-tool kernel list — утилита покажет список ядер, зарегистрированных для загрузки, и пометит те, что ожидают синхронизации.

После proxmox-boot-tool init появилась ошибка монтирования — что делать?

Проверьте, что раздел отформатирован в FAT32 (blkid /dev/sdXN) и не занят другой точкой монтирования. Также убедитесь, что в /etc/fstab нет конфликтующих записей для этого UUID.

Влияет ли это предупреждение на виртуальные машины?

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