我正在尝试让休眠在 Arch Linux 中工作。我正在 BTRFS 中使用交换文件,该文件位于一个单独的子卷下/
(两者都位于子卷 ID 5 又称为顶级子卷下)。我还使用 dm-crypt 进行磁盘加密。
我有:
- 添加了
resume
afterkeyboard
但 before 的钩子fsck
。 - 添加了resume内核参数如下:
resume=UUID=*UUID of mapped LUKS device*
- 添加恢复偏移量如下:
resume_offset=*offset*
我尝试了以下方法来获取简历偏移量:
- 文件碎片:
filefrag -v *swap path* | awk '{ if($1=="0:"){print $4} }'
,来自建筑维基百科 - 一个脚本:btrfs_map_physical.c, 从这个 StackExchange 答案(我还尝试了其他休眠方法而不是systemd)
当我执行时,systemctl hibernate
监视器关闭,但随后立即重新打开。由于我没有使用quiet
内核参数,因此在 TTY 中打印此消息:
[7695.071873] tpm tpm0: tpm_try_transmit: send(): error -5
[7695.770207] PM: Cannot find swap device, try swapon -a
[7695.770223] PM: Cannot get swap writer
使用替代方法时会出现类似的消息。