我有一个使用 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。或者这个错误是预期的?我之所以感到困惑是因为我可以很好地安装这个设备。出于所有意图和目的,该驱动器运行良好。它安装了,它可以读取和写入所有数据...唯一的问题是我在启动时收到此错误。那么超级块真的有问题吗?
答案1
fsck
您是否尝试在引用实际 SD 或其分区的(或其他)设备上运行/dev/sd*
,就像在未加密的设备上一样?
如果是这样,则该设备已完全加密,这就是为什么fsck
根本无法理解它的原因。如果它发现任何可识别为文件系统的东西,这将是无法工作的迹象dm-crypt
:加密的数据应该看起来像不起眼的伪随机噪声。
您需要将 指向fsck
目标dm-crypt
,该目标可能会被命名为/dev/mapper/<something>
。这需要cryptsetup
先打开加密设备,就像准备安装加密设备时一样,然后再尝试fsck
在其上运行。由于有多种可能的模式,因此在不了解您的设置的更多信息的情况下,dm-crypt
我无法建议正确的命令。cryptsetup
也许您的/etc/crypttab
文件可能包含必要的详细信息?