首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >dmsetup不适用于2TB以上的驱动器

dmsetup不适用于2TB以上的驱动器
EN

Unix & Linux用户
提问于 2019-06-14 05:09:00
回答 1查看 179关注 0票数 1

这篇文章的最初标题是关于CryptSetup没有加载一个带有4096字节扇区的Truecrypt设备。无论如何,我设法转储了Truecrypt头(用主键),但是现在当我尝试用dmsetup加载它时,它不起作用:

代码语言:javascript
复制
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参数添加到表中:

代码语言:javascript
复制
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的设备一起工作?有办法直接将主密钥传递给密码设置吗?到目前为止,这是我尝试过的,但是它用错误的密钥解密:

代码语言:javascript
复制
echo <64-byte-key> | cryptsetup open --type plain /dev/sdh test --offset 256 --cipher aes-xts-plain64 --hash plain --key-size 512
EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-06-14 19:13:58

部门总数是错的。我不得不计算扇区的总数并减去抵消额。为什么dmsetup不只是说扇区的数量超过了设备,而不是非常无用的:“无效的参数”?这样可以节省时间。

对于4k模式,您必须取扇区总数* 512 / 4096 -偏移量。您还必须在表中任何额外的“可选参数”之前指定一个计数。我只有一个,所以是:

代码语言:javascript
复制
... /dev/sdh 256 1 sector_size:4096
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/524823

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档