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

Hibernate работал правильно, когда я использовал Ubuntu 17.04. После обновления до 17.10 я не мог возобновить работу из-за черного экрана после возобновления ( эта ошибка ).

После обновления до 18.04, если я пытаюсь запустить компьютер после спящего режима, он загружается так, как будто не было спящего режима.

17
задан 8 March 2019 в 22:53

5 ответов

Существуют изменения, сделанные к настройкам по умолчанию по сравнению с предыдущим LTS (16.04). В моем случае не работал спящий режим, пока я не имею, сделал несколько шагов, среди них увеличил размер файла подкачки, включил его, удостоверился, что политики позволили его и т.д.

Это может легко быть моим самым длинным ответом на всем StackExchange, таким образом, я пытался сделать заголовки описательными.

Начальные загрузки как не были никаким спящим режимом

Было бы благоразумно смотреть на Ваши журналы (dmesg мог бы помочь), и посмотрите, там ли что-нибудь. Существуют причины, когда несмотря на Вас говорящий систему быть в спящем режиме, это на самом деле не будет, или это приостановит к RAM, вместо этого (спят).

Взгляд на kern.log и syslog поиск любого в спящем режиме, связанные сообщения не причинили бы боль также. Разделы, запускающиеся с "проблемы", могут помочь Вам с конкретными вопросами.

Файл подкачки или раздел подкачки

Одно из решающих изменений - то, что теперь у Вас НЕТ раздела подкачки, но у Вас есть файл подкачки.

Файл подкачки не может работать на Ваше смешение аппаратных средств/драйверов/ОС и спящего режима.

Спящий режим выключен

Политики могут также выключить или запретить спящий режим.

Жаргон

Приостановите к RAM - RAM сохраняет данные, компьютер засыпает быстрее, использует больше энергии при приостановке просыпается быстрее. Некоторый вызов этот сон.

Приостановите к диску - иначе спящий режим. RAM сохраняется для свопинга (раздел или файл), компьютер засыпает медленнее, использует меньше энергии при спящем режиме, просыпается медленнее.

Suspend-to-RAM in Linux by Rafael J. Wysocki and A. Leonard Brown

Предпосылки - у Вас есть достаточно пространства?

Для спящего режима Вам нужно к (упрощение здесь) сохраняют Вашу всю RAM к Вашему жесткому диску. Так, необходимо отложить достаточно пространства, чтобы сделать так. Если Вы не сделаете, то это перестанет работать, и Вы не будете в спящем режиме.

  1. free -m скажет Вам, сколько памяти Вы имеете, используйте и сколько находится в Вашей подкачке.
  2. df -h скажет Вам, сколько дискового пространства Вы имеете на каждой точке монтирования и сколько используется, свободно и т.д. Это важно, так как можно хотеть позже указать, где файл подкачки будет расположен, или который раздел "обрезать", чтобы иметь достаточно пространства для подкачки.
  3. cat fstab должен дать Вам информацию, если у Вас есть раздел подкачки или файл. Согласно Спящему режиму Ubuntu FAQ swapfile может не всегда работать с некоторыми комбинациями аппаратных средств/драйверов.

Если Вы не имеете достаточного количества пространства, следуете, Ubuntu подкачивают FAQ. Это говорит Вам, как увеличить файл подкачки, добавьте другого, проверьте, используется ли это и т.д. С командами и объяснениями. Действительно хороший ресурс.

У меня нет достаточного количества пространства для установки моей RAM!

В документах ядра говорится:

/sys/power/image_size управляет размером изображения, созданного приостановить к диску механизмом. Это может быть записано строка, представляющая неотрицательное целое число, которое будет использоваться в качестве верхнего предела размера изображения в байтах. Приостановить к диску механизм приложит все усилия, чтобы гарантировать, что размер изображения не превысит то число. Однако, если это окажется невозможным, то это попытается приостановить так или иначе использование наименьшего возможного изображения. В частности, если "0" будет записан в этот файл, то приостановить изображение будет как можно меньше. Чтение из этого файла отобразит предел размера текущего изображения, который устанавливается к 2/5 доступной RAM по умолчанию.

Так, попытайтесь настроить свой размер изображения. Как - задают другой вопрос.

Предпосылки - Ваша поддержка ядра приостанавливает к диску?

Ядро поддерживает то, что перечислено в /sys/power/state, так:

cat /sys/power/state

Позволенный (к моему знанию) записи там включают: mem, standby, freeze, disk. Объяснение:

  • mem - имеет несколько значений, через какой точно в Вашей системе Вы узнаете cat /sys/power/mem_sleep. Я имею: s2idle [deep]
  • standby - Включение питания Приостанавливает (если поддерживается)
  • freeze - Приостановить для бездействия (STI)
  • disk - Приостановить к диску (STD), спящий режим. Это - Вы хотите.

Затем мы должны проверить cat /sys/power/disk. Если Вы имеете там disabled затем погружение в Вашем BIOS, ища Защищенную загрузку - это - единственная идея, которую я могу предложить, и только вещь, которую я знаю, может вмешаться и выключить спящий режим. В то время как я знаю только о SecureBoot, может быть другая интерференция, таким образом смотрение на Ваш BIOS является хорошей идеей, даже если у Вас нет там "безопасной начальной загрузки".

Чтение здесь:

  1. Документы ядра
  2. Debian Wiki на спящем режиме

TBH, даже если Ваше ядро НЕ поддерживает спящий режим, можно попробовать его в другом отношении, прокрутить вниз для разделения Interfaces.

Считайте это - предупреждения и проблемы - никакой BTRFS

Без определенного порядка:

  1. Не все чипсеты будут работать (не имейте источников, которые я могу процитировать здесь так скажем, это - слух),
  2. VAIO имеет проблемы, предположительно, существует флаг для противостояния им
  3. SecureBoot часто цитируется в качестве вмешивающегося или выключающего спящего режима
  4. След на LAN потребляет энергию даже со спящим режимом
  5. Количество модулей (графика особенно) может быть инициализировано, ПРЕЖДЕ ЧЕМ Ваша система правильно возобновляется от спящего режима - это обычно - причина для черного экрана при возобновлении. Взгляд на ArchLinux Wiki для подсказок относительно того, как отладить проблемы. Я также предложил бы Ubuntu, FAQ на в спящем режиме проблемы. Просматривание ошибок Панели запуска может также привести к результатам. IIRC, существует определение параметра ядра в секундах задержка перед резюме.
  6. Разрешение процедуры спящего режима отличается для различных версий Polkit

Не используйте BTRFS и будьте в спящем режиме: поврежденные данные будут результатом.

Я хочу быть в спящем режиме - раздел подкачки

Существуют случаи, когда люди предшествуют файлу подкачки и возвращаются для свопинга раздела. В конце концов, это работало над предыдущим LTS. Я не попробовал, так не предложит указатели.

Я хочу быть в спящем режиме - с файлом подкачки

  1. Удостоверьтесь, что у Вас есть достаточно пространства там. Подкачка Ubuntu, которую FAQ говорит Вам, в каком количестве Вы нуждаетесь, команды сверху, делает так также. Если Вы нуждаетесь в большем количестве информации здесь, задаете другой вопрос, поскольку это - длинная тема.
  2. Увеличьте файл подкачки или создайте новый с достаточно хорошим размером (предпочтенный, я соглашаюсь с @muru), и изменение в /etc/fstab к новому. Перезагрузка для наблюдения изменения взята хорошо (резервное копирование хранилища fstab таким образом, можно легко вернуться на всякий случай.
  3. Укажите на свое ядро на это с соответствующими параметрическими усилителями, таким образом, оно знает, откуда возобновиться.
  4. Обновите/реконфигурируйте свой загрузчик и перезагрузку.

Параметры ядра? Страшный!

Тщательно читайте и решите, хотите ли Вы сделать это, но это - просто способ настроить Ваше ядро. Может быть легче быть в спящем режиме через systemd и uswsusp (см. Интерфейсы, ниже). Это может быть, который Вы - как я - в конечном счете решите, приостанавливают к RAM, достаточно, и Вы не хотите иметь 32 ГБ на файле подкачки (не настолько большой для людей с одним SSD в их ноутбуках, например). Но!

  1. будьте в спящем режиме к файлу подкачки, требует resume= знать, которые делят Ваш файл подкачки, идет и resume_offset= знать где в файле подкачки начинать возобновляться от.
  2. будьте в спящем режиме к разделу, требует resume= указать для свопинга раздела.
  3. решение черных экранных вопросов может потребовать resumedelay=.

Документы ядра о задержке возобновления от Спящего режима:

resumedelay = [СПЯЩИЙ РЕЖИМ] Задержка (в секундах) для приостановки прежде, чем попытаться считать файлы резюме

Обязательные параметры для своп-файла и спящего режима:

возобновитесь = [SWSUSP]

      Specify the partition device for software suspend

      Format:

      {/dev/<dev> | PARTUUID=<uuid> | <int>:<int> | <hex>}

resume_offset = [SWSUSP]

      Specify the offset from the beginning of the partition
      given by "resume=" at which the swap header is located,
      in <PAGE_SIZE> units (needed only for swap files).

      See Documentation/power/swsusp-and-swap-files.txt

Для resume= выберите тот же стиль как root элемент имеет в fstab. Так, также /dev/sdaX или UUID или LVM. Для спящего режима в файл - обеспечивают раздел, где Ваш файл может быть найден.

Чтение:

  1. https://www.kernel.org/doc/Documentation/admin-guide/kernel-parameters.txt
  2. https://wiki.archlinux.org/index.php/Kernel_parameters

Проблема - подкачивает заголовок, не найденный

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

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

См.: https://unix.stackexchange.com/questions/43508/debian-hibernate-problem-pm-swap-header-not-found

mkswap привык к файлу формата, читайте больше на нем здесь

Проблема! Спящий режим, не позволенный!

Тест: pm-hibernate (если пополудни-utils пакет установлен), или systemctl hibernate скажите Вам, что Нельзя. Настройка по умолчанию в Ubuntu начиная с IIRC 12.04.

Решение (решения): зависит от Вашей версии Polkit, Вашей версии Ubuntu и аромата... Посмотрите этот вопрос. Кроме того, ArchWiki на Polkit может помочь.

Для Монетного двора см.: https://forums.linuxmint.com/viewtopic.php? t=259912

Проблема! Спящий режим отключен чем-то в BIOS!

Тест: cat /sys/power/disk имеет disabled. Журналы показывают "Отказавший для спящего режима системы через вошедший: глагол Сна, не поддерживаемый".

Решение: ищите свой BIOS и найдите проблематичную вещь. Выключите его.

Решение 2: попробуйте другой в спящем режиме интерфейс.

См.: Как активировать спящий режим в 16.04.1? (systemd).

Интерфейсы

  1. swsusp - низкоуровневый интерфейс ядра. Посмотрите Предпосылки - ядро для который файлы. Запись в файлы непосредственно может вызвать, приостанавливают (к RAM, к диску и гибриду). По данным SwapFAQ, проблематичного со спящим режимом в файл.
  2. uswsusp - ArchWiki и Wiki Debian и хороший вопрос о AskUbuntu с рецензией, как использовать его.
  3. systemd - ArchWiki на нем
  4. пополудни-utils - AFAIK это - набор сценариев первоначально от Debian - я буду с удовольствием приветствовать больше информации сам.

Заключительные замечания

Для меня это были несколько почти двух дней работы для компиляции этого. Надо надеяться, это поможет, Вы (и другие) решаете свою проблему быстрее. Существует неподвижная суть, которую я упустил, но это - 2:00, и я не испытываю желание писать больше теперь. Я, конечно, открыт для чьих-либо указателей для создания этого лучше, таким образом прокомментируйте далеко. Я отвечу, после того как я сплю, работаю и т.д.:-)

Я не определенный спящий режим к диску, является настолько большим. Я пошел со сном в конце. Но для меня проблема была с наличием файла на 32 ГБ только, чтобы смочь сделать спящий режим, так как я обычно стараюсь не подкачивать вообще. Мой начальный своп-файл был на уровне 2 ГБ, и это было главным образом пусто. YMMV. Тем не менее, удачи! И запускаются с журналов!

28
ответ дан 23 November 2019 в 02:19

Используйте раздел подкачки UUID вместо, он - точка монтирования в параметре РЕЗЮМЕ resume=UUID=<#> в обоих /etc/default/grub и /etc/initramfs-tools/conf.d/resume

Создайте запись для раздела подкачки в /etc/fstab без точки монтирования что-то вроде этого

# Entry for Swap : 
UUID=# none  swap    sw              0       0

В /etc/default/grub Я использовал отдельную запись для возобновления спящего режима

# FOR HIBERNATION 
GRUB_CMDLINE_LINUX="resume=UUID=..."

Создайте policykit в местных властях (pkla)

sudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla

И вставьте там

[Re-enable hibernate by default in upower]
Identity=unix-user:*
Action=org.freedesktop.upower.hibernate
ResultActive=yes

[Re-enable hibernate by default in logind]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions;org.freedesktop.login1.hibernate-ignore-inhibit
ResultActive=yes

[Enable hibernate to be run via cron]
Identity=unix-user:*
Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.hibernate-multiple-sessions
ResultAny=yes

После того обновления initramfs и GRUB

sudo update-initramfs -u -k all
sudo update-grub

Перезагрузка, откройте некоторые приложения и использование systemctl hibernate (без sudo), чтобы видеть, работает ли это

9
ответ дан 23 November 2019 в 02:19

Для меня это всегда работало, до 18.04 и после 18.04 я включил его, как находится во многих статьях, но это внезапно прекратило работать только вчера (хорошо работающий в течение 4-5 месяцев),

и вот... ОДНА ВЕЩЬ, которая получила его работающий снова...

Скажите grub2, где раздел подкачки:

Сначала узнайте, какой раздел это находится на использовании ниже команды:

cat /etc/fstab

Мой находится на sda7, как следующий вывод:

подкачка была на/dev/sda7 во время установки

Затем добавьте в Grub2 следующее дополнение к следующей строке, с помощью следующей команды:

sudo gedit/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT = "intel_pstate=disable возобновляют =/dev/sda7"

Важная часть resume=/dev/sda7

/dev/sda7 в моем случае

Затем Личинка Обновления со следующей командой, и после этого это начало работать отлично снова:

sudo update-grub

После многих попыток это было одной работавшей вещью, возможно, это было только из-за обновления ядра, которое завинтило его, однако это работало.

1
ответ дан 23 November 2019 в 02:19

надежда это поможет кому-то, но я выполняю корму / человечность 19.04. В моей установке я смог быть в спящем режиме с помощью s2disk, или пополудни - в спящем режиме, но резюме перестало работать. Зафиксировать это, поскольку моя система загружается с помощью UEFI вместо личинки. Я просто должен был переустановить загрузчик. Чтобы проверить, выполняете ли Вы использование UEFI следующее:

[ -d /sys/firmware/efi ] && echo "Installed in UEFI mode" || echo "Installed in Legacy mode"

если в режиме UEFI, то я следовал этому руководству для переустановки загрузчика, он варьируется при использовании nvme диска или sata диска: https://support.system76.com/articles/bootloader/

удостоверьтесь, что в Ваших kernalboot опциях Вы указываете раздел или UUID того, где возобновиться от, например, что-то вроде этого:

resume=UUID=ed8347ed-2eb4-40bc-bc77-cc53b987ed88

Можно добавить это также: 1) тупик ядра sudo-a "resume=UUID =..." 2) отредактируйте/etc/initramfs-tools/conf.d/resume файл и добавьте: resume=UUID=ed8347ed-2eb4-40bc-bc77-cc53b987ed88

проверьте Вас/var/log/syslog файл на что-то вроде этого: 4 августа 22:26:42 поп-OS/usr/bin/kernelstub [19639]: kernelstub: копты ОТЛАДКИ: root=UUID=b37019a8-91f5-445f-94c1-7359a49ed5df ro подавляют шумы loglevel=0 systemd .show_status=false resume=UUID=ed8347ed-2eb4-40bc-bc77-cc53b987ed88

Если резюме отсутствует, или неправильно затем необходимо будет обновить ядро начальной загрузки снова.

0
ответ дан 23 November 2019 в 02:19

Кроме установки подкачки возобновляют точку в личинке, упомянутой в ответе Sam73, я нашел, что моя Ubuntu 18.04 также должна установить laptop-mode-tools:

$sudo apt install laptop-mode-tools

затем изменение ENABLE_LAPTOP_MODE_ON_AC=1 в файле конфигурации:

$sudo vim /etc/laptop-mode/laptop-mode.conf

запустите режим ноутбука с:

$sudo laptop_mode start

P.S. Вы могли проверить, запускается ли ноутбук или не с

$cat /proc/sys/vm/laptop_mode

Если это печатает 0, laptop_mode не работает, иначе, это указывает, что хорошо работает.

0
ответ дан 23 November 2019 в 02:19

Другие вопросы по тегам:

Похожие вопросы: