Mic*_*ann 4 luks initramfs cryptroot cryptsetup initrd
升级到 20.04 后,我的加密磁盘在启动时没有被解密。我没有被要求输入任何密码,所以它显然找不到任何分区并引导到 initrd 提示符。
可能是什么原因:/cryptroot/crypttab
在 initrd 映像中是完全空的。
我可以手动打开 luks 并 chroot 进入系统。这是我/etc/crypttab
在真正根目录中的内容:
nvme0n1p3_crypt UUID=<some uuid> none luks
(UUID 都是正确的,无处不在)
当我运行时update-initramfs -c -k all
,输出是:
cryptsetup: WARNING: target 'nvme0n1p3_crypt' not found in /etc/crypttab
这有点奇怪,因为它正是该文件中唯一单个条目的目标名称。它也被列为/dev/mapper
链接../dm-0
,似乎也是正确的。
我尝试将设备重命名为crypt
仅使用,dmsetup rename ...
但这当然没有帮助。
我认为这是我问题的根本原因。
小智 7
这是生成例程: https://salsa.debian.org/gpiccoli/cryptsetup/-/blob/master/debian/functions#L526
另一个问题(其他人可能会说这是故意的)是您的/etc/crypttab
目标(=名称)必须是当前用于您打算为其生成 initramfs 的根的目标。
例如:如果您:
luks open
富
mount /dev/mapper/foo
chroot
update-initramfs
那么也foo's
etc/crypttab's
TARGET
必须是foo否则你会看到:
cryptsetup: WARNING: target 'foo' not found in /etc/crypttab
尽管它几乎不可见update-initramfs -v
。
仅供参考,我已经解决了。这太奇怪了,如果没有人告诉我,我永远不会发现。
问题出在文件上/etc/crypttab
:它最后需要一个 EOF!
哇!怎么会这样?这是过去 25 年来第一次有些 linux 需要在文本文件中使用 EOF。天哪!
无论如何,经过一个多星期的测试,现在它已经修复了。
归档时间: |
|
查看次数: |
3618 次 |
最近记录: |