为什么我resume
的路径中没有文件:/etc/initramfs-tools/conf.d
?这条路不应该有吗?
我正在使用 Ubuntu 20.04,在安装时我创建了一个经常使用的交换分区(而不是交换文件),实际上的输出swapon -s
是:
Filename Type Size Used Priority
/dev/sdb5 partition 9765884 0 -2
注意:实际上我正在寻找这个文件,因为我想从交换分区迁移到交换文件,为此我找到了一些简单的说明,最后还建议编辑这个“简历”文件(我不没有)!
在 20.04 中使用休眠交换分区到交换文件:
增加交换文件大小以匹配高达 8GB 的 RAM 大小。
检查正在使用的交换:
sudo swapon -s
如果找到交换分区:
sudo swapoff -a
sudo nano -Bw /etc/fstab
在
/etc/fstab
交换分区的 UUID 前添加“#”:# UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX none swap sw 0 0
如果交换文件不存在,则为交换文件添加一行:
swapfile none swap sw 0 0
创建交换文件:
sudo fallocate -l XG /swapfile
*其中 X 是以 GB 为单位的交换文件大小
重启:
sudo reboot
设置休眠(可选)
将恢复位置和偏移量添加到 grub.cfg:
/etc/default/grub
:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash resume=UUID=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX resume_offset=XXXXX"
从根目录使用 UUID。
使用偏移量
sudo filefrag -v /swapfile |grep " 0:"| awk '{print $4}'
更新 GRUB
sudo update-grub
测试休眠
sudo systemctl hibernate
可以使用 gnome 扩展添加休眠按钮。
* 使用 fallocate 创建交换文件时,可能会在交换文件中出现漏洞。
/var/log/syslog
可以搜索该短语swapon: swapfile has holes
以确保不会丢失数据。也可以使用以下方法创建交换文件
dd
:sudo dd if=/dev/zero of=/swapfile bs=1G count=8
注意:使用 dd 时出错可能会覆盖您的 HDD只有在您使系统休眠(而不是关闭)之后,您才会拥有一个,否则您就没有一个。
没有一个是正常的(如果您查看启动消息,您会注意到一个错误,即未找到导致正常冷启动的错误)。该文件的存在告诉系统它已休眠并且需要恢复(而不是冷启动)。
它与交换文件/交换分区更改无关
https://wiki.ubuntu.com/DebuggingKernelHibernate