休眠在共享交换分区的两个 Linux 安装中如何工作?

Ale*_*xey 4 dual-boot swap hibernate

这个问题是关于当两个发行版共享一个交换分区时的副作用的一个更具体的“子问题” 。

如果我在我的机器上安装两个带有共享交换分区的 Linux 发行版,其中一个休眠,然后启动到另一个,实际会发生什么?另一个会发现交换数据无效,还是会尝试使用它(可能会产生不可预测的后果)?

fro*_*utz 6

它将使用交换分区,(特别是)如果它有一个 fstab 条目。

但是,您的问题不仅与交换分区有关,还与所有其他文件系统分区有关。只要它们仍然由休眠的系统安装,您就不能安装它们中的任何一个。

一次只允许一个操作系统挂载文件系统,并且在休眠状态下,系统“仍在运行”。如果您休眠,然后在另一个操作系统中启动,更改文件系统,然后重新启动并恢复仍然记得那些修改过的文件系统的旧状态的休眠操作系统......

* BIG FAT WARNING
********************************************************* 
* 
* If you touch anything on disk between suspend and resume... 
*               ...kiss your data goodbye.
Run Code Online (Sandbox Code Playgroud)

来源:https : //www.kernel.org/doc/Documentation/power/swsusp.txt

如果您不能保证磁盘不会被触及,最好完全避免休眠。

  • @Alexey 不仅如此,还要注意挂载休眠系统使用的分区,即使您挂载的是只读的。例如,对未完全卸载的 ext4 文件系统进行只读挂载(如果它被休眠系统使用就是这种情况)会重播日志并写入磁盘,这会破坏休眠系统。调用 `mount -o ro,noload` 来挂载一个休眠的 ext4 文件系统。 (2认同)