Archlinux Hibernate
文章目录
修改swap partition/file size
image_size的容量用于控制休眠的时候内存dump到swap的最大大小,设置成0不受大小限制
1
|
sudo tee /sys/power/image_size <<< 0 |
image_size重启后会被恢复,可以采用
1
|
su - root -c 'echo "w /sys/power/image_size - - - - 0" > /etc/tmpfiles.d/modify_power_image_size.conf' |
修改grub2
在文件/etc/grub.d/40_custom
添加下面内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
menuentry 'My Arch Linux' { load_video set gfxpayload=keep insmod gzio insmod part_gpt insmod xfs set root='hd0,gpt2' if [ x$feature_platform_search_hint = xy ]; then search --no-floppy --fs-uuid --set=root --hint-bios=hd0,gpt2 --hint-efi=hd0,gpt2 --hint-baremetal=ahci0,gpt2 cda52f03-ea43-44dd-bf62-6defe65cc765 else search --no-floppy --fs-uuid --set=root cda52f03-ea43-44dd-bf62-6defe65cc765 fi echo 'Loading Linux linux ...' linux /vmlinuz-linux root=UUID=412d830c-e11e-44b4-abb9-3b59f885b803 rw quiet resume=/dev/sda5 echo 'Loading initial ramdisk ...' initrd /initramfs-linux.img } |
其中增加了resume参数,该参数指定了swap所在分区,如果不清楚swap是哪个分区可以使用lsblk
查看
将配置信息独立在40_custom的好处是不破坏其他默认配置文件和原有启动菜单
grub配置信息每台机器不一样,建议从/boot/grub/grub.cfg
复制出对应的菜单进行修改
生成grub.cfg
1
|
sudo grub-mkconfig -o /boot/grub/grub.cfg |
修改mkinitcpio.conf
在/etc/mkinitcpio.conf
的HOOKS中增加resume
1
|
HOOKS=(base udev autodetect modconf block resume filesystems keyboard fsck) |
resume
最好增加在filesystems
前面
生成initramfs
1
|
sudo mkinitcpio -p linux |
测试休眠
使用systemctl进入休眠
1
|
systemctl hibernate |
命令执行后等待电脑关机,关机后使用电源键选择增加的grub菜单进行启动即可恢复原有环境
参考
文章作者 今何安
上次更新 2018-06-05