我遇到的问题类似于无法读取 /dev/mapper/veracrypt1 上的超级块除了映射器设备根本无法读取之外。底层物理磁盘可以读取。即Veracrypt 可以解密加密容器,但不能从中返回一个字节。
进一步来说:
- Ubuntu 服务器 18.04,有四个磁盘,使用 Veracrypt 1.23 完全加密。
- 断电后,一个磁盘无法安装。
- 由于无法快速找出故障磁盘的问题所在,我重新创建了 veracrypt 分区并重新复制了其中的数据。
- 第二次断电后两个磁盘发生故障安装。与之前相同,还有另一个。
- 两个失败的版本中,第一个有一个加密分区,另一个是完全加密的。(因此它们的设置不同。)
- 由于无法读取超级块错误,Veracrypt 安装失败。
- 使用
--filesystem=none
选项安装可行并允许访问映射器设备。 - 由于根本无法读取,因此
/dev/mapper/veracrypt1
无法使用常规工具进行检查或修复。mke2fs, e2fsck
- 即使
dd
从/dev/mapper/veracrypt1
失败。尝试时,系统日志中会填充FAILED Result: hostbyte=DID_OK driverbyte=DRIVER_SENSE
、Sense Key : Medium Error [current]
和Add. Sense: Unrecovered read error - auto reallocate failed
消息。 dd
来自底层硬盘设备/dev/sde
或/dev/sdb1
毫无问题地工作并允许以加密形式读取整个磁盘。
我怀疑是某种硬件故障,但是:
- SMART 报告称两个故障磁盘从未出现过任何问题。它们也可以按上述方式读取。
- 故障磁盘连接到不同的SATA 卡并且两者都是连接到各自卡的唯一磁盘。
我感到很困惑。有什么想法可以解决吗?可以尝试什么?
答案1
事实证明,这只是一个记忆错误的例子。
我注意到系统日志中各种服务随机崩溃,并开始怀疑是内核崩溃导致重启,从而导致了文件系统损坏。
更换内存模块后,你突然可以从加密容器中读取数据,并按照说明修复文件系统无法读取 /dev/mapper/veracrypt1 上的超级块。
还启用了apport来捕获将来的核心转储。