Konfiguracja hibernacji z plikiem swap na partycji systemowej
1. Sprawdź i przygotuj plik swap
Sprawdź, czy masz plik swap:
swapon --show
Jeśli nie masz, utwórz plik swap (X to rozmiar w GB, np. 16):
sudo swapoff -a
sudo fallocate -l XG /swapfile
sudo chmod
600
/swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Uwaga: Rozmiar pliku swap powinien być co najmniej równy ilości RAM, jeśli chcesz używać hibernacji.
Sprawdź, czy plik swap jest na tej samej partycji co system:
df -h /swapfile
Powinien wskazywać na partycję systemową (np. /dev/sda2
).
2. Znajdź UUID i offset pliku swap
UUID partycji systemowej:
sudo blkid | grep
$(
df
-h /swapfile |
awk
'NR==2 {print $1}'
)
Skopiuj wartość po UUID=
.
Offset pliku swap:
sudo filefrag -v /swapfile | awk 'NR==4 {print $4}'
Skopiuj wynik (liczba, np. 65536
).
3. Skonfiguruj GRUB
Edytuj plik (najlepiej w nowej zakładce) /etc/default/grub
:
sudo nano /etc/default/grub
Zmodyfikuj linię GRUB_CMDLINE_LINUX_DEFAULT
:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=TWÓJ_UUID resume_offset=TWÓJ_OFFSET"
TWÓJ_UUID
– UUID partycji systemowejTWÓJ_OFFSET
– offset pliku swap
Zapisz i zamknij plik. Zaktualizuj GRUB:
sudo update-grub
4. Skonfiguruj initramfs
Utwórz plik /etc/initramfs-tools/conf.d/resume
:
sudo nano /etc/initramfs-tools/conf.d/resume
Wpisz:
RESUME=UUID=TWÓJ_UUID resume_offset=TWÓJ_OFFSET
Zapisz i zamknij plik.
Zaktualizuj initramfs:
Operacja trwa trochę czasu.
sudo update-initramfs -u
5. Dodaj regułę polkit
Utwórz plik (może być potrzebne utworzenie katalogu) /etc/polkit-1/rules.d/10-enable-hibernate.rules
:
sudo mkdir rules.d
sudo nano /etc/polkit-1/rules.d/10-enable-hibernate.rules
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.hibernate" ||
action.id == "org.freedesktop.login1.hibernate-multiple-sessions" ||
action.id == "org.freedesktop.upower.hibernate" ||
action.id == "org.freedesktop.login1.handle-hibernate-key" ||
action.id == "org.freedesktop.login1.hibernate-ignore-inhibit") {
return polkit.Result.YES;
}
});
Zapisz i zamknij plik.
6. Przetestuj hibernację
sudo systemctl hibernate
Po wznowieniu sprawdź, czy sesja została przywrócona.
7. Skonfiguruj sprzętowy guzik
- Uruchom „Ustawienia / power”
- Power Button Behavior => Hibernate
8. Dodaj ikonę w menu
Zainstaluj
sudo apt install gnome-shell-extension-manager
Dodaj rozszerzenie
https://extensions.gnome.org/extension/755/hibernate-status-button
9. (Opcjonalnie) Ustaw hibernację po zamknięciu pokrywy
- Edytuj plik
/etc/systemd/logind.conf
:
- bash
sudo nano /etc/systemd/logind.conf
- Dodaj lub odkomentuj:
- text
HandleLidSwitch=hibernate
- Zrestartuj usługę:
- bash
sudo systemctl restart systemd-logind
Podsumowanie
Wykonaj powyższe kroki, by poprawnie skonfigurować hibernację z plikiem swap na partycji systemowej.
Po restarcie opcja hibernacji powinna być dostępna w menu GNOME i działać poprawnie.