Как возобновить работу Ubuntu 18.04 после спящего режима?

Как возобновить работу Ubuntu 18.04 после спящего режима?

Я последовал заэтот ответдва дня назад я активировал спящий режим на своей свежей установке Ubuntu 18.04, и это сработало.

Затем мне удалось сломать файловую систему настолько полностью, что чистая переустановка показалась самым простым способом. Поэтому я переустановил Ubuntu (используя опцию «другой» в установщике) с разделом /tmp, swap, /bootи /. Точно так же, как я сделал в прошлый раз. Затем я снова последовал этому ответу, чтобы настроить спящий режим.

Спящий режим работает, а возобновление — нет:
Когда я выполняю systemctl hibernate, экран моего ноутбука мгновенно становится черным, и только светодиод на кнопке питания показывает разницу с полным выключением — это хорошо. Однако ноутбук не реагирует ни на какое взаимодействие, например, на ввод с клавиатуры или короткие нажатия на кнопку питания. Единственный вариант — нажать кнопку питания на 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виноват водитель, не помогло.

Пингование «спящей» системы не приводит к какой-либо реакции, тогда как пингование полностью загруженной системы приводит к получению ответов.

Нажатие клавиш яркости на черном экране не вызывает никакой реакции.

Здесьэто отрывок из моего текста, /var/log/syslogначинающегося с «запроса на сон» и заканчивающегося точкой, где я достаточно уверен, что это часть последующей загрузки, а не сама «спячка».

Я попробовал всетри варианта reboot, platformи shutdownвсе они замораживают мой экран.


В настоящее время я больше не испытываю эту проблему. Для тех, у кого ThinkPad, возможноThinkWikiполезно

решение1

ксеноидлюбезно указал нав целом полезная статья на вики Ubuntu.

Мертвый, пустой или черный экран при возобновлении работы В некоторых случаях компьютер может нормально перейти в спящий режим и возобновить работу без проблем, за исключением пробуждения с темным экраном. Другими словами, компьютер работает нормально, но дисплей кажется мертвым.

Они рекомендуют добавитьnomodesetв . Поскольку мне нравится подробная загрузка, я не указал, 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. Могу ли я что-то сделать, чтобы избежать выполнения этих шагов?

Theотвечатьпредлагает "установить подходящие видеодрайверы". Это может указывать на то, почему мне пришлось добавить nomodesetэто время, но не в прошлый раз, когда я пытался настроить спящий режим - мой аудиодрайвер тоже сломался, так что это может быть связано (хотя я не знаю, почему это произошло).
Оказывается,это решение сломало обнаружение моей звуковой карты и управление яркостью.Видетьздесьдля получения дополнительной информации. По состоянию на июль 2020 года, похоже, обновление ядра или что-то в этом роде исправило эту проблему для меня.


systemctl suspendтеперь тоже "работает"... но по какой-то причине экран остается включенным. Он в основном черный, но это видно по белому подчеркиванию в левом верхнем углу.

решение2

Вы, вероятно, выделили очень небольшойМЕНЯТЬраздел во время переустановки.
Таким образом, при попытке перехода в спящий режим данные, которые нужно сохранить, намного больше, чем доступное пространство подкачки.
Следовательно, процесс перехода в спящий режим останавливается.

Связанный контент