Manjaro KDE Edition
   684

Не удаётся восстановить ОС из гибернации (РЕШЕНО)

Добрый день! Прошу подсказать как настроить гибернацию в Manjaro KDE.

У ноутбука 16 GB оперативки. После создания swap на 20GB появилась кнопка гибернации. Когда нажимаю эту кнопку (или выполняю в консоли команду systemctl hibernate) система как будто уходит в гибернацию. Питание полностью отключает. Однако потом при запуске вход в учётку пользователя осуществляется как будто заново. И никакие из открытых на момент запуска гибернации приложений не появляются.

Пробовал установить pm-utils 1.4.1-8 из AUR с помощью pamac.

Нужно ли куда-то прописывать swap_device_uuid и/или править конфиг GRUB?
(На ноуте dual boot, и при включении сначала выбираю manjaro из списка)

Вывод команды swapon сейчас такой:
NAME TYPE SIZE USED PRIO
/swapfile file 20G 0B -2

htop показывает, что при заполнении оперативки swap используется.

Заранее благодарен за советы!

Система такая:
Manjaro Linux 23.0.4 Uranos

KDE Plasma 5.27.8
KDE Frameworks 5.110.0
Qt Version 5.15.11
Kernel Version 6.1.55-1-MANJARO (64-bit)
Graphics Platform X11

Hardware:
Processors: 12 × Intel® Core™ i7-9750H CPU @ 2.60GHz
Memory: 15,4 GiB of RAM
Graphics processor: Mesa Intel® UHD Graphics 630
Manufacturer: Dell Inc.
SSD: XPG Gammix S11 Pro 1.9 TiB

6 комментариев

avatar
В /etc/fstab должно быть что-то вроде
# swap by file
/swapfile none swap defaults 0 0

В /etc/default/grub в GRUB_CMDLINE_LINUX_DEFAULT вписать после quiet что-то вроде
resume=UUID=005dcbfe-9230-49e9-bbc1-e291afb8c520 resume_offset=317440
UUID — UUID вашего раздела с корнем системы (тут лежит swapfile).
resume_offset — физическое расположение файла свап, подсмотрите в АрчВики как это значение найти.

Ну и пересобрать Grub, запускаем с sudo
sudo grub-mkconfig -o /boot/grub/grub.cfg


И на всякий случай, как сделать swapfile
fallocate -l 20G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Последний раз редактировалось
+1
avatar
Добавлю.
Btrfs не поддерживает файлы подкачки. Несоблюдение этого предупреждения, может стать результатом разрушения файловой системы. Пока что, файл подкачки может быть использован в Btrfs, если смонтирован через loop-устройство, тогда будет сильно уменьшена производительность подкачки.
Мораль: используйте swap-раздел либо FS, которые не разваливаются в процессе свопинга.
+1
avatar
Благодарю за уточнение, у меня ext4.

<code>df -Th
Filesystem     Type      Size  Used Avail Use% Mounted on
dev            devtmpfs  7,8G     0  7,8G   0% /dev
run            tmpfs     7,8G  2,1M  7,8G   1% /run
/dev/nvme0n1p5 ext4     1007G  757G  200G  80% /
tmpfs          tmpfs     7,8G  110M  7,7G   2% /dev/shm
tmpfs          tmpfs     7,8G  8,0M  7,8G   1% /tmp
tmpfs          tmpfs     1,6G  140K  1,6G   1% /run/user/1001</code>
0
avatar
Подскажите пожалуйста, не нужно ли ещё добавлять что-то типа HOOKS=(… resume ...) в файл /etc/mkinitcpio.conf?
0
avatar
Нашёл UUID раздела, на котором лежит swapfile:
findmnt -no UUID -T /swapfile
bc359144-489c-42f2-8b9e-f923a62eddf9

Нашёл resume_offset:
filefrag -v /swapfile | awk '$1==«0:» {print substr($4, 1, length($4)-2)}'
92258304

Изменил строку в /etc/default/grub
Было
GRUB_CMDLINE_LINUX_DEFAULT=«quiet udev.log_priority=3»
сделал
GRUB_CMDLINE_LINUX_DEFAULT=«quiet udev.log_priority=3 resume=UUID=bc359144-489c-42f2-8b9e-f923a62eddf9 resume_offset=92258304»

После этого выполнил команду
sudo update-grub

При запуске система запускается без запущенных программ.

Нужно ли редактировать /etc/mkinitcpio.conf?
Последний раз редактировалось
0
avatar
Добавил в /etc/mkinitcpio.conf в строку HOOKS слово resume
HOOKS=«base udev autodetect modconf block keyboard keymap consolefont filesystems resume fsck»
и выполнил команду sudo mkinitcpio -P
После этого всё заработало. Большое спасибо за советы!
0
Автор топика запретил добавлять комментарии