解决安装Ubuntu 24.04后关机主板不断电、休眠后不能叫醒问题(原创) ...

王柳  金牌会员 | 2025-3-21 23:47:21 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 992|帖子 992|积分 2976

故障征象

ThinkPad P50老古董安装Ubuntu24.04后,有几个征象:

  • 通过poweroff关机电脑,体系关闭屏幕变黑,主板不会断电,键盘背光还是亮着的,此时无论怎么按电源键都无法重新启动电脑,只有扣电池,重新拔插电源线后才气启动电脑。
  • 通过reboot重启体系,情况和1完全一样。
  • 通过电源图标点击“挂起”,电脑会息屏休眠,但是休眠后征象和1完全一样,也必要扣电池、重新拔插电源线后才气启动电脑。
缘故原由分析

出现这个问题的缘故原由是默认情况下,许多固件会假定体系是 Windows,并据此做出一些假设。
解决办法

操作步调


  • 打开终端。
  • 输入 sudo gedit /etc/default/grub
    1. sudo gedit /etc/default/grub
    复制代码
    打开文件如下:
    1. # If you change this file, run 'update-grub' afterwards to update
    2. # /boot/grub/grub.cfg.
    3. # For full documentation of the options in this file, see:
    4. #   info -f grub -n 'Simple configuration'
    5. GRUB_DEFAULT=0
    6. GRUB_TIMEOUT_STYLE=hidden
    7. GRUB_TIMEOUT=0
    8. GRUB_DISTRIBUTOR=`( . /etc/os-release; echo ${NAME:-Ubuntu} ) 2>/dev/null || echo Ubuntu`
    9. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=! pci=noaer"
    10. GRUB_CMDLINE_LINUX=""
    11. # If your computer has multiple operating systems installed, then you
    12. # probably want to run os-prober. However, if your computer is a host
    13. # for guest OSes installed via LVM or raw disk devices, running
    14. # os-prober can cause damage to those guest OSes as it mounts
    15. # filesystems to look for things.
    16. #GRUB_DISABLE_OS_PROBER=false
    17. # Uncomment to enable BadRAM filtering, modify to suit your needs
    18. # This works with Linux (no patch required) and with any kernel that obtains
    19. # the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
    20. #GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
    21. # Uncomment to disable graphical terminal
    22. #GRUB_TERMINAL=console
    23. # The resolution used on graphical terminal
    24. # note that you can use only modes which your graphic card supports via VBE
    25. # you can see them in real GRUB with the command `vbeinfo'
    26. #GRUB_GFXMODE=640x480
    27. # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
    28. #GRUB_DISABLE_LINUX_UUID=true
    29. # Uncomment to disable generation of recovery mode menu entries
    30. #GRUB_DISABLE_RECOVERY="true"
    31. # Uncomment to get a beep at grub start
    32. #GRUB_INIT_TUNE="480 440 1"
    复制代码
  • 在 GRUB_CMDLINE_LINUX_DEFAULT 行中添加 acpi_osi=!。
    1. GRUB_CMDLINE_LINUX_DEFAULT="quiet splash acpi_osi=! pci=noaer"
    复制代码
  • 生存文件并关闭编辑器。
  • 更新 GRUB 配置:sudo update-grub。
  • 重启计算机。
详细表明



  • ACPI:这是一个标准,用于在操作体系和底层硬件之间举行通讯,特别是在电源管理和热插拔设备方面。
  • OSI (Operating System Identifier):ACPI 规范中的一个特性,允许固件根据操作体系范例调整其行为。默认情况下,许多固件会假定体系是 Windows,并据此做出一些假设。
  • acpi_osi=!:当使用这个参数时,它告诉固件不要假设任何特定的操作体系范例。这意味着固件不应该应用任何针对特定操作体系的优化或行为。
  • pci=noaer: 是另一个常用的参数,用于禁用 PCI 错误规复,有时也能资助解决某些硬件兼容性问题。
使用场景



  • 解决兼容性问题:
    当 Linux 与某些硬件不兼容时,特别是与 ACPI 相关的问题,使用 acpi_osi=! 可以资助解决这些问题。
    例如,有些电脑在 Linux 下无法精确叫醒,这大概是由于固件为 Windows 做了特定的优化,而这些优化对 Linux 不实用。
  • 避免特定行为:
    有些固件大概会为 Windows 应用一些特别的电源管理计谋,这些计谋大概会干扰 Linux 的电源管理。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

王柳

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表