休眠在 Linux Mint 19 上不起作用
我目前在 Linux Mint 19.1 上,它預設使用交換文件而不是交換分區。包括暫停在內的一切工作正常。但是休眠後恢復不起作用。我有以下配置
/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=38c97b08-a1d5-44b5-9e96-afca13595fe2 resume_offset=27854848"
where
UUID
是交換文件所屬的根分區, resume_offset 是交換文件的偏移量。系統成功休眠。但是在下一次啟動時,它顯示從 UUID 位置恢復並且螢幕突然變黑(請參閱this)。之後系統沒有任何反應。我已經完成了以下執行緒,但似乎沒有任何效果。完整的系統詳細資訊可以在這裡找到
我禁用了安全啟動,目前在核心 4.18 上。有沒有人使用交換文件成功實現休眠,或者知道為什麼休眠不起作用?
我遵循了許多教程,但似乎都沒有。遺憾的是,這是由於最近核心版本的回歸造成的,並且在啟動板上已經有一個活躍的錯誤報告。
自從報告該錯誤以來已經一年多,直到現在還沒有修復或解決方法。如果有人也遇到此錯誤,請報告上述啟動板錯誤。
根據 Mint 論壇中的指南文章,Linux Mint 19 不支持開箱即用的休眠。
如果您的交換文件不在 /swapfile 中或如果您沒有交換分區,標準休眠配置將失敗。RedHat 文章提供了一些關於交換大小的額外指導。
如果交換文件或分區中沒有足夠的空間容納 RAM 的內容以及您可能已經換出的任何其他內容,則休眠將失敗,因為核心寫入的休眠映像的大小高達 2/5你的記憶體。根據經驗,只需將交換文件設置為至少 RAM 的大小,甚至在總 RAM 非常低的系統上將 RAM 翻倍(因為您更有可能進行交換)。
請在終端視窗中執行:
free -h
然後swapon
確認交換文件足夠大。如果它不夠大,請展開交換文件。如果是,請繼續:RESUME_PARAMS="resume=UUID=$(findmnt / -o UUID -n) resume_offset=$(sudo filefrag -v /swapfile|awk 'NR==4{gsub(/\./,"");print $4;}') " if grep resume /etc/default/grub>/dev/null; then echo -e "\nERROR: Hibernation already configured. Remove the existing configuration from /etc/default/grub and add these parameters instead:\n$RESUME_PARAMS";else sudo sed -i "s/GRUB_CMDLINE_LINUX_DEFAULT=\"/GRUB_CMDLINE_LINUX_DEFAULT=\"$RESUME_PARAMS/" /etc/default/grub;fi
除非有錯誤消息,否則執行
sudo update-grub
;如果有錯誤消息,請在執行前按照他們的說明進行操作sudo update-grub
。最後,將 Hibernation 添加到 GRUB2 菜單
sudo tee /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla <<'EOB' [Enable hibernate] Identity=unix-user:* Action=org.freedesktop.login1.hibernate;org.freedesktop.login1.handle-hibernate-key;org.freedesktop.login1;org.freedesktop.login1.hibernate-multiple-sessions ResultActive=yes EOB