我有一台新的联想 Thinkbook(没有 Nvidia 显卡),安装了全新的 Ubuntu 20.04。一切似乎都正常,除了挂起,这是一个大问题。
首先,我发现它没有以一种节省电池的方式处于挂起状态,因此我通过在 grub 配置的 GRUB_CMD_LINE_LINUX_DEFAULT 行中添加 mem_sleep_default=sleep 来启用深度睡眠而不是 s2idle 睡眠。
接下来,我意识到交换文件不够大,无法挂起到 RAM。我遵循了以下指南:https://rephlex.de/blog/2019/12/27/how-to-hibernate-and-resume-from-swap-file-in-ubuntu-20-04-using-full-disk-encryption/-- 这意味着我将交换文件的大小设置为与 RAM 相同(、、、sudo swapoff /swapfile
),并配置 uswsusp 和 grub 来使用交换文件。sudo dd if=/dev/zero of=/swapfile bs=$(cat /proc/meminfo | grep MemTotal | grep -oh '[0-9]*') count=1024 conv=notrunc
sudo mkswap /swapfile
sudo swapon /swapfile
但是现在,当我使用顶部栏按钮、运行 sudo pm-suspend 或将“mem”写入 /sys/power/state 来暂停时,它不会恢复。当我按下某个键来恢复笔记本电脑时,键盘亮起,风扇启动,但显示屏没有打开。输入似乎不起作用,因为带有指示灯的 fn/caps lock 键没有响应。我还尝试在睡觉前播放一些音乐,当我尝试唤醒时它没有恢复。
我必须使用电源按钮重新启动,但即使这样似乎也不太管用。我按住电源按钮直到笔记本电脑似乎关闭,然后我尝试启动它,结果还是同样的情况。我可能要重复五次或更多次,笔记本电脑似乎才能按预期关闭,让我能够重新启动它。
现在我该怎么做?
注意:在我扩大交换文件大小之前也发生了相同的恢复行为,我希望这可以解决问题。
注意:休眠到磁盘以及使用 s2idle2 休眠均可正常工作。
答案1
几周前,我在新笔记本电脑上安装 Ubuntu 时也遇到了同样的问题。这里有一个修复方法(包括部分禁用挂起功能)
我找到了解决办法
在设置>电源中将“黑屏”设置为“从不”
在设置>电源中将“自动挂起”设置为“关闭”
在设置>电源中将“电源按钮操作”设置为“暂停”以外的任何内容
最重要的是:使用 gedit 打开 etc/systemd 中的 logind.conf 文件
“sudo gedit /etc/systemd/logind.conf”
然后取消注释(删除#)包含“HandleLidSwitch”的行并将其值设置为“lock”
答案2
我不知道您是否仍遇到此问题,但以下是我在 AMD Thinkbook 上遇到的情况:
- 最初改为使用 S3 而不是 Modern-Standby
- 后续的内核更新打破了这一点,因此回滚到早期的内核
- 后来,更新了 BIOS,它再次中断了挂起(恢复时挂起)。
使固定:进入隐藏的 BIOS 并将 S3 改回 Modern-Standby。
指示:
https://www.reddit.com/r/linux/comments/n9xrgp/comment/h1wku6m/?utm_source=share&utm_medium=web2x&context=3
更新:经过测试发现,Modern-Standby 的电池使用量是不可接受的:每小时 8%。
因此重新启用了 S3,并在 grub 启动中添加了“amd_iommu=off”,现在挂起不再崩溃。耶:只花了 15 个小时就让它工作了。
答案3
我几乎尝试了所有方法,最终在我的联想 Ideapad 5 上起作用的方法是将 HandleLidSwitch 更改为锁定,但不要删除 #。