如何在休眠后恢复 Ubuntu 18.04?

如何在休眠后恢复 Ubuntu 18.04?

我跟着这个答案两天前我在新安装的 ubuntu 18.04 上激活了休眠模式,并且成功了。

然后,我设法彻底破坏了文件系统,以至于重新安装似乎是最简单的方法。因此,我重新安装了 ubuntu(使用安装程序中的“其他”选项),其中包含/tmpswap和分区。与上次完全一样。然后/boot/我再次按照该答案设置休眠。

休眠有效 - 但恢复无效:
当我执行 时systemctl 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-initramfsupdate-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,我相当确定它是随后的启动的一部分,而不是“休眠”本身。

我已经尝试了所有三个选择 rebootplatform并且shutdown它们都冻结了我的屏幕。


我目前不再遇到这个确切的问题。对于任何拥有 ThinkPad 的人来说,也许思考维基有帮助

答案1

异种善意地指出ubuntu wiki 上一般有用的文章

恢复时死机、空白或黑屏 在某些情况下,计算机可以正常休眠,并恢复无问题,但唤醒时屏幕会变黑。换句话说,计算机运行正常,但显示屏似乎死机了。

他们建议添加模式设置到。因为我喜欢详细GRUB_CMDLINE_LINUX_DEFAULT启动 ,所以我没有像他们在示例中那样指定,因为我遵循了/etc/default/grub
quiet splash本指南我已经有了GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=<my uuid>"。所以最后我的代码如下:

GRUB_CMDLINE_LINUX_DEFAULT="nomodeset resume=UUID=93232136-5a6d-4ffc-b40d-809ccead48df"

改变之后,你需要运行

sudo update-grub2

(它恰好做了同样的事情sudo 更新 grub)。 进而

reboot

现在systemctl hibernate就可以工作了。


这个问题问的问题和你现在想知道的一样:

  1. 我到底在做什么?这有什么帮助?
  2. 我可以做些什么来避免执行这些步骤吗?

回答建议“安装合适的视频驱动程序”。这可能很好地解释了为什么我这次必须添加nomodeset,但上次我尝试设置休眠时却没有添加 -我的音频驱动程序也坏了,所以这可能与此有关(虽然我不知道为什么会发生这种情况)。
结果这个解决方案破坏了我的音频卡检测和亮度控制。这里了解更多信息。截至 2020 年 7 月,似乎内核更新或其他东西已经为我解决了这个问题。


systemctl suspend现在也能“工作”了……但不知为何屏幕一直亮着。屏幕大部分是黑色的,但你还是能看出来,因为左上角有一条白色下划线。

答案2

你可能分配了一个非常小的交换重新安装时,分区会发生变化。
因此,在尝试休眠时,要保存的数据远远大于可用的交换空间。
因此,休眠过程会停止。

相关内容