这篇文章的最初标题是关于CryptSetup没有加载一个带有4096字节扇区的Truecrypt设备。无论如何,我设法转储了Truecrypt头(用主键),但是现在当我尝试用dmsetup加载它时,它不起作用:
echo "0 5860533168 crypt aes-xts-plain64 <my-super-secret-64-byte-key> 256 /dev/sdh 256" | dmsetup create test
device-mapper: resume ioctl on test failed: Invalid argument
Command failed它似乎不支持2^32以上的大小数字,所以我尝试将sector_size:4096参数添加到表中:
echo "0 732566646 crypt aes-xts-plain64 <my-super-secret-64-byte-key> 256 /dev/sdh 256 sector_size:4096" | dmsetup create test
device-mapper: reload ioctl on test failed: Invalid argument
Command failed如果我将扇区的数目设置为2TB以下(2^32 * 512),但没有结束,它就能工作。我尝试在纯密码设置中复制相同的命令,但我不知道如何准确地匹配dmsetup表,也无法复制它。有没有一种方法可以强迫dmsetup与超过2TB的设备一起工作?有办法直接将主密钥传递给密码设置吗?到目前为止,这是我尝试过的,但是它用错误的密钥解密:
echo <64-byte-key> | cryptsetup open --type plain /dev/sdh test --offset 256 --cipher aes-xts-plain64 --hash plain --key-size 512发布于 2019-06-14 19:13:58
部门总数是错的。我不得不计算扇区的总数并减去抵消额。为什么dmsetup不只是说扇区的数量超过了设备,而不是非常无用的:“无效的参数”?这样可以节省时间。
对于4k模式,您必须取扇区总数* 512 / 4096 -偏移量。您还必须在表中任何额外的“可选参数”之前指定一个计数。我只有一个,所以是:
... /dev/sdh 256 1 sector_size:4096https://unix.stackexchange.com/questions/524823
复制相似问题