我有一个 3TB 的磁盘想要加密。当我在加密分区中创建文件系统 (mkfs.xfs 或 ext2-4) 时,它会输出“尝试从文件系统读取块导致在创建根目录时出现短读”。
如果我不加密,则不会出现此错误,我可以按预期使用该磁盘。
我使用 parted 创建了一个 GPT 分区表,如下所示:
# parted /dev/sdb
mklabel gpt
mk primary 0.00TB 3.00TB
quit
这很有效。
然后我创建了加密容器并对其进行解密,如下所示:
# cryptsetup luksFormat /dev/sdb
# cryptsetup luksOpen /dev/sdb1 storage
这也有效。
现在我尝试创建文件系统:
# mkfs.xfs /dev/mapper/storage
这导致了以下错误:“尝试从文件系统读取块导致在创建根目录时出现短暂读取”。
我尝试创建一个 LVM 容器并在其中创建 crypt 容器。这可行,但在复制磁盘上的一些文件后,每次我尝试访问它时,它都会崩溃并报告 I/O 错误。
我在 Linux 中检查了磁盘是否有错误,并在 Windows 中使用 Seagate 工具检查了磁盘是否有错误。没有发现任何错误。
我尝试创建小于等于 2TB 的加密分区,成功创建了文件系统,没有出现错误。但是当我调整容器大小时,它就不再起作用了。
答案1
错误是由磁盘故障引起的。我擦了好几次,最后在 105GB 之后出现错误,磁盘崩溃了。
我得到了一个替代品,第一次尝试就可以让它工作。此外,我可以擦除它直到最后一点而不会出现错误。不过,最后一点出现了“磁盘空间不足”的错误。可靠。我不知道我是否应该担心......
对于遇到类似问题的每个人:您可以像这样擦除磁盘:
# dd if=/dev/zero of=/dev/sdb bs=1M
确保 /dev/sdb 是正确的磁盘,否则您将丢失上面的所有数据!它不应显示任何错误并以摘要结束。