Ubuntu Server 20.04LTS重装initramfs-tools失败,请求解决方法
Ubuntu Server 20.04LTS重装initramfs-tools失败,请求解决方法
看起来你在Ubuntu Server 20.04 LTS上重装initramfs-tools时碰到了生成initrd镜像失败的问题,我从你提供的日志里梳理了关键问题点,下面给你分步解决的建议:
核心错误分析
日志里最关键的报错是:
Error 24 : Write error : cannot write compressed block E: mkinitramfs failure cpio 141 lz4 -9 -l 24 update-initramfs: failed for /boot/initrd.img-5.15.0-1023-azure with 1.
这说明生成initrd镜像时压缩块写入失败,大概率和**/boot分区空间不足或压缩工具异常**有关;另外还有cryptsetup的密钥文件权限警告,虽然不是直接诱因,但也需要一并处理。
解决步骤
1. 检查并清理/boot分区空间
首先确认/boot分区是否有足够剩余空间:
df -h /boot
如果空间接近满额,需要清理旧内核文件(注意保留当前在用的5.15.0-1023-azure内核):
- 列出所有已安装的内核:
dpkg --list | grep linux-image - 删除非当前版本的旧内核(替换
<旧版本号>为实际版本):sudo apt remove linux-image-<旧版本号>-azure
清理完成后,重新尝试生成initrd:
sudo update-initramfs -u -k 5.15.0-1023-azure
2. 修复密钥文件的权限问题
日志提示/mnt/azure_bek_disk/LinuxPassPhraseFileName权限不安全,执行以下命令修正权限:
sudo chmod 600 /mnt/azure_bek_disk/LinuxPassPhraseFileName
之后重新配置dpkg:
sudo dpkg --configure -a
3. 更换压缩工具尝试
默认的lz4压缩工具可能出现异常,临时切换到gzip生成initrd:
- 编辑initramfs配置文件:
sudo nano /etc/initramfs-tools/initramfs.conf - 找到
COMPRESS=lz4行,修改为:COMPRESS=gzip - 保存退出后,重新生成initrd:
sudo update-initramfs -u -k 5.15.0-1023-azure
如果成功生成,后续可以再改回lz4测试。
4. 强制重新生成对应内核的initrd
若上述方法无效,尝试强制重新创建initrd镜像:
sudo update-initramfs -c -k 5.15.0-1023-azure
完成后再次配置dpkg:
sudo dpkg --configure -a
备注:内容来源于stack exchange,提问作者Akito
相关产品推荐
相关产品推荐

