尝试使用 Kubuntu 启动时,我无法让 root 解密。这是一个可以使用数月的旧安装。我不记得在它停止工作之前更新了什么。我已验证这不是由于键盘布局,因为从 initramfs 使用echo -n "test1" | cryptsetup open /dev/nvme0n1p3 nvme0n1p3_crypt
它也无法正常工作。从 Live-CD 或 dolphin 使用该命令有效,因此它可以解密。
在尝试了不同的方法(如 chroot 并创建新的 initramfs 和 grub-update、apt update 以及重新安装 cryptsetup 等)之后,我放弃了。
我订购了一个新的 nvme 驱动器并将其放入 PC 中。在新安装的设备上安装带有加密硬盘的 Kubuntu 22.04.1 LTS 后,在第一次重启后尝试解锁新安装的 Kubuntu 时,我收到与以前相同的错误消息。
我不知所措。这可能是硬件特有的吗?我使用的是 AMD Ryzen 5 5600X 和 MSI B550-A PRO。
编辑:来自 initramfs 下的 cryptsetup 命令 rin 的附加信息:
# cryptsetup 2.4.3 处理“cryptsetup open /dev/nvme0n1p3 nvme0n1p3_crypt --debug --verbose” # 运行命令打开。 # 锁定内存。 # 安装 SIGINT/SIGTERM 处理程序。 # 解除信号中断阻碍。 # 为加密设备 /dev/nvme0n1p3 分配上下文。 # 尝试使用 direct-io 打开并读取设备 /dev/nvme0n1p3。 # 初始化设备映射器后端库。 # 尝试从设备 /dev/nvme0n1p3 加载任何加密类型。 # 加密后端(OpenSSL 3.0.2 2022 年 3 月 15 日 [默认])在 cryptsetup 库版本 2.4.3 中初始化。 # 检测到内核 Linux 5.15.0-43-generic x86_64。 # 加载 LUKS2 标头(修复已禁用)。 # 获取设备 /dev/nvme0n1p3 的读锁。 # 打开锁资源文件 /run/cryptsetup/L_259:3 # 验证 /dev/nvme0n1p3 的锁句柄。 # 设备 /dev/nvme0n1p3 已读取锁定。 # 尝试读取偏移量 0x0 处的主要 LUKS2 标头。 # 打开锁定的设备 /dev/nvme0n1p3 # 验证锁定的设备句柄(bdev) # LUKS2 标头版本 2,大小为 16384 字节,校验和 sha256。 # 校验和:6369a9195ce5cecf8565547247efdee1d348591e7fda341591d1e67d8bdc24f9(磁盘上) # 校验和:6369a9195ce5cecf8565547247efdee1d348591e7fda341591d1e67d8bdc24f9(内存中) # 尝试读取偏移量 0x4000 处的辅助 LUKS2 标头。 # 在设备 /dev/nvme0n1p3 上重新使用 open ro fd # LUKS2 标头版本 2,大小为 16384 字节,校验和 sha256。 # 校验和:a0619dc4d56b8426ba9a3ad7da84b62cf99295b7c0d88a40eba1f9c588c14731 (磁盘上) # 校验和:a0619dc4d56b8426ba9a3ad7da84b62cf99295b7c0d88a40eba1f9c588c14731(内存中) # 设备尺寸 997874204672,偏移量 16777216。 # 设备 /dev/nvme0n1p3 读取锁已释放。 # PBKDF argon2id、time_ms 2000(迭代 0)、max_memory_kb 1048576、parallel_threads 4。 # 使用令牌(任何类型)-1 激活卷 nvme0n1p3_crypt。 # dm 版本 [ opencount flush ] [16384] (*1) # dm 版本 [ opencount flush ] [16384] (*1) # 检测到 dm-ioctl 版本 4.45.0。 # 检测到 dm-crypt 版本 1.23.0。 # 设备映射器后端运行并启用 UDEV 支持。 # dm 状态 nvme0n1p3_crypt [ opencount noflush ] [ 16384 ] (*1) 没有可用的令牌。 # 请求交互式密码输入。 # 使用密码激活卷 nvme0n1p3_crypt [keyslot -1]。 # dm 版本 [ opencount flush ] [16384] (*1) # dm 状态 nvme0n1p3_crypt [ opencount noflush ] [ 16384 ] (*1) # 键槽 0 优先级 1 != 2 (必需),已跳过。 # 键槽 1 优先级 1 != 2 (必需),已跳过。 # 尝试打开 LUKS2 密钥槽 0。 # 运行 keyslot 密钥派生。 #读取键槽区域[0x8000]。 # 获取设备 /dev/nvme0n1p3 的读锁。 # 打开锁资源文件 /run/cryptsetup/L_259:3 # 验证 /dev/nvme0n1p3 的锁句柄。 # 设备 /dev/nvme0n1p3 已读取锁定。 # 在设备 /dev/nvme0n1p3 上重新使用 open ro fd # 设备 /dev/nvme0n1p3 读取锁已释放。 # 从密钥槽 0、摘要 0 验证密钥。 # 摘要 0(pbkdf2)验证失败,结果为 -1。 # 尝试打开 LUKS2 密钥槽 1。 # 运行 keyslot 密钥派生。 #读取键槽区域[0x47000]。 # 获取设备 /dev/nvme0n1p3 的读锁。 # 打开锁资源文件 /run/cryptsetup/L_259:3 # 验证 /dev/nvme0n1p3 的锁句柄。 # 设备 /dev/nvme0n1p3 已读取锁定。 # 在设备 /dev/nvme0n1p3 上重新使用 open ro fd # 设备 /dev/nvme0n1p3 读取锁已释放。 # 从密钥槽 1、摘要 0 验证密钥。 # 摘要 0(pbkdf2)验证失败,结果为 -1。 # 请求交互式密码输入。 # 使用密码激活卷 nvme0n1p3_crypt [keyslot -1]。 # dm 版本 [ opencount flush ] [16384] (*1) # dm 状态 nvme0n1p3_crypt [ opencount noflush ] [ 16384 ] (*1) # 键槽 0 优先级 1 != 2 (必需),已跳过。 # 键槽 1 优先级 1 != 2 (必需),已跳过。 # 尝试打开 LUKS2 密钥槽 0。 # 运行 keyslot 密钥派生。 #读取键槽区域[0x8000]。 # 获取设备 /dev/nvme0n1p3 的读锁。 # 打开锁资源文件 /run/cryptsetup/L_259:3 # 验证 /dev/nvme0n1p3 的锁句柄。 # 设备 /dev/nvme0n1p3 已读取锁定。 # 在设备 /dev/nvme0n1p3 上重新使用 open ro fd # 设备 /dev/nvme0n1p3 读取锁已释放。 # 从密钥槽 0、摘要 0 验证密钥。 # 摘要 0(pbkdf2)验证失败,结果为 -1。 # 尝试打开 LUKS2 密钥槽 1。 # 运行 keyslot 密钥派生。 #读取键槽区域[0x47000]。 # 获取设备 /dev/nvme0n1p3 的读锁。 # 打开锁资源文件 /run/cryptsetup/L_259:3 # 验证 /dev/nvme0n1p3 的锁句柄。 # 设备 /dev/nvme0n1p3 已读取锁定。 # 在设备 /dev/nvme0n1p3 上重新使用 open ro fd # 设备 /dev/nvme0n1p3 读取锁已释放。 # 从密钥槽 1、摘要 0 验证密钥。 # 摘要 0(pbkdf2)验证失败,结果为 -1。 # 请求交互式密码输入。 # 使用密码激活卷 nvme0n1p3_crypt [keyslot -1]。 # dm 版本 [ opencount flush ] [16384] (*1) # dm 状态 nvme0n1p3_crypt [ opencount noflush ] [ 16384 ] (*1) # 键槽 0 优先级 1 != 2 (必需),已跳过。 # 键槽 1 优先级 1 != 2 (必需),已跳过。 # 尝试打开 LUKS2 密钥槽 0。 # 运行 keyslot 密钥派生。 #读取键槽区域[0x8000]。 # 获取设备 /dev/nvme0n1p3 的读锁。 # 打开锁资源文件 /run/cryptsetup/L_259:3 # 验证 /dev/nvme0n1p3 的锁句柄。 # 设备 /dev/nvme0n1p3 已读取锁定。 # 在设备 /dev/nvme0n1p3 上重新使用 open ro fd # 设备 /dev/nvme0n1p3 读取锁已释放。 # 从密钥槽 0、摘要 0 验证密钥。 # 摘要 0(pbkdf2)验证失败,结果为 -1。 # 尝试打开 LUKS2 密钥槽 1。 # 运行 keyslot 密钥派生。 #读取键槽区域[0x47000]。 # 获取设备 /dev/nvme0n1p3 的读锁。 # 打开锁资源文件 /run/cryptsetup/L_259:3 # 验证 /dev/nvme0n1p3 的锁句柄。 # 设备 /dev/nvme0n1p3 已读取锁定。 # 在设备 /dev/nvme0n1p3 上重新使用 open ro fd # 设备 /dev/nvme0n1p3 读取锁已释放。 # 从密钥槽 1、摘要 0 验证密钥。 # 摘要 0(pbkdf2)验证失败,结果为 -1。 # 释放加密设备 /dev/nvme0n1p3 上下文。 # 释放设备映射器后端。 # 关闭 /dev/nvme0n1p3 的只读 fd。 # 解锁内存。 命令失败,代码为 -2(没有权限或密码错误)。
cat /proc/modules 的输出
nls_iso8859_1 16384 1-直播 0xffffffffc0146000 uas 28672 0 - 直播 0xffffffffc018e000 usb_storage 77824 2 uas,实时0xffffffffc01b6000 dm_crypt 53248 0 - 实时 0xffffffffc01a8000 hid_generic 16384 0 - 直播 0xffffffffc0210000 iommu_v2 24576 0-实时 0xffffffffc03ab000 gpu_sched 45056 0-实时 0xffffffffc02b3000 i2c_algo_bit 16384 0-实时 0xffffffffc0297000 drm_ttm_helper 16384 0 - 直播 0xffffffffc0292000 ttm 86016 1 drm_ttm_helper,直播 0xffffffffc027c000 usbhid 65536 0-实时 0xffffffffc0197000 drm_kms_helper 307200 0-直播 0xffffffffc0478000 hid 147456 2 hid_generic,usbhid,实时 0xffffffffc0169000 syscopyarea 16384 1 drm_kms_helper,实时 0xffffffffc0162000 sysfillrect 20480 1 drm_kms_helper,实时 0xffffffffc015a000 sysimgblt 16384 1 drm_kms_helper,实时 0xffffffffc0153000 fb_sys_fops 16384 1 drm_kms_helper,实时 0xffffffffc014c000 cec 61440 1 drm_kms_helper,直播 0xffffffffc0136000 crct10dif_pclmul 16384 1-实时 0xffffffffc020b000 crc32_pclmul 16384 0-实时 0xffffffffc026d000 ghash_clmulni_intel 16384 0-直播 0xffffffffc012e000 rc_core 65536 1 cec,直播 0xffffffffc08cb000 aesni_intel 376832 0 - 直播 0xffffffffc040d000 crypto_simd 16384 1 aesni_intel,实时 0xffffffffc0206000 cryptd 24576 2 ghash_clmulni_intel,crypto_simd,实时 0xffffffffc0275000 r8169 98304 0-直播0xffffffffc03e3000 drm 606208 4 gpu_sched,drm_ttm_helper,ttm,drm_kms_helper,实时 0xffffffffc02f4000 nvme 45056 0-实时 0xffffffffc02e1000 i2c_piix4 28672 0-实时0xffffffffc02d5000 ahci 45056 0-实时 0xffffffffc02c1000 gpio_amdpt 20480 0-实时0xffffffffc02ad000 xhci_pci 24576 0-实时 0xffffffffc02a2000 nvme_core 126976 1 nvme,实时0xffffffffc0248000 realtek 32768 0 - 实时 0xffffffffc023b000 libahci 45056 1 ahci,实时 0xffffffffc022a000 xhci_pci_renesas 20480 1 xhci_pci,实时 0xffffffffc0222000 wmi 32768 0 - 直播 0xffffffffc01f8000 gpio_generic 20480 1 gpio_amdpt,实时0xffffffffc0128000