两天前,我按照这个答案在我全新安装的 ubuntu 18.04 上激活了休眠功能,它起作用了。
然后我设法彻底破坏了文件系统,以至于干净的重新安装似乎是最简单的方法。/tmp
所以我用, swap
,/boot
和/
分区重新安装了 ubuntu(使用安装程序中的“其他”选项) 。跟我上次做的一模一样。然后我再次按照该答案设置休眠。
休眠有效 - 但恢复无效:
当我执行 asystemctl hibernate
时,我的笔记本电脑屏幕立即变黑,只有电源按钮上的 LED 指示与完全关机有任何区别 - 这很好。但是,笔记本电脑不会响应任何交互,例如键盘输入或短按电源按钮。唯一的选择是按住电源按钮 15 秒以强制关机,然后正常按下以重新启动。
以下是有关我的系统的一些信息:
generic@motorbrot-linux:~$ cat /sys/power/state
freeze mem disk
generic@motorbrot-linux:~$ grep swap /etc/fstab
# swap was on /dev/nvme0n1p7 during installation
UUID=93232136-5a6d-4ffc-b40d-809ccead48df none swap sw 0 0
generic@motorbrot-linux:~$ cat /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=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
#GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""
# FOR HIBERNATION
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=93232136-5a6d-4ffc-b40d-809ccead48df"
# 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-pc only)
#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"
我注意到的一件事是它update-initramfs
显示update-grub
了它的输出两次。按照这个答案摆脱了那个,但我很困惑为什么我还有两个linux image
:
generic@motorbrot-linux:~$ sudo update-grub
[sudo] password for generic:
Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.3.0-42-generic
Found initrd image: /boot/initrd.img-5.3.0-42-generic
Found linux image: /boot/vmlinuz-5.3.0-28-generic
Found Windows Boot Manager on /dev/nvme0n1p2@/EFI/Microsoft/Boot/bootmgfw.efi
Adding boot menu entry for EFI firmware configuration
done
我正在寻找有关如何在将笔记本电脑发送到休眠状态后使其恢复的指导。如果相关,我有一个带有 ubuntu 18.04 和 Windows 10 的双启动系统。
Device Start End Sectors Size Type
/dev/nvme0n1p1 2048 1085439 1083392 529M Windows recovery environme
/dev/nvme0n1p2 1085440 1288191 202752 99M EFI System
/dev/nvme0n1p3 1288192 1320959 32768 16M Microsoft reserved
/dev/nvme0n1p4 1320960 614399999 613079040 292.3G Microsoft basic data
/dev/nvme0n1p5 614400000 614985727 585728 286M Linux filesystem
/dev/nvme0n1p6 614985728 628658175 13672448 6.5G Linux filesystem
/dev/nvme0n1p7 628658176 667719679 39061504 18.6G Linux swap
/dev/nvme0n1p8 667719680 1953523711 1285804032 613.1G Linux filesystem
我刚刚尝试过systemctl suspend
,同样的事情发生在那里:屏幕立即变黑,唯一让它重新打开的方法是通过按下电源按钮大约 20 秒来强制关机。有时,挂起后不是黑屏,而是冻结的黑屏,上面有一个不会移动的光标。这个暗示司机有过错的答案nouveau
没有帮助。
ping“休眠”系统没有反应,而 ping 完全启动的系统确实得到回复。
在黑屏上按亮度键没有反应。
这/var/log/syslog
是我从“请求睡眠”开始到我有理由确定它是随后启动的一部分而不是“休眠”本身的部分摘录。
我已经尝试了所有三个选项 reboot
,platform
并且shutdown
它们都冻结了我的屏幕。
我目前不再遇到这个确切的问题。对于任何拥有 thinkpad 的人,也许ThinkWiki会有所帮助
xenoid好心地指出了ubuntu wiki 上一篇很有帮助的文章。
他们建议将nomodeset添加到
GRUB_CMDLINE_LINUX_DEFAULT
in/etc/default/grub
。因为我喜欢详细启动,所以我没有
quiet splash
像他们在他们的示例中那样指定,而且因为我遵循了这个指南,所以我已经有了GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=<my uuid>"
. 所以最后我的行看起来像这样:更改后,您需要运行
(恰好与sudo update-grub完全相同)。接着
现在
systemctl hibernate
应该可以了。这个问题问的是你现在想知道的同样的事情:
答案建议“安装合适的视频驱动程序” 。这可能很好地说明了为什么我这次必须添加
nomodeset
,但不是上次我尝试设置休眠 -我的音频驱动程序也坏了,所以这可能是相关的(尽管我不知道为什么会发生这种情况)。事实证明,这个解决方案破坏了我的声卡检测和亮度控制。请参阅此处了解更多信息。不过,截至 2020 年 7 月,似乎内核更新或某些东西已经为我解决了这个问题。
systemctl suspend
现在也“工作”了……但由于某种原因,屏幕一直亮着。它大部分是黑色的,但你可以分辨出来,因为左上角有一个白色的下划线。您可能在重新安装期间分配了一个非常小的SWAP分区。
因此,在尝试休眠时,要保存的数据远远大于可用的交换空间。
因此,休眠过程停止。