我的 Linux 笔记本电脑 (openSUSE Tumbleweed) 应该休眠但却没有休眠,我不明白为什么。我曾经有过类似的系统 (Arch Linux) 在相同情况下休眠 (LUKS 上的 LVM)。这是我的配置:
- EFI-GRUB 启动
- LUKS 上的 LVM;LVM 具有根分区、主分区和交换分区
/etc/fstab
在 中启用并由 UUID 安装的交换区swapon -s
显示它处于活动状态。它的大小为 32GB,安装了 16GB RAM。- GRUB 在默认配置中有恢复语句
/boot/grub2/grub.cfg
(见下文)。
以下是检查内核和系统休眠功能的几个命令:
# zgrep HIBERN /proc/config.gz
CONFIG_ARCH_HIBERNATION_POSSIBLE=y
CONFIG_ARCH_HIBERNATION_HEADER=y
CONFIG_HIBERNATE_CALLBACKS=y
CONFIG_HIBERNATION=y
CONFIG_HIBERNATION_SNAPSHOT_DEV=y
CONFIG_HIBERNATION_COMP_LZO=y
# CONFIG_HIBERNATION_COMP_LZ4 is not set
CONFIG_HIBERNATION_DEF_COMP="lzo"
因此内核配置为支持休眠。
此次引导(由 GRUB 完成)有:
# cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.11.6-2-default root=/dev/mapper/cryptolvm-opensuse splash=silent resume=/dev/mapper/cryptolvm-swap mem_sleep_default=deep security=selinux selinux=1 enforcing=1 mitigations=auto
我尝试resume=
使用UUID=....
交换的 UUID 进行改变,但没有效果。
# cat /sys/power/state
freeze mem
这里disk
缺少了但我不知道为什么。
当然现在这行不通了:
# systemctl hibernate
Call to Hibernate failed: Sleep verb 'hibernate' is not configured or configuration is not supported by kernel
Exit 1
内核是否依赖 BIOS 来启用休眠功能?(据我所知不是。)在这种情况下,我可以在那里检查一些东西吗?
这表明您在 BIOS 中启用了安全启动。您需要禁用它才能使休眠功能正常工作。