我正在使用全磁盘加密,通过LinuxPBA和sedutil (https://github.com/Drive-Trust-Alliance/sedutil)。简而言之,在启动时,一个独立于BIOS的代码请求磁盘密码.如果正确,则磁盘被解锁,系统重新启动而不关闭磁盘,我可以看到grub,内核继续运行,发行版启动。
在这种情况下,暂停是危险的,它是已知的限制1。当这种情况发生时,数据就会被破坏。坏消息是我经常遇到随机的暂停事件。
我不需要暂停,但我使用冬眠。是否有一种方法可以禁用暂停(不影响冬眠)?也许重新编译内核,或者通过引导选项.
1挂起操作触发磁盘断电;这意味着,在恢复时,FS是加密的。Linux试图访问它以前映射过的扇区,这些扇区现在都是加密的,破坏了数据。它很快就会检测到问题,在只读环境中重新安装FS,并避免进一步的损坏。下次重新启动时,fsck.ext4通常会修复损坏。但是,由于我正在经历随机的暂停,而不是由我触发,很难调试/报告,我想完全禁用挂起,因为我找出了根本原因。
2类似的问题:像这样的建议https://wiki.debian.org/Suspend#Disable_挂起_和_冬眠是不够的。此外,似乎不可能告诉内核/ACPI“请不要在挂起时转动磁盘”(在暂停/睡眠/S3中可以不关闭SSD吗?)。
发布于 2019-06-03 20:01:08
用CONFIG_SUSPEND=n和CONFIG_HIBERNATION=y重新编译内核应该可以防止挂起,但仍然允许hibernate。挂起只在userspace的请求AFAIK时发生,所以您也应该能够以这种方式禁用它。
另外,我不确定驱动器是如何准确工作的,但我也担心重置可能会导致它们丢失密钥。如果是这样的话,请注意Linux存储堆栈会重置无法响应的设备--例如,如果它们忙着重试坏块很长一段时间。/sys/block/sd?/device/timeout是设置超时的地方;默认为30。
最后,您可以使用例如,hdparm -Y使驱动器进入睡眠模式。在默认情况下,可能什么都不做,但可能会将驱动器配置为将自己设置为待机(而不是睡眠)模式;如果是,希望不会丢失密钥。
https://unix.stackexchange.com/questions/512960
复制相似问题