Не удается выполнить “apt upgrade” из-за ошибки initramfs – “update-initramfs: не удалось для /boot/initrd.img-5.15.0-86-generic с кодом 1.”

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

У меня есть виртуальная машина Ubuntu 22.04 с CloudInit на хосте Proxmox, которая хорошо работала, но недавно у меня часто возникала проблема через какое-то время (несколько дней, даже после переустановки), что я не могу обновить пакеты из-за ошибки initramfs.

apt upgrade

Вывод:

Чтение списков пакетов... Готово
Построение дерево зависимостей... Готово
Чтение информации о состоянии... Готово
Расчет обновлений... Готово
Получите больше обновлений безопасности через Ubuntu Pro с включенным 'esm-apps':
  gsasl-common libgsasl7 ruby-rack
Узнайте больше об Ubuntu Pro на https://ubuntu.com/pro
0 обновлено, 0 ново установлено, 0 для удаления и 0 не обновлено.
1 не полностью установлен или удален.
После этой операции будет использовано 0 B дополнительного дискового пространства.
Вы хотите продолжить? [Y/n] Y
Настройка initramfs-tools (0.140ubuntu13.4) ...
update-initramfs: откладываю обновление (триггер активирован)
Обработка триггеров для initramfs-tools (0.140ubuntu13.4) ...
update-initramfs: Генерация /boot/initrd.img-5.15.0-86-generic
E: /usr/share/initramfs-tools/hooks/btrfs завершилось с кодом возврата 1.
update-initramfs: не удалось для /boot/initrd.img-5.15.0-86-generic с 1.
dpkg: ошибка при обработке пакета initramfs-tools (--configure):
 установленный пакет initramfs-tools вернул статус выхода 1 из скрипта постинсталляции
Во время обработки возникли ошибки:
 initramfs-tools
needrestart пропускается, так как dpkg завершился с ошибкой
E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)

Я искал в интернете, но не смог найти действительное решение. На недавнем хосте я попробовал решение удалить права доступа от хуков (btrfs,…) с помощью chmod -x /usr/share/initramfs-tools/hooks/btrfs, что исправляет команду initramfs и она “компилируется” правильно, но после перезагрузки она не находит “загрузчик” или initramfs.

Я надеюсь, что кто-то в конце концов найдет действительное стабильное решение. Спасибо!

Похоже, вы испытываете проблемы с обновлением initramfs во время обновления пакетов на вашей виртуальной машине Ubuntu 22.04, что приводит к проблемам с загрузкой. Сообщение об ошибке указывает на проблему с хуком btrfs во время обновления initramfs. Сначала вы должны вернуть изменение, которое вы сделали, убрав права на выполнение от хука btrfs.

sudo chmod +x /usr/share/initramfs-tools/hooks/btrfs

Затем попробуйте выполнить следующие команды для обновления и перенастройки initramfs.

sudo dpkg --configure -a
sudo update-initramfs -u

Если пакет initramfs-tools по-прежнему не удается настроить, возможно, вам придется вручную удалить и переустановить его. Сначала удалите пакет. Затем переустановите его.

sudo apt install initramfs-tools

Убедитесь, что пакеты вашей системы в хорошем состоянии, выполнив.

sudo apt update
sudo apt --fix-broken install

После внесения этих изменений важно перезагрузить систему, чтобы проверить, решена ли проблема с initramfs.

sudo reboot

Если проблема сохраняется после выполнения этих шагов, возможно, существует более глубокая проблема с вашей виртуальной машиной или конфигурацией хоста Proxmox. В таком случае, вам, возможно, придется провести дополнительное расследование, возможно, изучив журналы хоста Proxmox.

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

Решение проблемы с ошибкой initramfs в Ubuntu 22.04

Вы столкнулись с проблемой обновления пакетов в вашей виртуальной машине Ubuntu 22.04 из-за ошибки initramfs, связанной с пакетом initramfs-tools. Данная ошибка может возникать по различным причинам, включая сбои в скриптах и проблемы с зависимостями пакетов. В этом руководстве мы предложим последовательный план действий для устранения данной проблемы и восстановления работоспособности вашей системы.

Шаг 1: Восстановление прав доступа к скрипту btrfs

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

sudo chmod +x /usr/share/initramfs-tools/hooks/btrfs

Шаг 2: Переконфигурация пакетов

После восстановления прав на скрипт следующее действие — это запуск команды, которая попытки переконфигурировать установленные пакеты:

sudo dpkg --configure -a

Затем обновите initramfs:

sudo update-initramfs -u

Шаг 3: Устранение неполадок с инициализацией файловой системы

Если предыдущие шаги не помогли, возможна более серьезная проблема с пакетом initramfs-tools. В таком случае попробуйте удалить его и переустановить:

  1. Удалите пакет:

    sudo apt remove --purge initramfs-tools
  2. Установите его снова:

    sudo apt install initramfs-tools

Шаг 4: Исправление поврежденных пакетов

Чтобы убедиться, что все пакеты установлены правильно и нет зависших процессов их установки, выполните:

sudo apt update
sudo apt --fix-broken install

Шаг 5: Перезагрузка системы

Завершив все вышеуказанные действия, перезагрузите вашу виртуальную машину, чтобы убедиться, что проблема с initramfs устранена:

sudo reboot

Дополнительные шаги

Если проблема сохраняется даже после выполнения перечисленных шагов, рекомендуется обратить внимание на логи вашей системы и виртуальной машины. Исключите возможные конфликты между Proxmox и вашей VМ, а также проверьте конфигурацию сети. Возможно, проблема более глубокая и требует дополнительного анализа настроек и логов.

Заключение

Эти шаги должны помочь вам решить проблему с ошибкой initramfs на вашей Ubuntu 22.04 VM. Регулярное обновление системы и мониторинг её состояния помогут избежать подобных ситуаций в будущем. Если ошибка будет возникать снова, возможно, потребуется более детальное исследование окружения Proxmox или конфигурации виртуальной машины.

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

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