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

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

故障现象

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

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

原因分析

出现这个问题的原因是默认情况下,许多固件会假定系统是 Windows,并据此做出一些假设。

解决办法

操作步骤

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

详细解释

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

使用场景

  • 解决兼容性问题:
    当 Linux 与某些硬件不兼容时,特别是与 ACPI 相关的问题,使用 acpi_osi=! 可以帮助解决这些问题。
    例如,有些电脑在 Linux 下无法正确唤醒,这可能是由于固件为 Windows 做了特定的优化,而这些优化对 Linux 不适用。
  • 避免特定行为:
    有些固件可能会为 Windows 应用一些特殊的电源管理策略,这些策略可能会干扰 Linux 的电源管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值