Ubuntu 14.04 在暂停后恢复时出现错误。

我最近在我的双系统(Windows 7)东芝Satellite笔记本上将Ubuntu从12.04升级到14.04。升级后,每当笔记本电脑暂停一段时间后,无法恢复。当我尝试通过选择Grub加载器中的Ubuntu来恢复笔记本电脑时,登录屏幕会出现一会儿然后变黑,如此反复几次,最终回到“暂停”状态。我必须强制重启系统才能进入Ubuntu。以下是崩溃报告的前几行:
ProblemType: KernelOops
Annotation: This occured during a previous hibernate and prevented it from resuming properly.
Architecture: i386
Date: Wed Apr 30 10:57:56 2014
DistroRelease: Ubuntu 14.04
ExecutablePath: /usr/share/apport/apportcheckresume
ExecutableTimestamp: 1397576330
Failure: hibernate/resume
InterpreterPath: /usr/bin/python3.4
Package: linux-image-3.13.0-24-generic
ProcCmdline: /usr/bin/python3 /usr/share/apport/apportcheckresume
ProcCwd: /
ProcEnviron:
 TERM=linux
 PATH=(custom, no user)
.....

这对我来说也是一个持续存在的问题。 - labnut
@labnut,尝试切换到tty1,按下Ctrl+Alt+F1,然后运行sudo pm-hibernate,重新启动后,等待系统准备好后,看看能否切换回图形界面tty7,按下Ctrl+Alt+F7。 - user.dz
啊啊啊!错误信息显示“失败:休眠/恢复”。这个问题的标题暗示了这是一个挂起错误。挂起和休眠是两个完全不同的东西,有不同的问题和根本原因。最好创建准确的标题。(在我的情况下,我遇到的是挂起问题,而不是休眠问题...这个帖子却出现在谷歌搜索的首位,与挂起故障毫无关系。) - zipzit
4个回答

解决方案对我有用(从我的个人手册中复制而来,没有修改)。 我有一台装有Ubuntu 14.04的Lenovo T530;主线内核3.14.9;安装了nvidia-331-updates软件包(331.38-0ubuntu7)。
=> 暂停/恢复对我来说运行得很好。 => 我还解决了休眠后恢复的问题,解决方法是:从笔记本电脑中弹出SD卡! :-|
我的评论对我有用(几个月前)。
suspendResume_WORKING() {
# WIFI solution
# 1.) sudo vi /etc/pm/config.d/modules
# 2.) Replace SUSPEND_MODULES with this line:
#         SUSPEND_MODULES="$SUSPEND_MODULES uhci_hd button ehci_hd iwlwifi"

# SD card solution:
# 3.) Copy file from https://github.com/wschaub/T530-    settings/blob/master/pm/sleep.d/unmount_sdcard
#     to /etc/pm/sleep.d/unmount_sdcard
# 4.) chmod +x /etc/pm/sleep.d/unmount_sdcard

# ACPI solution:
# 5.) Replace lines in /etc/default/grub
#     GRUB_CMDLINE_LINUX_DEFAULT="noquiet nosplash acpi_osi=Linux acpi_backlight=vendor acpi_sleep=s4_nohwsig loop.max_part=63 loop.max_loop=64"
#     GRUB_CMDLINE_LINUX=""


# X.) sudo update-initramfs -u
# X+1.) sync; sudo reboot

}

我在我的Thinkpad T530上也遇到了同样的问题。 在加载时,输入-> F1->配置->显示->Intel视频适配器 而不是独立视频适配器,这对我解决了问题。 - alexeydemin
ACPI 解决方案帮助我解决了我的 Lenovo z50-70 笔记本电脑的问题 —— 在暂停后无法唤醒。现在一切都看起来正常了! - kishie
我给你的回答点了踩,因为没有提供如何实际应用这个修复方法的信息。suspendResume_WORKING() 函数在哪里?为什么这个解决方案有效?当你复制/粘贴这段代码时,你到底在做什么? - Stewart

我遇到了类似的问题。通过更改显卡驱动程序,我成功地使休眠功能重新工作起来。在附加驱动程序中,我有以下选项:
1. NVIDIA二进制驱动程序331.113 - 导致上述错误 2. NVIDIA旧版二进制驱动程序304.125 - 休眠功能正常 3. Nouveau显示驱动程序 - 休眠功能正常,但会出现与休眠无关的其他错误
以下是我的崩溃日志片段:
问题类型:KernelOops 注释:这发生在之前的休眠过程中,并阻止了正确恢复。 架构:amd64 日期:2015年1月5日星期一09:20:38 发行版:Ubuntu 14.04 可执行路径:/usr/share/apport/apportcheckresume 可执行时间戳:1414700591 失败:休眠/恢复 解释器路径:/usr/bin/python3.4 软件包:linux-image-3.13.0-43-generic 3.13.0-43.72

我知道我回复晚了一年,但是我已经为这个问题奋斗了一段时间,并最终找到适合我的解决方案。
来源于这里: http://geekdevs.com/2010/04/solved-unable-to-enumerate-usb-device-disabling-ehci_hcd/#more-377 首先,使用
ls /sys/bus/pci/drivers/ehci-pci

应该有一个以0000:00:xx.x格式命名的文件。请记下它。
然后修改/etc/rc.local,在shebang(第一行)之后添加这一行代码。
echo -n 0000:00:xx.x | sudo tee -a /sys/bus/pci/drivers/ehci-pci/unbind

填入xx.x,根据你的文件名填写。对我来说是0000:00:1d.0。
重新启动后应该可以正常工作,或者你可以在终端中输入这行命令进行立即修复。
祝好运给所有需要的人。我知道我需要它。

1为什么这个有效?它实际上是做什么的? - Stewart

这是Linux内核中已知的一个bug,至少在4.2 - 4.4版本中存在。实际上,恢复过程失败可能意味着屏幕变暗但系统仍然处于开启状态;成功输入登录信息可以实现登录并显示亮屏,但并非总是如此。
您可以通过升级到Linux内核4.6来解决问题。请参考类似案例在Lenovo Thinkpad B51 这里,但该情况适用于所有的Linux 4.2-4.4版本,也包括您的系统。
从4.4升级到Linux内核4.6非常简单顺利,请参阅这里。同样也可以从4.2版本进行升级。然而,我建议您立即进行一次16.04的全新安装,并从4.4升级到4.6。
Ubuntu版本:14.04和16.04 Linux内核版本:4.2-4.4 硬件:Lenovo Thinkpad B51、Lenovo Thinkpad G50-30、Macbook Air 2013年中等款式...