我有一个使用 dm-crypt 加密的设备。这是我在笔记本电脑上使用的迷你 SD 卡。
我最近遇到了一些笔记本电脑死机的问题,在日记中出现了这些消息:
Mar 20 17:18:30 gorgonzola kernel: EXT4-fs (dm-0): warning: mounting fs with errors, running e2fsck is recommended
Mar 20 17:18:30 gorgonzola kernel: EXT4-fs (dm-0): recovery complete
Mar 20 17:18:30 gorgonzola kernel: EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
...
Mar 20 17:23:30 gorgonzola kernel: EXT4-fs (dm-0): error count since last fsck: 84
Mar 20 17:23:30 gorgonzola kernel: EXT4-fs (dm-0): initial error at time 1505289981: ext4_journal_check_start:60
Mar 20 17:23:30 gorgonzola kernel: EXT4-fs (dm-0): last error at time 1551543757: ext4_reserve_inode_write:5903: inode 1054920: block 4194732
我曾尝试运行 fsck,但出现此错误:
Bad magic number in super-block
在尝试解决此问题之前,我只想确保我确实能够在 dm 加密的驱动器上运行 fsck。还是预期会出现此错误?我之所以感到困惑,是因为我可以很好地安装这个设备。出于所有意图和目的,该驱动器运行良好。它安装,它可以读取和写入所有数据......唯一的问题是我在启动时收到此错误。那么超级块真的有问题吗?
您是否尝试
fsck
在引用实际 SD 或其分区的/dev/sd*
(或其他)设备上运行,就像在未加密的设备上一样?如果是这样,则该设备已完全加密,这就是为什么
fsck
根本无法理解它的原因。如果它发现任何可识别为文件系统的东西,那将是dm-crypt
不工作的迹象:加密数据应该看起来像无法描述的伪随机噪声。您需要将 指向目标,
fsck
该dm-crypt
目标可能被命名为/dev/mapper/<something>
. 这需要cryptsetup
先使用打开加密设备,就像准备挂载加密设备时一样,然后再尝试在其上运行fsck
。由于有几种可能的模式,如果不了解您的设置dm-crypt
,我无法建议正确的命令。cryptsetup
也许您的/etc/crypttab
文件可能包含必要的详细信息?