Ubuntu 24.04.1 не может перейти в спящий режим после обновления с 22.04

Вопрос или проблема

uname -a:
Я обновляю ядро, потому что у меня ноутбук ROG, и продукты с сайта https://asus-linux.org/ требуют ядро версии 6.10.

Linux sysescool-G614JVR 6.10.7-061007-generic #202408291638 SMP PREEMPT_DYNAMIC Thu Aug 29 16:58:34 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Я слежу за этим сайтом: https://ubuntuhandbook.org/index.php/2021/08/enable-hibernate-ubuntu-21-10/ и этим: https://bugs.launchpad.net/ubuntu/+source/initramfs-tools/+bug/1769297 и другими.

Я создаю /swap.img с помощью:

sudo dd if=/dev/zero of=/swap.img bs=1MB count=102400 status=progress
sudo chmod 600 /swap.img
sudo mkswap /swap.img
sudo swapon /swap.img

sudo vim /etc/fstab:

/swap.img      none     swap   sw   0    0

swapon --show:

NAME      TYPE  SIZE USED PRIO
/swap.img file 95.4G   0B   -2

free -h:

               total        used        free      shared  buff/cache   available
Mem:            62Gi       5.4Gi        54Gi       945Mi       4.1Gi        56Gi
Swap:           95Gi          0B        95Gi

sudo filefrag -v /swap.img | head --lines=5:

Filesystem type is: ef53
File size of /swap.img is 102400000000 (25000000 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..    2047:  941064192.. 941066239:   2048:            
   1:     2048..    4095:   25516032..  25518079:   2048:  941066240:

lsblk:

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0         7:0    0     4K  1 loop /snap/bare/5
....... loop 1 - 19 .......
loop20        7:20   0 321.1M  1 loop /snap/vlc/3777
nvme1n1     259:0    0 953.9G  0 disk 
├─nvme1n1p1 259:1    0   260M  0 part /boot/efi
├─nvme1n1p2 259:2    0    16M  0 part 
├─nvme1n1p3 259:3    0 926.3G  0 part 
├─nvme1n1p4 259:4    0   1.1G  0 part 
├─nvme1n1p5 259:5    0    26G  0 part 
└─nvme1n1p6 259:6    0   260M  0 part 
nvme0n1     259:7    0   3.7T  0 disk 
├─nvme0n1p1 259:8    0    16M  0 part 
├─nvme0n1p2 259:9    0   513M  0 part 
└─nvme0n1p3 259:10   0   3.7T  0 part /var/snap/firefox/common/host-hunspell
                                      /

sudo blkid /dev/nvme0n1p3:

/dev/nvme0n1p3: UUID="cbc32cab-155d-47cd-a8c6-63e5bf5dd1c9" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="447ea4d7-c4b4-400f-bc11-d150875a7979"

sudo vim /etc/default/grub:

................
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=cbc32cab-155d-47cd-a8c6-63e5bf5dd1c9 resume_offset=941064192"
................

sudo update-grub:

Sourcing file `/etc/default/grub'
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.10.7-061007-generic
Found initrd image: /boot/initrd.img-6.10.7-061007-generic
Found linux image: /boot/vmlinuz-6.8.0-40-generic
Found initrd image: /boot/initrd.img-6.8.0-40-generic
Found linux image: /boot/vmlinuz-6.5.0-45-generic
Found initrd image: /boot/initrd.img-6.5.0-45-generic
Found memtest86+ 64bit EFI image: /boot/memtest86+x64.efi
Warning: os-prober будет выполнена для обнаружения других загрузочных разделов.
Её вывод будет использован для обнаружения загрузочных бинарников на них и создания новых загрузочных пунктов.
Найдена Windows Boot Manager на /dev/nvme1n1p1@/EFI/Microsoft/Boot/bootmgfw.efi
Добавление пункта меню загрузки для настроек прошивки UEFI ...
готово

sudo vim /etc/initramfs-tools/conf.d/resume:

resume=UUID=cbc32cab-155d-47cd-a8c6-63e5bf5dd1c9 resume_offset=941064192

sudo update-initramfs -c -k all:

update-initramfs: Generating /boot/initrd.img-6.10.7-061007-generic
update-initramfs: Generating /boot/initrd.img-6.5.0-45-generic
update-initramfs: Generating /boot/initrd.img-6.8.0-40-generic

sudo vim /sys/power/resume:

259:10

sudo vim /etc/tmpfiles.d/hibernation_resume.conf:

#    Path                   Mode UID  GID  Age Argument
w    /sys/power/resume       -    -    -    -   259:10

sudo vim /etc/modprobe.d/blacklist.conf добавьте ниже:

blacklist intel_hid

перезагрузите и попробуйте sudo systemctl hibernate:
Ноутбук действительно пытается перейти в режим гибернации: светодиод диска мигает, свет клавиатуры гаснет.
Но через несколько секунд возвращается на экран входа в систему. он не выключается.
Войдя в систему, все до гибернации сохраняется.

sudo systemctl status systemd-hibernate.service:

○ systemd-hibernate.service - Гибернация системы
     Загружено: загружено (/usr/lib/systemd/system/systemd-hibernate.service; статический)
     Активное: неактивно (мертво) с Thu 2024-09-26 11:56:21 CST; 42мин назад
       Документы: man:systemd-hibernate.service(8)
    Процесс: 5729 ExecStart=/usr/lib/systemd/systemd-sleep hibernate (код=вышел, статус=0/УСПЕХ)
   Основной PID: 5729 (код=вышел, статус=0/УСПЕХ)
        CPU: 1.527s

9 26 11:56:11 sysescool-G614JVR systemd[1]: Запуск systemd-hibernate.service - Гибернация системы...
9 26 11:56:11 sysescool-G614JVR systemd-sleep[5729]: Выполнение операции сна 'гибернация'...
9 26 11:56:21 sysescool-G614JVR systemd-sleep[5729]: Система вернулась из операции сна 'гибернация'.
9 26 11:56:21 sysescool-G614JVR systemd[1]: systemd-hibernate.service: Успешно деактивировано.
9 26 11:56:21 sysescool-G614JVR systemd[1]: Завершена systemd-hibernate.service - Гибернация системы.
9 26 11:56:21 sysescool-G614JVR systemd[1]: systemd-hibernate.service: Использовано 1.527s времени CPU.

Мне действительно нужна эта функция гибернации, потому что мне нужно работать в мобильном офисе с моим ноутбуком.
Спасибо за чтение, я буду очень признателен, если вы сможете дать мне какой-либо совет.

Ответ или решение

Проблема с невозможностью гибернации после обновления Ubuntu с версии 22.04 на 24.04.1 может возникать из-за различных факторов, связанных с конфигурацией системы, настройками ядра или драйверами. Давайте проанализируем вашу ситуацию и рассмотрим несколько шагов, которые могут помочь решить вашу проблему.

1. Проверка конфигурации swap

Убедитесь, что размер файла swap (swap.img) достаточен для хранения содержимого оперативной памяти. Обычно размер swap должен быть не меньше объема оперативной памяти (RAM). Вы использовали 95ГБ для swap, что больше, чем достаточно для 62ГБ RAM, но убедитесь, что файл находится на непрерывном пространстве на диске.

Вы можете проверить, есть ли фрагментация файла swap, используя команду:

sudo filefrag -v /swap.img

Если файл сильно фрагментирован, это может вызывать проблемы с гибернацией.

2. Конфигурация GRUB и initramfs

Убедитесь, что параметры для гибернации правильно настроены в файлах конфигурации GRUB и initramfs.

  • В файле /etc/default/grub убедитесь, что строчка GRUB_CMDLINE_LINUX_DEFAULT включает необходимые параметры, как вы указали:

    resume=UUID=cbc32cab-155d-47cd-a8c6-63e5bf5dd1c9 resume_offset=941064192
  • После изменения файла GRUB выполните:

    sudo update-grub
  • В файле /etc/initramfs-tools/conf.d/resume также должно быть:

    resume=UUID=cbc32cab-155d-47cd-a8c6-63e5bf5dd1c9 resume_offset=941064192

После внесения изменений не забудьте обновить initramfs:

sudo update-initramfs -c -k all

3. Проверка прав и конфигураций

Убедитесь, что файл /sys/power/resume настроен правильно:

echo "259:10" | sudo tee /sys/power/resume

Проверьте, правильно ли настроен файл /etc/tmpfiles.d/hibernation_resume.conf. Он должен содержать:

w    /sys/power/resume       -    -    -    -   259:10

4. Дополнительные модули ядра

Некоторые драйверы или модули ядра могут мешать работе функции гибернации. Вы уже добавили blacklist intel_hid, но можно также проверить другие модули. Попробуйте следующее:

sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

Затем, если это поможет, вы можете рассмотреть возможность создания скрипта для активации гибернации после обновления конфигурации.

5. Логи системы

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

journalctl -b -1 -e

Возможно, там будут подробные сообщения об ошибках, которые могут помочь разобраться.

6. Обновление системы и модулей

Убедитесь, что все обновления установлены:

sudo apt update
sudo apt upgrade

7. Аппаратные функции

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

8. Обратитесь к сообществу

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

Надеюсь, эти шаги помогут вам решить проблему с гибернацией на вашем ноутбуке под управлением Ubuntu 24.04.1. Если остались вопросы, не стесняйтесь спрашивать!

Оцените материал
Добавить комментарий

Капча загружается...