我在联想 IdeaCentre A740 QHD 上安装了 Xubuntu 15.04,该电脑配有 Haswell CPU(BIOS 修订版 00KT19AUS)和 NVIDIA GeForce GTX 850A 2GB。它基本可以正常工作,但当我关机或重启时,它实际上并没有在退出所有程序后关闭电源:
所以我必须单击电源按钮才能将其关闭。
我保留了 Windows 8.1 安装,以防将来出现任何固件。在安装 Xubuntu 之前,我关闭了 Windows 中的 Fastboot,然后安装了 Xubuntu。不幸的是,UEFI BIOS 不允许我更改启动顺序,因此 Ubuntu 实际上以默认方式启动。我尝试过bcdedit /set {bootmgr} path \EFI\ubuntu\shimx64.efi
,尝试在 BIOS 中关闭“quickboot”(不管它是什么),尝试过从 Live Session 中启动修复程序,并尝试过关闭 SecureBoot,但它仍然只能启动 Windows。最后,在 freenode 上 #ubuntu 的 EricC^^ 的帮助下,我只需切换 .efi 文件即可欺骗启动管理器认为 Ubuntu 是 Windows:
cp /boot/efi/efi/boot/bootx64.efi{,.backup}
cp /boot/efi/efi/microsoft/boot/bootmgfw.efi{,.backup}
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/efi/boot/bootx64.efi
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/efi/microsoft/boot/bootmgfw.efi
cp /boot/efi/efi/ubuntu/grubx64.efi /boot/efi/efi/microsoft/boot/grubx64.efi
sudo vim /usr/lib/os-probes/mounted/efi/20microsoft
# and changed bootmgfw.efi to bootmgfw.efi.backup
update-grub
我不知道这是否与关机问题有关。
编辑:仔细想想,从 Xubuntu 安装重新启动(当我通过 USB 驱动器启动时)也不起作用。
到目前为止,我已尝试过将其关闭:
- acpi=off → 没有区别
- acpi=force → 没有区别
- 安装专有的 Nvidia 驱动程序 → 这导致 X 无法启动,并显示消息“bbswitch:未找到独立 VGA 设备”
- 、等的各种变体
sudo poweroff
。sudo shutdown now
sudo shutdown -h now
另外,如果我重新启动而不是关机,我的显示器上就会出现这种迷幻的灯光秀,必须长按电源按钮才能将其关闭:
如果有帮助的话,这里有一个journalctl --all 启动后立即输出甚至可能更好:journalctl -b -1 (从启动到关闭的日志)。
此外,也许相关的是,我现在注意到,登录 XFCE 时按下电源按钮会立即关闭计算机,即使我将 XFCE 电源设置为“按下电源按钮时询问”并且将其他按钮设置为“不执行任何操作”。
/etc/systemd/logind.conf
除标题外,没有未注释的行[Login]
。
有一个/usr/sbin/acpid
进程以 root 身份运行。
编辑:更多启示:Ctrl+Alt+Delete 实际上可以从 GRUB 正常重新启动。
EDIT2:我已提交错误报告因为这似乎无法通过常规技巧来解决。
EDIT3:使用 acpi=noirq 和内核 4.4 及更新版本解决。
答案1
尝试添加
acpi=noirq
到内核启动参数。这使其在关机/重启时关闭电源(使用内核 4.4 和 4.7rc5 测试)。
它似乎也会暂停,但不幸的是不是按下电源按钮即可从挂起状态恢复。
这在 A740 上已经运行良好三个多月了,所以我认为这个问题已经解决了。
答案2
根据提供的信息,我猜测 UEFI BIOS 存在缺陷。通过研究 Haswell 的内核缺陷,我发现了一个可能的解决方法。尝试将其用作xhci_hcd.quirks=262144
启动选项或在 UEFI 中禁用 xhci。
我能想到的唯一其他选择如下:
A) 等待并希望内核开发团队或联想能够提出解决该问题的更新。
B) 联系方式联想支持并推动 BIOS 更新以解决问题或鼓励遇到相同问题的其他人订阅您的错误报告。这可能比 A 更有效,也可能不更有效。
C) 修改BIOS或者核心自己修改 BIOS,直到达到预期结果(不适合胆小者)。我不推荐这种做法,只是为了完整性而包括它。修改 BIOS 很容易导致系统无法启动,保修失效。您还应该仔细阅读上述链接文档中关于编译您自己的内核的理由和反对的理由。
答案3
在仔细检查系统文件后,我看到一些有关 BIOS 的警告。我查看了英特尔的网站,发现有一个升级版本似乎可以解决内存地址重叠的问题。虽然不是很明显,但我的日志表明 BIOS 的各个扇区都返回了意外值,这虽然不会阻止内核启动,但显然不是好事。直到内核停止使用upstart
并开始使用 时,这个问题才显现出来systemd
。
我下载了更新的 BIOS 并应用了它,现在我的系统按预期关闭。
答案4
从你的内核日志(截图)来看,我有一种预感,无人值守升级可能是导致你出现问题的原因。几个错误报告几年前就存在这个问题,但这些问题尚未解决。对此的一个临时修复方法是通过更新禁用自动更新,但我们将把它作为最后的手段。但首先,我们将尝试手动升级:
sudo apt-get autoremove
sudo apt-get dist-upgrade
如果这不能解决您的问题,并且升级没有任何错误或警告,我们将尝试深入挖掘,看看我们能否找出问题的原因。您可以通过检查 的内容来获得线索/var/log/unattended-upgrades
。如果您能找出哪个更新导致了问题,您可以通过修改 将该更新列入黑名单/etc/apt/apt.conf.d/50unattended-upgrades
。
如果仍然不能解决问题,您可以暂时删除该包,以确认是否是原因:
sudo apt-get remove unattended-upgrades
即使它解决了您的问题,我还是建议您重新安装它。如果是这种情况,请返回包含更多信息的错误报告,以便开发人员可以解决您的问题。
警告:如果您选择禁用自动更新,然后不手动更新系统,则从安全性和稳定性的角度来看,您可能会面临风险。