在每个休眠进程之后,我得到一个损坏的根文件系统。我的设置是LVM上的LUKS加密根和交换分区。我在根文件系统上使用一个GPG加密密钥,在根分区上使用一个未加密的密钥文件进行交换解密。initramfs是由genkernel生成的
genkernel --lvm --luks --gpg initramfs对于休眠设置,我遵循Gentoo维基。我试着用
pm-hibernate
s2disk -r /dev/mapper/swap
echo disk > /sys/power/state但所有这些都会导致根分区损坏。我不使用tuxonice作为(afaik),我需要切换到其他内核来源或应用补丁。
系统:
Gentoo
Kernel 4.9.6-gentoo-r1
genkernel 3.4.52.4-r2
pm-utils 1.4.1-r7磁盘布局:
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 477G 0 disk
├─sda2 8:2 0 128M 0 part /boot
├─sda3 8:3 0 410G 0 part
│ ├─vg1-swap 253:1 0 30G 0 lvm
│ │ └─swap 253:3 0 30G 0 crypt [SWAP]
│ └─vg1-root 253:0 0 380G 0 lvm
│ └─root 253:2 0 380G 0 crypt /
└─sda1 8:1 0 2M 0 part 发布于 2017-02-27 14:04:19
我在根文件系统上使用一个GPG加密密钥,在根分区上使用一个未加密的密钥文件进行交换解密。
这是否意味着您必须挂载根文件系统才能解密交换?如果是这样的话,这可能是你的问题的原因。在休眠期间,您不允许访问(写)文件系统(因为它们“仍然被hibernated系统挂载”)。
https://www.kernel.org/doc/Documentation/power/swsusp.txt
* BIG FAT WARNING *********************************************************
*
* If you touch anything on disk between suspend and resume...
* ...kiss your data goodbye.
*
* If you do resume from initrd after your filesystems are mounted...
* ...bye bye root partition.
* [this is actually same case as above]
*冬眠是一件非常冒险的事情,基本上你必须希望你的Initramfs风格能正确地处理所有的案件。最好使用一个普通的交换分区,这样就可以在没有任何诡计的情况下到达。
https://unix.stackexchange.com/questions/347895
复制相似问题