Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Оплата
Новости
Доставка
Загрузки
Форум
Настройка
    info@proxmox.su
    +7 (495) 320-70-49
    Заказать звонок
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Аспро: ЛайтШоп
    Телефоны
    +7 (495) 320-70-49
    Заказать звонок
    0
    0
    0
    Аспро: ЛайтШоп
    • +7 (495) 320-70-49
      • Назад
      • Телефоны
      • +7 (495) 320-70-49
      • Заказать звонок
    • info@proxmox.su
    • Москва, Бакунинская улица, 69с1
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Proxmox Виртуальная Среда
    [РЕШЕНО] Обновление Proxmox VE с версии 8 до 9 на выделенных серверах OVH

    Форумы: Proxmox Виртуальная Среда, Proxmox Backup Server, Proxmox Mail Gateway, Proxmox Datacenter Manager
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    [РЕШЕНО] Обновление Proxmox VE с версии 8 до 9 на выделенных серверах OVH, Proxmox Виртуальная Среда
     
    jf2021
    Guest
    #1
    0
    18.08.2025 10:31:00
    Привет. После небольших мучений с обновлением Proxmox с версии 8 до 9 на серверах под управлением OVH, я решил объяснить, как мне удалось это сделать. Во-первых, это не универсальное руководство, а просто описание того, как я решил свою проблему на двух своих серверах (один "So-yo-start SYS-LE-2" и один "ADVANCE-1 | AMD EPYC 4244P"). У вас может быть другая конфигурация, модель сервера, таблица разделов, RAID и так далее... Так что используйте с умом. Сначала сделайте бэкап и не делайте этого на боевых серверах...

    Серверы оснащены двумя SSD по 1 ТБ, используют программный RAID и LVM-раздел для /var/lib/vz. ZFS нет.

    Сначала я обновлял их по официальному гайду (https://pve.proxmox.com/wiki/Upgrade_from_8_to_9):

    - Сделать резервную копию всего
    - Выключить все ВМ
    - Проверить, что всё в порядке

    Команда: pve8to9  
    pve8to9 --full

    Обновиться до последней версии Proxmox 8  
    Команда: apt update && apt dist-upgrade

    Проверить, что версия 8.4.1+  
    Команда: pveversion  
    pve-manager/8.4.11/14a32011146091ed (kernel 6.8.12-13-pve)

    Сменить репозиторий  
    Команда:  
    sed -i 's/bookworm/trixie/g' /etc/apt/sources.list  
    sed -i 's/bookworm/trixie/g' /etc/apt/sources.list.d/*

    Обновить  
    Команды:  
    apt update  
    apt dist-upgrade

    Во время процесса проверяйте отличия в конфигурациях и принимайте решения

    # Перезагрузка  
    Команда: reboot

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

    -----------------  
    [ОБНОВЛЕНО 29.08.2025]
    ПРОПУСТИТЕ ОСТАЛЬНУЮ ЧАСТЬ ЭТОГО СООБЩЕНИЯ И ПЕРЕЙДИТЕ К СЛЕДУЮЩЕМУ ПОСТУ @sbraz: КОМАНДА OVH ПРЕДОСТАВИЛА ПРАВИЛЬНОЕ РЕШЕНИЕ ЭТОЙ ПРОБЛЕМЫ  
    Если вы уже применили моё решение ниже, проверьте порядок загрузки EFI через efibootmgr и восстановите PXE на первое место, если его там нет  
    -----------------

    Я загрузился в режиме восстановления и решил переустановить и перенастроить grub-efi-amd64. Не уверен, что все эти шаги были обязательны, но именно так удалось запустить сервера снова.

    Итак, в режиме rescue:

    Определение разделов и точек монтирования для монтирования /root  
    Команда: lsblk -f

    У меня выглядело примерно так:  
    nvme0n1  
    ├─nvme0n1p1   vfat              FAT16            EFI_SYSPART  
    ├─nvme0n1p2   linux_raid_member 1.2              md2  
    │ └─md2       ext4              1.0              boot  
    ├─nvme0n1p3   linux_raid_member 1.2              md3  
    │ └─md3       ext4              1.0              root  
    ├─nvme0n1p4   swap              1                swap-nvme0n1p4  
    ├─nvme0n1p5   linux_raid_member 1.2              md5  
    │ └─md5       LVM2_member       LVM2 001  
    │   └─vg-data ext4              1.0              var-lib-vz  
    ├─nvme0n1p6   linux_raid_member 1.2              md6  
    │ └─md6       ext4              1.0              var-log  
    └─nvme0n1p7   iso9660           Joliet Extension config-2  
    nvme1n1  
    ├─nvme1n1p1   vfat              FAT16            EFI_SYSPART  
    ├─nvme1n1p2   linux_raid_member 1.2              md2  
    │ └─md2       ext4              1.0              boot  
    ├─nvme1n1p3   linux_raid_member 1.2              md3  
    │ └─md3       ext4              1.0              root  
    ├─nvme1n1p4   swap              1                swap-nvme1n1p4  
    ├─nvme1n1p5   linux_raid_member 1.2              md5  
    │ └─md5       LVM2_member       LVM2 001  
    │   └─vg-data ext4              1.0              var-lib-vz  
    └─nvme1n1p6   linux_raid_member 1.2              md6  
    └─md6       ext4              1.0              var-log

    Подготовить каталог /mnt, если его нет  
    Команда: mkdir -p /mnt

    Смонтировать разделы boot и root согласно таблице разделов  
    Команды:  
    mount /dev/md3 /mnt  
    mount /dev/md2 /mnt/boot

    Смонтировать первый EFI-раздел (на первом SSD)  
    Команда: mount /dev/nvme0n1p1 /mnt/boot/efi

    Подготовка к chroot  
    Команды:  
    mount --bind /dev /mnt/dev  
    mount --bind /proc /mnt/proc  
    mount --bind /sys /mnt/sys  
    mount --bind /dev/pts /mnt/dev/pts

    Chroot, чтобы переустановить grub  
    Команда: chroot /mnt /bin/bash

    Переустановка grub-efi-amd64 и shim-signed загрузчика  
    Команды:  
    apt update  
    apt install --reinstall grub-efi-amd64 shim-signed  
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=proxmox --recheck --no-floppy  
    update-grub  
    grub-install /dev/nvme0n1  
    grub-install /dev/nvme1n1

    Появлялись предупреждения: warning: EFI variables cannot be set on this system.  
    warning: You will have to complete the GRUB setup manually.

    Поэтому я смонтировал efivarfs, чтобы проверить записи в менеджере загрузки  
    Команда: mount -t efivarfs efivarfs /sys/firmware/efi/efivars

    Проверить записи загрузчика  
    Команда: efibootmgr -v

    Если proxmox отсутствует:  
    Команда: efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "proxmox" --loader '\EFI\proxmox\grubx64.efi'

    Иначе проверить правильность настроек. Если настройки неправильные — удалить и создать запись proxmox заново  
    Команды:  
    efibootmgr -b <ID_ЗАПИСИ_ДЛЯ_УДАЛЕНИЯ> -B  
    efibootmgr --create --disk /dev/nvme0n1 --part 1 --label "proxmox" --loader '\EFI\proxmox\grubx64.efi'

    Отмонтировать efivarfs  
    Команда: umount /sys/firmware/efi/efivars

    Выйти из chroot  
    Команда: exit

    Отмонтировать первый EFI-раздел  
    Команда: umount /mnt/boot/efi

    Смонтировать второй EFI-раздел: EFI-разделы не входят в RAID, поэтому для консистентности я установил grub на оба. Не уверен, что это обязательно.  
    Команда: mount /dev/nvme1n1p1 /mnt/boot/efi

    Chroot и переустановка grub на второй раздел  
    Команды:  
    chroot /mnt /bin/bash  
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=proxmox --recheck --no-floppy

    Выйти из chroot  
    Команда: exit

    Отмонтировать все точки монтирования  
    Команда: umount -R /mnt

    Перезагрузиться, держим кулаки...  
    Команда: reboot

    И именно это сработало для меня.
     
     
     
    autra
    Guest
    #2
    0
    12.09.2025 16:20:00
    Подтверждаю, что это исправляет загрузку нашего инстанса Proxmox. @sbraz, у меня проблема появилась после обычного "apt upgrade". Нужно ли делать это при каждом обновлении Proxmox, которое затрагивает grub? Будет ли в будущем более постоянное решение?
     
     
     
    sbraz
    Guest
    #3
    0
    12.09.2025 17:05:00
    Привет, @autra! Какую версию PVE ты используешь? Ты не замечал, что недавно была крупная версия GRUB — с 2.06 до 2.12? Проверь командой zgrep -w "upgrade grub" /var/log/dpkg.log*. Небольшие обновления GRUB не должны ломать совместимость между EFI-приложением в /boot/efi и модулями GRUB в /boot. Правильное решение, чтобы избежать таких проблем в будущем — разместить ESP сверху массива md RAID. Мы планируем так делать при новых установках ОС, но я могу постараться написать для тебя инструкцию, как это сделать на уже существующей системе. Хотел бы?
     
     
     
    MarkusKo
    Guest
    #4
    0
    12.09.2025 17:23:00
    @autra Не используй apt upgrade на PVE. Всегда используй apt full-upgrade или apt dist-upgrade, иначе может получиться так, что некоторые пакеты pve обновятся не должным образом.
     
     
     
    _gabriel
    Guest
    #5
    0
    12.09.2025 17:38:00
    Насколько я знаю, BIOS не умеет читать md RAID. Вот почему существует Proxmox Boot Tool, который синхронизирует каждый ESP-раздел загрузки.
     
     
     
    sbraz
    Guest
    #6
    0
    12.09.2025 17:42:00
    Если RAID создан с версией 0.90 или 1.0, суперблок находится в конце раздела. Обычно это означает, что BIOS воспринимает ESP на RAID как обычный FAT-раздел. Мы пока не смогли проверить это на всех устройствах, поэтому по этой причине сейчас так не делаем. Какую модель вашей платы, если не секрет? Может быть, у меня есть такая, и я смогу протестировать.
     
     
     
    autra
    Guest
    #7
    0
    23.09.2025 09:03:00
    Я использую версию 8.4.13. В этих dpkg.log у меня есть:  
    Код:  
    /var/log/dpkg.log:2025-09-12 10:30:32 upgrade grub-efi-amd64:amd64 2.06-13+pmx2 2.06-13+pmx7  
    /var/log/dpkg.log:2025-09-12 10:30:32 upgrade grub-efi-amd64-bin:amd64 2.06-13+pmx2 2.06-13+pmx7  
    /var/log/dpkg.log:2025-09-12 10:30:33 upgrade grub-common:amd64 2.06-13+pmx2 2.06-13+pmx7  
    /var/log/dpkg.log.8.gz:2025-01-14 18:44:54 upgrade grub-efi-amd64:amd64 2.06-3~deb11u6 2.06-13+pmx2  
    /var/log/dpkg.log.8.gz:2025-01-14 18:44:54 upgrade grub-efi-amd64-bin:amd64 2.06-3~deb11u6 2.06-13+pmx2  
    /var/log/dpkg.log.8.gz:2025-01-14 18:44:54 upgrade grub-common:amd64 2.06-3~deb11u6 2.06-13+pmx2  

    Так что серьезных обновлений давно не было. Это здорово, да, спасибо!
     
     
     
    sbraz
    Guest
    #8
    0
    25.09.2025 00:28:00
    Привет, @autra, я так и не до конца понял, что у тебя произошло. Если хочешь разобраться глубже, стоит сравнить содержимое всех твоих ESP. Что касается конвертации md RAID, я в итоге написал скрипт вместо руководства, потому что подумал, что это будет полезнее. Я протестировал его на 70 свежих серверах с Proxmox VE 8 и разным железом — работает нормально, но, возможно, пропустил какие-то редкие случаи. Вот сам скрипт, ПРЕДОСТАВЛЯЕТСЯ "КАК ЕСТЬ" БЕЗ ГАРАНТИЙ, ИСПОЛЬЗУЙ НА СВОЙ СТРАХ И РИСК, ЗАПУСКАЙ ТОЛЬКО ЕСЛИ ПОНИМАЕШЬ, ЧТО ОН ДЕЛАЕТ: https://gist.github.com/sbraz/0b58302a244cf1767b931b95226fefb8

    После запуска нужно добавить новый RAID-массив в mdadm.conf и пересобрать initramfs, чтобы в него попал обновлённый mdadm.conf. Иначе система не распознает массив и при следующей загрузке его могут собрать как /dev/md127, что вызовет путаницу. Также нужно проверить, что в fstab запись для /boot/efi валидна в новой схеме. Если ты не менял fstab с момента установки, ESP должна монтироваться по LABEL=EFI_SYSPART — это по-прежнему работает, потому что новая FAT-файловая система использует тот же ярлык.

    Пример запуска на Proxmox VE 8:

    Код:
    # Запуск скрипта
    root@test:~# ./esp_over_raid.sh
    Unmounted /boot/efi
    /dev/nvme0n1p1 — самая свежая ESP с файлом, изменённым в 2025-09-24T20:48:02+00:00
    Скопировано содержимое новой ESP в /root/efi_system_partition_data/files/
    Сделан бэкап /dev/nvme0n1p1 в /root/efi_system_partition_data/nvme0n1p1
    Удаление подписей с /dev/nvme0n1p1
    Подписи удалены с /dev/nvme0n1p1
    Сделан бэкап /dev/nvme1n1p1 в /root/efi_system_partition_data/nvme1n1p1
    Удаление подписей с /dev/nvme1n1p1
    Подписи удалены с /dev/nvme1n1p1
    Создание RAID1 устройства /dev/md0
    mdadm: размер установлен в 523200K
    mdadm: массив /dev/md0 запущен.
    Создание FAT-файловой системы на /dev/md0
    Копирование содержимого ESP на /dev/md0, смонтированный в /boot/efi
    ESP теперь на RAID1:
    NAME        MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
    md0           9:0    0 510.9M  0 raid1 /boot/efi
    ├─nvme1n1p1 259:1    0   511M  0 part  
    │ └─nvme1n1 259:0    0 419.2G  0 disk  
    └─nvme0n1p1 259:7    0   511M  0 part  
     └─nvme0n1 259:6    0 419.2G  0 disk  
    Скрипт завершён успешно, проверь, пожалуйста, запись /boot/efi в /etc/fstab, обнови mdadm.conf и пересобери initramfs

    # Обновление mdadm.conf, например, через mkconf в Debian
    root@test:~# cp /etc/mdadm/mdadm.conf .
    root@test:~# /usr/share/mdadm/mkconf force-generate
    root@test:~# diff -u -I '^#' mdadm.conf /etc/mdadm/mdadm.conf
    --- mdadm.conf    2025-09-24 21:39:10.113286805 +0000
    +++ /etc/mdadm/mdadm.conf    2025-09-24 21:42:29.457819759 +0000
    @@ -18,6 +18,7 @@
    MAILADDR root

    # описания существующих MD-массивов
    +ARRAY /dev/md0 UUID=4845c9d4:caf2d945:e58f4aa9:a69bb1cc
    ARRAY /dev/md/md2  metadata=1.2 UUID=c1b98502:0c9041aa:52f8b1ff:654bf40e name=md2
    ARRAY /dev/md/md3  metadata=1.2 UUID=76f7a921:78a279e2:5fdf9df1:cb4e0b06 name=md3
    ARRAY /dev/md/md5  metadata=1.2 UUID=e0b7ff4f:ead83485:705fa843:4f2607bc name=md5

    # Пересборка initramfs с обновлённым mdadm.conf
    root@test:~# update-initramfs -u
    update-initramfs: Генерируется /boot/initrd.img-6.8.12-15-pve
    setupcon отсутствует. Пожалуйста, установите пакет 'console-setup'.
    Запуск хука 'zz-proxmox-boot'...
    Повторный запуск '/etc/kernel/postinst.d/zz-proxmox-boot' в новом приватном пространстве монтирования...
    Файл /etc/kernel/proxmox-boot-uuids не найден, пропускаю синхронизацию ESP.

    # Проверяем, что запись /boot/efi в fstab работает
    root@test:~# grep /boot/efi /etc/fstab
    LABEL=EFI_SYSPART    /boot/efi    vfat    defaults    0    1
    root@test:~# umount /boot/efi
    root@test:~# mount /boot/efi

    # Проверяем, что сервер перезагружается
    root@test:~# reboot

    Несколько заметок о скрипте: его можно запускать как на самом Proxmox, так и из rescue-системы. Единственная разница — если запускаешь там, где /boot/efi не смонтирован, скрипт в конце его не монтирует обратно. Если работаешь из rescue, для обновления mdadm.conf и пересборки initramfs нужно будет зайти в chroot Proxmox. Скрипт должен работать на всех дистрибутивах Linux, я проверял на AlmaLinux 10 и Rocky Linux 10. Требуется только bash, util-linux, dosfstools и rsync. Он опирается на mtime файлов в ESP, чтобы понять, какая из них актуальная. Иногда это может привести к выбору не той ESP. Если так случится, просто переустанови GRUB командой grub-install --no-nvram (опция --no-nvram не меняет порядок загрузки; если её не указать, сервер при загрузке может перейти сразу к диску, и тогда вызов rescue станет невозможен). Скрипт сильно зависит от метки EFI_SYSPART. Не назначай эту метку для чего-то другого — иначе повредишь эти разделы. Он создаёт бэкап всех ESP, так что при необходимости можно вернуть старую конфигурацию с несколькими отдельными ESP (например, с помощью dd). Заметь, что каждый бэкап занимает около 511 МиБ.

    Также: мы собираемся внедрить подобную схему для всех новых установок. Сейчас продолжаем тестировать, чтобы всё работало на всём железе, которое мы предлагаем. Надеемся переключиться в ближайшие недели. Если ты установил Proxmox до июня 2024, скорее всего, атрибут efiBootloaderPath у твоего сервера не задан. Это означает, что rEFInd при загрузке сканирует ESP в поисках .efi-файлов. Это не очень хорошо — rEFInd может выбрать не grubx64.efi, да и загрузка идет медленнее. Чтобы ускорить процесс и дать iPXE самостоятельно загрузить GRUB, установи efiBootloaderPath в \efi\proxmox\grubx64.efi (регистр не важен) с помощью этого API маршрута. Не забудь экранировать обратные слэши в JSON, вот пример:

    JSON: {
     "efiBootloaderPath": "\\efi\\proxmox\\grubx64.efi"
    }
     
     
     
    tomatoschewps
    Guest
    #9
    0
    26.09.2025 15:40:00
    Отлично, один из моих лабораторных pve (OVHcloud/KS) завис в BIOS при перезагрузке после обновления с pve8 на pve9 (пришлось вручную выбрать один из системных дисков, чтобы продолжить загрузку). Использовал скрипт и инструкции от @sbraz, теперь загрузка проходит нормально без ручного вмешательства! Спасибо!
     
     
     
    privacytogether
    Guest
    #10
    0
    28.09.2025 08:00:00
    Та же проблема возникла у меня при обновлении с PVE8 до PVE9 на выделенном сервере OVH. Обновление прошло нормально, но после перезагрузки начались сложности. Вот несколько скриптов, которые я сделал, чтобы решить свои проблемы.

    Моя схема дисков (4×2 ТБ Soft raid с ZFS):

    Code: lsblk -f  
    NAME   FSTYPE     FSVER            LABEL        MOUNTPOINTS  
    sda                                          
    ├─sda1 vfat       FAT16            EFI_SYSPART   /boot/efi  
    ├─sda2 zfs_member 5000             zp0                                        
    ├─sda3 swap       1                swap-sda3                  
    ├─sda4 zfs_member 5000             data0                                      
    └─sda5 iso9660    Joliet Extension config-2                                
    sdb                                          
    ├─sdb1 vfat       FAT16            EFI_SYSPART                                          
    ├─sdb2 zfs_member 5000             zp0                        
    ├─sdb3 swap       1                swap-sdb3                  
    └─sdb4 zfs_member 5000             data0                                      
    sdc                                          
    ├─sdc1 zfs_member 5000             data1                                      
    └─sdc9                                        
    sdd                                          
    ├─sdd1 zfs_member 5000             data1                                      
    └─sdd9                                                                                            
    nbd0  

    Сначала мне нужно примонтировать диски ZFS в режиме восстановления:

    Code: #!/bin/bash  
    #  
    # Этот скрипт монтирует корневой и загрузочный датасеты ZFS, монтирует EFI-раздел,  
    # связывает необходимые системные каталоги и входит в chroot-окружение.  
    # Используется в режиме восстановления для восстановления или ремонта системы на базе ZFS.  
    #  
    # Запускать под root в режиме восстановления  

    set -e  

    POOL="zp0"  
    MOUNTROOT="/mnt"  
    EFI_PART="/dev/sda1"   # изменить, если EFI находится в другом месте  
    EFI_MNT="$MOUNTROOT/boot/efi"  

    # ------------------------------  
    # Шаг 1: Импорт пула ZFS, если он ещё не импортирован  
    # ------------------------------  
    if ! zpool list "$POOL" &>/dev/null; then  
       echo "[1/6] Импорт пула $POOL..."
       zpool import -f -R "$MOUNTROOT" "$POOL"  
    else  
       echo "[1/6] $POOL уже импортирован"
    fi  

    # ------------------------------  
    # Шаг 2: Установка точек монтирования  
    # ------------------------------  
    echo "[2/6] Установка точек монтирования для root и boot..."
    zfs set mountpoint=/ "$POOL/zd1"  
    zfs set mountpoint=/boot "$POOL/zd0"  

    # ------------------------------  
    # Шаг 3: Монтирование всех датасетов  
    # ------------------------------  
    echo "[3/6] Монтирование всех датасетов ZFS..."
    zfs mount -a  

    # ------------------------------  
    # Шаг 4: Монтирование EFI-раздела  
    # ------------------------------  
    echo "[4/6] Монтирование EFI-раздела $EFI_PART в $EFI_MNT..."
    mkdir -p "$EFI_MNT"  
    mount | grep -q "$EFI_MNT" || mount "$EFI_PART" "$EFI_MNT"  

    # ------------------------------  
    # Шаг 5: Привязка системных директорий  
    # ------------------------------  
    echo "[5/6] Привязка /dev, /proc, /sys, /run..."
    for dir in dev proc sys run; do  
       mkdir -p "$MOUNTROOT/$dir"  
       mount --bind "/$dir" "$MOUNTROOT/$dir"  
    done  

    # ------------------------------  
    # Шаг 6: Вход в chroot  
    # ------------------------------  
    echo "[6/6] Вход в chroot..."
    chroot "$MOUNTROOT" /bin/bash  

    Дальше я сначала проверяю, что конкретно не так со скриптом:

    Code: #!/bin/bash  
    #  
    # Этот скрипт проверяет состояние пула ZFS, датасеты, точки монтирования, EFI-раздел, конфигурацию GRUB и initramfs  
    # внутри chroot среды восстановления. Используется для проверки загрузки и настройки ZFS перед перезагрузкой.  
    #  

    set -e  

    echo "=== [1/6] Статус пула ZFS ==="
    zpool status  
    echo  

    echo "=== [2/6] Датасеты ZFS ==="
    zfs list -o name,mountpoint,readonly,canmount  
    echo  

    echo "=== [3/6] Проверка readonly и точек монтирования ==="
    for ds in zp0/zd1 zp0/zd0; do  
       echo "$ds readonly:"  
       zfs get readonly "$ds"  
       echo "$ds mountpoint:"  
       zfs get mountpoint "$ds"  
       echo  
    done  

    echo "=== [4/6] Проверка монтирования ==="
    mount | grep zp0 || echo "Датасеты zp0 не смонтированы"  
    echo  

    echo "=== [5/6] EFI-раздел ==="
    lsblk -f | grep EFI_SYSPART  
    mount | grep /boot/efi || echo "/boot/efi не смонтирован"  
    echo "Содержимое /boot/efi/EFI:"  
    ls -1 /boot/efi/EFI || echo "Загрузочных записей EFI не найдено"  
    echo  

    echo "=== [6/6] GRUB и initramfs ==="
    echo "Проверка записей root=ZFS в grub.cfg:"  
    grep "root=ZFS=" /boot/grub/grub.cfg || echo "Записей root=ZFS не найдено"  
    echo  
    echo "Проверка включения ZFS в initramfs:"  
    for k in $(ls /boot/initrd.img*); do  
       echo "$k содержит модули ZFS:"  
       lsinitramfs "$k" | grep -E 'zfs|zpool' || echo "Модули ZFS не найдены"  
    done  
    echo  
    echo "Проверка кэша ZFS:"  
    ls -l /etc/zfs/zpool.cache || echo "/etc/zfs/zpool.cache отсутствует"  

    echo  
    echo "✅ Если все выводы OK, загрузка должна пройти успешно!"  

    Далее мой скрипт для реальной починки:

    Code: #!/bin/bash  
    #  
    # Этот скрипт ремонтирует загрузку в chroot среде восстановления:  
    # - Обновляет initramfs для всех ядер  
    # - Переустанавливает GRUB (UEFI)  
    # - Регенерирует конфигурацию GRUB  
    # - Обновляет кеш ZFS  
    # - Синхронизирует диски перед перезагрузкой  

    set -euo pipefail  

    echo "=== [1/5] Обновление initramfs для всех ядер ==="
    for k in $(ls /lib/modules); do  
       echo " -> Ядро: $k"  
       update-initramfs -c -k $k || update-initramfs -u -k $k  
    done  

    echo "=== [2/5] Переустановка GRUB (UEFI) ==="
    # при необходимости изменить --bootloader-id (отображается в BIOS меню загрузки)  
    grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=Proxmox --recheck  

    echo "=== [3/5] Регенерация конфигурации GRUB ==="
    update-grub  

    echo "=== [4/5] Обновление кеш-файла ZFS ==="
    for pool in $(zpool list -H -o name); do  
       echo " -> Установка cachefile для $pool"  
       zpool set cachefile=/etc/zfs/zpool.cache "$pool" || true  
    done  

    echo "=== [5/5] Синхронизация дисков ==="
    sync  

    echo "✅ Ремонт загрузки завершён. Выйдите из chroot и аккуратно размонтируйте/экспортируйте пулы перед перезагрузкой."  

    Перед повторной загрузкой на жёсткий диск можно снова воспользоваться скриптом для проверки. Надеюсь, кто-то найдёт это полезным.
     
     
     
    sbraz
    Guest
    #11
    0
    28.09.2025 09:45:00
    Привет, @privacytogether, я не вижу части, где вы синхронизируете ESP. Возможно, строка, которая у вас всё исправляет, — это когда вы переустанавливаете GRUB без опции --no-nvram, в результате система загружается напрямую с актуального ESP, что я не рекомендую, так как это может нарушить загрузку в режиме спасения. Теперь, когда система у вас исправлена, я всё же советую сравнить оба файла grubx64.efi и убедиться, что они обновлены.
     
     
     
    privacytogether
    Guest
    #12
    0
    28.09.2025 15:30:00
    Спасибо, что указал, @sbraz. Я проверил, и /boot/efi монтировался с /dev/sda1, в то время как последний ESP с обновлёнными файлами GRUB был на /dev/sdb1. Я запустил твой скрипт синхронизации ESP, чтобы убедиться, что всё в порядке. Теперь всё нормально, спасибо!
     
     
     
    sbraz
    Guest
    #13
    0
    09.10.2025 20:04:00
    К вашему сведению, начиная с 12 ноября 2025 года, все новые установки Proxmox VE 9 и Debian 13, выполняемые через панель управления OVHcloud, будут иметь один ESP поверх RAID1. Это касается только серверов с загрузкой через UEFI и несколькими дисками для установки. Связанный статус задачи доступен по ссылке https://bare-metal-servers.status-ovhcloud.com/incidents/vtfc86l7mmr8. Дополнительные детали и вопросы по этому изменению обсуждаются в теме на форуме.
     
     
     
    Dead-Red
    Guest
    #14
    0
    09.11.2025 18:24:00
    @sbraz : ===> ОГРОМНОЕ СПАСИБО <=== Ты меня выручил!
     
     
     
    jobino
    Guest
    #15
    0
    20.11.2025 19:14:00
    @jf2021, ты спас мой сервер. Огромное тебе спасибо.
     
     
     
    kakata
    Guest
    #16
    0
    23.11.2025 05:51:00
    @sbraz: ===> ОГРОМНОЕ ОГРОМНОЕ ОГРОМНОЕ СПАСИБО <=== Ты меня тоже спас!
     
     
     
    weppa
    Guest
    #17
    0
    29.11.2025 09:23:00
    @sbraz Думаю, ты получишь "спасибо" от каждого клиента OVH, кто обновит свой PVE8 до 9 в ближайшие 10 месяцев... Спасибо! merci! Тебе стоит серьёзно задуматься о проактивной коммуникации: КАЖДЫЙ клиент PVE8 обязан обновиться до PVE9 до августа 2026, и все они рискуют потерять свою файловую систему...
     
     
     
    weppa
    Guest
    #18
    0
    29.11.2025 10:19:00
    Спасибо и @jf2021, извини, дружище, ты явно больше этого заслуживаешь, ведь именно ты первым поднял эту тему.
     
     
     
    Страницы: 1
    Читают тему
    +7 (495) 320-70-49
    info@proxmox.su

    Конфиденциальность Оферта
    © 2026 Proxmox.su
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры