我最近换了一台新的 DELL Vostro 3500 笔记本电脑,但一直卡在挂起状态。当尝试像往常一样在 Ubuntu 中挂起时,系统似乎进入了挂起模式,但 CPU 风扇运行得更快。这种 S0 挂起无法使用,因为笔记本电脑放在包里很快就会过热,电池也会很快耗尽。
我花了 24 小时进行搜索,发现这一定与“现代挂起”或“连接挂起”以及 S0 状态有关。DELL 论坛上充斥着抱怨,但尚未提供任何解决方案。这种现代挂起显然影响了许多新笔记本电脑。
不过,在 Windows 10 中可以通过在注册表中添加额外的键来解决这个问题 https://www.notebookcheck.net/Useful-Life-Hack-How-to-Disable-Modern-Standby-Connected-Standby.453125.0.html
reg add HKLM\System\CurrentControlSet\Control\Power /v PlatformAoAcOverride /t REG_DWORD /d 0
并检查
powercfg /a
如果 S0 被禁用而 S3 被启用。在我的系统上,它没有效果。
是否有类似 Ubuntu 的方式来控制和选择挂起状态(S0、S3)?
在 BIOS 中我只发现一些禁用 C 状态的选项,但它们没有预期的效果。
答案1
戴尔社区论坛的这个帖子说明了一切 https://www.dell.com/community/XPS/Ubuntu-deep-sleep-missing-for-xps-9310/td-p/7734008
S3 在固件级别被故意禁用。
$ cat /sys/power/mem_sleep
[s2idle]
缺少“deep”选项,因此缺少 GRUB 指令
mem_sleep_default=deep
不会有任何效果。
因此,在 DELL 发布一些合理的 BIOS 更新,让用户决定要使用什么挂起状态(S0 <> S3)之前,我以这种方式在 20.04 上设置了休眠功能
https://www.dell.com/community/XPS/Ubuntu-deep-sleep-missing-for-xps-9310/td-p/7734008/page/3
并像这样启用状态电源选项“休眠”
根据以下评论进行了额外的编辑:
按照常见问题解答中的解决方法,将以下内容复制粘贴到文件中/etc/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
[Enable hibernate in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes
[Enable hibernate in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes
重启并测试
休眠功能有效。我的 DELL Vostro 甚至放在袋子里也不会融化。由于 SSD,稍长的启动时间仍然足够快
答案2
长时间使用休眠后添加另一项观察结果。
最近我将额外的内置硬盘换成了固态硬盘,挂起问题似乎已经消失。挂起后风扇不再运转。睡眠时耗电似乎也正常。8 小时睡眠期间电池电量仅下降约 10%。
因此,挂起和风扇问题甚至可能与“旧”硬件有关,这阻碍了完全的现代挂起。