不知怎的,我可以安装 Ubuntu 18.10,而无需创建任何 SWAP 分区,而且我似乎也没有 SWAP 文件。我想知道,如果没有它们,我是否仍然可以使休眠功能正常工作。我已经尝试创建一个 SWAP 文件并使用它进行休眠,但没有成功。
有没有办法绕过 SWAP 文件并运行休眠模式?
答案1
是的,您可以在其他地方搜索 hibernate + linux + file 找到答案,但我发布了超简短的答案:
sudo filefrag -v /swapfile |grep“ 0:”| awk'{print $4}'
例如在我的系统中,它给出:57643008..(出于好奇,这是交换文件的文件系统的偏移量......)把这个数字放好(我们稍后会用到它)并找到另一个数字:
lsblk -o UUID,挂载点
例如在我的系统中它给出:
0ec9c519-c7ec-43e3-b812-967d81842458 /主页
eb343dae-82e4-4155-9026-18c891d3252b /
由于交换文件位于 / 中,因此这就是我们感兴趣的 UUID。然后添加到 /etc/default/grub:
GRUB_CMDLINE_LINUX_DEFAULT="安静启动简历=UUID=eb343dae-82e4-4155-9026-18c891d3252b resume_offset=57643008"
sudo 更新 grub
这样你就完成了(当然要使用你的 UUID 和 OFFSET 号码)。使用以下命令进行测试:
sudo休眠
PS:根据我现在找不到的一些内核文档,一个等于或小于 RAM 大小一半的交换文件就足够了(他们说是 2/5)。使用以下方法检查:cat /sys/power/image_size
答案2
我担心创建 SWAP 文件是你唯一的选择。断电时,你的 RAM 状态需要保存在磁盘上的某个位置。也许你创建的 SWAP 太小了——建议 SWAP 空间至少与你的 RAM 一样大(+ 一些小的保留)。我有 Ubuntu 18.10,有 16 GB 的 RAM 和 19 GB 的 SWAP 文件,它运行良好。
尽管如此,您似乎没有告诉系统它应该使用 SWAP 从休眠状态恢复。修改/etc/default/grub
( sudoedit /etc/default/grub
),编辑行GRUB_CMDLINE_LINUX_DEFAULT
并在那里输入参数resume
(使用具有 SWAP 文件的分区的 /dev/UID)以及resume_offset
此交换的 physical_offset 的起始值。
(您可以通过检查的输出来获得该值sudo filefrag -v /swapfile | head
。)
最后,通过 重新加载sudo update-grub
。
有关设置 GRUB 的更详细答案,请参阅精彩部分使用交换文件休眠:如何在 Ubuntu 16.04 上休眠?
如果您成功了请告诉我们。