微信扫一扫 分享朋友圈

已有 144 人浏览分享

开启左侧

Thinkbook 14p Gen2 ACH Ubuntu/Linux睡眠后掉硬盘「已解决」

[复制链接]
144 25
2022.04.08
最后还是自己动手解决了联想BIOS给Linux提供的ACPI表的问题,并且对Linux增加了S3休眠的支持。
---

如题。尝试过Ubuntu/Kubuntu/Manjaro/Arch,内核版本5.10、5.15、5.16、5.17,都可以正常使用。但只要一旦睡眠,SSD就掉了。
以为是SSD问题,更换了海康威视C2000eco 1T后,问题还是100%复现。
启动Ubuntu可以正常使用,但是一旦睡眠再唤醒,会出现IO Error,然后立马EXT4 Error。

为了定位问题,
使用live cd启动Ubuntu虚拟环境,然后点击睡眠,唤醒后,live cd正常使用,但是SSD掉了,fdisk -l也看不到/dev/nvme0n1。再次点击睡眠,SSD又可以被侦测到,/dev目录也可以看到/dev/nvme0n1。

这个问题很奇怪,现在导致我的Thinkbook 14p无法正常使用Linux,十分影响使用。

BIOS版本:2022.03月最新的39版本。尝试回退过,也无效。

希望Thinkbook 14p BIOS团队解决下这个问题,这个问题让我很苦恼,我第一台联想笔记本就遇到这个问题,之前一直用华硕的都没有遇到过这么离谱的问题。

还有支持下社区提出的S3睡眠问题。

评论 25

kikowong  新手上路  发表于 2025-9-30 15:02 | 显示全部楼层
最后,我自己找到了问题和解决方案。 现在S3休眠,NVMe掉盘正常工作。
也许有点复杂,但是有效的。

此问题的最佳解决方案是自定义 Linux 内核。

1.将联想BIOS提供的默认DSDT替换为我自定义的DSDT文件。 建议使用 CPIO 补丁或重新编译内核。 大家可以查看 DSDT 的 Arch wiki了解如何替换。这个启用了S3休眠以及修复了一个\_SB.LID0的ACPI Error问题。

适用于 Thinkbook 14p(BIOS 版本 39)的 DSDT 修补文件:https://gist.github.com/Kingtous/9b20742899d7a0bfbd82d0eb43fa412b。顺手上传了一份到社区,github上不去的可以直接到帖子里面下载,里面的aml是编译好的dsdt,aml文件可以直接cpio载入,hex文件可以编译进Linux内核。



2. 使用我定制的内核源代码重新编译内核,用我定制的内核启动系统。Linux 内核的默认行为是: 如果发现 NVMe 一个id 不相等,会直接删除 NVMe 命名空间,导致NVMe掉盘。

内核地址:https://github.com/Kingtous/linux

我自己在 Linux 内核 5.17.1 (目前最新的稳定内核,并且amd cpu在linux 5.17性能大涨)在 Manjaro Linux 中测试通过。大家也可以试一试。

我也在英文联想社区发了个贴,希望有更多国内国外同机型的hxd一起测试一下。https://forums.lenovo.com/t5/Thi ... 8948?page=1#5613642

举报 使用道具

回复 支持 反对
zengjin1981  新手上路  发表于 2025-9-30 15:02 | 显示全部楼层
有遇到问题的hxd吗

举报 使用道具

回复 支持 反对
a459992001  新手上路  发表于 2025-9-30 15:03 | 显示全部楼层
终于等到一个解决方案,非常感谢。
我不太懂内核和BIOS,不太干贸然动手,想再请教一下。
我查看了arch wiki, https://wiki.archlinux.org/title/DSDT
请问是按照 Using a CPIO archive 的说明操作吗?

举报 使用道具

回复 支持 反对
abcdefe  新手上路  发表于 2025-9-30 15:03 | 显示全部楼层
如果要解决S3睡眠问题,可以按CPIO处理,但是每次都得在内核启动加上这个cpio启动参数。如果是掉盘,需要改一行代码(可以看我的github的commit)。
我自己是直接编译了一个内核(可以看arch wiki里面怎么编译,加入自定义DSDT)thinkbook14p的cpu还是很强的,我直接14线程编译,不到1小时全部编译完了。

举报 使用道具

回复 支持 反对
killercow  新手上路  发表于 2025-9-30 15:04 | 显示全部楼层
终于有大佬给出了解决S3睡眠的方案.可惜我的tb14p因为这个S3睡眠问题已经卖了,看来我要重新买回14P了.先研究下.谢谢大佬了!!!!

举报 使用道具

回复 支持 反对
Crystal  新手上路  发表于 2025-9-30 15:05 | 显示全部楼层
牛逼呀

举报 使用道具

回复 支持 反对
halu860125  新手上路  发表于 2025-9-30 15:06 | 显示全部楼层
如果只是需要让睡眠正常可用,只需要修改dsdt么

举报 使用道具

回复 支持 反对
zhubianj  新手上路  发表于 2025-9-30 15:06 | 显示全部楼层
是的。

另外勘误一下,CPIO是导入.aml文件

举报 使用道具

回复 支持 反对
zhangyinong  新手上路  发表于 2025-9-30 15:07 | 显示全部楼层
kingtouse 发表于 2022-4-12 14:40
是的。

另外勘误一下,CPIO是导入.aml文件
已经成功了,感谢大佬

举报 使用道具

回复 支持 反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

关注

21

粉丝

26

主题
精彩推荐
热门资讯
网友晒图
图文推荐
  • 微信公众平台

  • 扫描访问手机版

Archiver|手机版|小黑屋|水窝ibm

GMT+8, 2025-10-1 07:19 , Processed in 0.115577 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2022 Comsenz Inc.