由于 initramfs 错误而无法“apt upgrade”-“update-initramfs:/boot/initrd.img-5.15.0-86-generic 1 失败。”

由于 initramfs 错误而无法“apt upgrade”-“update-initramfs:/boot/initrd.img-5.15.0-86-generic 1 失败。”

我在 Proxmox Host 上有一个带有 CloudInit 的 Ubuntu 22.04 VM,运行良好,但最近一段时间后(几天甚至重新安装后)我经常遇到这样的问题:由于 initramfs 错误,我无法升级软件包。

apt upgrade

输出:

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Calculating upgrade... Done
Get more security updates through Ubuntu Pro with 'esm-apps' enabled:
  gsasl-common libgsasl7 ruby-rack
Learn more about Ubuntu Pro at https://ubuntu.com/pro
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] Y
Setting up initramfs-tools (0.140ubuntu13.4) ...
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.140ubuntu13.4) ...
update-initramfs: Generating /boot/initrd.img-5.15.0-86-generic
E: /usr/share/initramfs-tools/hooks/btrfs failed with return 1.
update-initramfs: failed for /boot/initrd.img-5.15.0-86-generic with 1.
dpkg: error processing package initramfs-tools (--configure):
 installed initramfs-tools package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 initramfs-tools
needrestart is being skipped since dpkg has failed
E: Sub-process /usr/bin/dpkg returned an error code (1)

我在网上搜索,但找不到有效的解决方案。在最近的主机上,我尝试了一种解决方案,即使用 从钩子(btrfs,...)中删除权限chmod -x /usr/share/initramfs-tools/hooks/btrfs,这修复了 initramfs 命令并使其“编译”正确,但重新启动后,它最终找不到“引导加载程序”或 initramfs。

我希望有人最终能找到一个有效且稳定的解决方案。谢谢!

答案1

您似乎在 Ubuntu 22.04 VM 上的软件包升级期间遇到了 initramfs 更新问题,这导致了启动问题。错误消息表明更新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

如果按照这些步骤操作后问题仍然存在,则可能是您的 VM 或 Proxmox 主机配置存在更深层次的问题。在这种情况下,您可能需要进一步调查,可能需要检查 Proxmox 主机日志。

相关内容