笔记本电脑(dell inspiron 5502)运行的是 20.04,之前运行正常。但是我认为 /boot 空间不足(ubuntu 的安装程序默认值太小,以及 ubuntu 未删除旧内核),这可能是导致初始故障的原因。
奇怪的是,当我尝试从记忆棒运行 Ubuntu 22.04 时,出现了相同(嗯,非常相似)的错误:出现 Initramfs 解压失败错误。
我已经尝试过update-grub
并update-initramfs -c -k all
从适当的 chroot 环境
当到达这个阶段时,它会完全挂起,我必须按住电源键 10 秒才能关闭。
我尝试过打开和关闭安全启动。唯一需要添加的是磁盘布局,以防万一:
- FAT 分区: /boot/efi
- EXT4 分区:/boot
- LUKS 分区
- LVM 物理卷
- LVM 卷组
- LVM 逻辑卷
- EXT4 根文件系统 /
- LVM 逻辑卷
- LVM 卷组
- LVM 物理卷
编辑:观察
运行时update-initramfs -c -k all
我注意到它说:
cryptsetup:警告:在 /etc/crypttab 中未找到目标“crypt”
这本身就很奇怪,因为我的 /etc/crypttab 文件没有目标 crypt(我正在使用nvme0n1p3_crypt
)!我的 /etc/crypttab 看起来像
nvme0n1p3_crypt UUID=xxx-xxx-xxx-etc none luks,discard,initramfs
其中xxx-etc
位 是 的有效 UUID nvme0n1p3
。
答案1
修复该问题的方法是切换到 /etc/initramfs-tools/initramfs.conf 中的 COMPRESS=xz
改变它然后重新创建 initramfs 意味着我可以启动该内核。
非压缩和 lz4 选项似乎在解压缩时存在错误;即使是新的 Ubuntu (22.04) live USB 也会导致内核崩溃。我不明白这一点,这与空间无关,但这就是我为解决这个问题所做的。这发生在新安装的内核和重新安装的内核上。
(cryptsetup 警告目标 'crypt' 不在 /etc/crypttab 中的问题是一个红鲱鱼- 在我运行该代码时,我必须从 initrd> 提示符启动,指定我自己的 cryptsetup 命令,然后使用 lvm 来识别卷。我曾将其用作crypt
设备名称,因此 cryptsetup 警告我,我当前有一个分区被挂载为 crypt,但这不在我的 crypttab 中。由于我使用 UUID 引用内容,因此映射器名称实际上并不重要。)