我准备用一张小磁盘在上网本上重新安装 Ubuntu。由于磁盘很小,我强烈希望有一个交换文件而不是交换分区。但是,我希望能够休眠。
我知道需要手动启用休眠功能。我还知道休眠到交换文件可以在我将要替换的旧 Eeebuntu 上运行,因此硬件支持不是问题。
精确的内核是否支持休眠到交换文件?我需要配置什么?
请注意,我正在寻找可靠的最新信息。我不介意不支持开箱即用的休眠功能,但如果可以的话,我宁愿不必重新编译内核。我不会为那台机器修补内核。
答案1
据我所知,该文件/etc/initramfs-tools/conf.d/resume
具有从哪里获取休眠数据的参数,它最初是一个设备,但在(许多)最新版本中使用 UUID。它默认为您安装的交换分区,我知道这一点是因为如果您偶然更改了交换分区或 UUID,则需要在那里更新它并运行sudo update-initramfs -u
以使休眠再次工作。这至少对 Quantal、Precise 和 Lucid 是正确的,所以我猜这对当前支持的版本也是如此。
交换分区必须至少与您的总内存一样大。请注意,如果您不使用全盘加密(通过备用安装 cd 的 LUKS),则休眠到交换可能存在(物理)安全风险。可以使用交换上的数据来查找解密 gnome 密钥环密码的向量。
答案2
我没有尝试使用它,但我发现了以下 HOWTO:
http://ubuntuforums.org/showthread.php?t=1042946
这似乎很好地解释了如何创建交换文件并准备将其用于休眠。希望有所帮助。
答案3
不推荐。来自社区文档:https://help.ubuntu.com/community/SwapFaq/
“交换文件的优点很多,但使用默认的“swsusp”休眠方法进行无力睡眠是有问题的。”
现在“有问题”并不意味着不可能,但就你最初的问题而言,我不得不说,不,它不受支持,并且不是开箱即用的。