cryptsetup luksFormat 错误:请求的偏移量超出了设备 /dev/loop1 的实际大小

问题描述 投票:0回答:2

当我尝试在 Ubuntu 上运行 cryptsetup luksFormat 命令时遇到错误。有人可以帮我解决这个问题吗

命令: $loop_dev=losetup--find $ 回显是 | cryptsetup -v luksFormat --key-file="/path/to/keyfile" $loop_dev

错误: 请求的偏移量超出了设备 /dev/loop1 的实际大小。 命令失败,代码为 22:请求的偏移量超出了设备 /dev/loop1 的实际大小

/dev/loop0-/dev/loop7 中的所有循环设备都发生这种情况

shell unix encryption ubuntu-14.04
2个回答
0
投票

似乎唯一可能的解决方法是使用脚本

cryptmount-setup
创建加密的环回设备。


0
投票

问题可能是您的 LUKS 容器太小(< 16 MiB in LUKS2 or < 2 MiB in LUKS1)

对我有用的修复:

  • 创建大小 >16 MiB 的 LUKS 容器
  • 在创建容器时指定 LUKS1 (
    cryptsetup luksFormat --type luks1
    ) 并创建大小 >2 MiB 的 LUKS 容器

它们为何有效:

阅读以下帖子。这就是为我解决的问题。

https://superuser.com/questions/1557750/why-does-cryptsetup-fail-with-container-10m-in-size

总结这篇文章,LUKS2 创建了 16 MiB 的默认偏移量,但如果您创建的设备小于默认偏移量,则在您尝试打开设备之前不会给出任何错误。 LUKS1 创建了更小的偏移量 (2 MiB),但同样的问题仍然存在。

© www.soinside.com 2019 - 2024. All rights reserved.