分区表为:
sda1——/boot
sda2 - 带有 LVM 的 dmcrypt,包含根卷、主卷和交换卷
Cryptsetup 不接受已使用很长时间且不能有任何错误的密码。我尝试使用 PXE Live Ubuntu 来安装它:
root@ubuntu:~# cryptsetup luksOpen /dev/sda2 vgroot
Enter passphrase for /dev/sda2:
No key available with this passphrase.
在实时图像上,美国键盘布局默认只有一个。复制和粘贴密码也无济于事。
一个月前,我成功地将同一个实时映像上的 dm-crypt 安装到 chroot。
我安装了 Ubuntu 14.04,并在 PXE 启动上安装了 13.10 实时映像。
答案1
好吧,错误“没有可用的密钥”听起来像是你正在寻找的密钥不再在 LUKS 标头中。可能是密码错误,也可能是该密钥或整个 LUKS 标头出了问题。如果你有 LUKS 标头的备份,你可以尝试使用以下cryptsetup
选项--header
并尝试--verbose
&--debug
选项,也许会显示更多信息。此操作isLuks -v <device>
可能有助于查看它是否仍然是可识别的 LUKS 设备。
正如man cryptsetup
下面的页面所述,LUKS 头备份很重要,(并且也要查看luksHeaderBackup
和luksHeaderRestore
操作):
LUKS 标头:如果 LUKS 卷的标头损坏,除非您有标头备份,否则所有数据都将永久丢失。如果密钥槽损坏,则只能从标头备份或另一个具有已知密码的活动密钥槽未损坏的情况下恢复。损坏 LUKS 标头是人们以惊人的频率做的事情。这种风险是安全性和安全性之间权衡的结果,因为 LUKS 旨在通过覆盖标头和密钥槽区域来快速安全地擦除。
答案2
最有可能的是,您输入了错误的密码。
以下步骤可能会有所帮助。
确认您拥有正确的设备:
sudo cryptsetup isLuks /dev/sda3 -v
验证标题:
sudo cryptsetup luksDump /dev/sda3
尝试初始几个密码(考虑添加
--debug
更多输出):sudo cryptsetup luksOpen --test-passphrase /dev/sda3
考虑备份标题:
sudo cryptsetup luksHeaderBackup /dev/sda3 --header-backup-file luksHeader.bin
注意:您还可以考虑使用来备份整个设备
dd
。使用头文件尝试不同的密码:(比使用实际设备更快更安全)
sudo cryptsetup luksOpen --test-passphrase luksHeader.bin
要强制执行,请阅读更多内容:使用 LUKS 时收到“此密码短语无法获取密钥”