我的笔记本电脑上终于安装了 Windows 7 和 Ubuntu。
为了方便,我通常会让 Windows 休眠而不是关闭它。我认为在经常使用 Ubuntu 时,有时我会这样做,以便快速从 Windows 切换到 Ubuntu 进行检查或快速执行某些操作,然后想继续在 Windows 上工作。
1)同时休眠Windows和Ubuntu会有问题吗?
我可能还应该提到,我创建了一个额外的分区,用于从 Windows 和 Ubuntu 访问。我想将我的测试 Web 服务器的 www 目录放在该驱动器上,这样我就可以从 Windows 和 Ubuntu 处理这些内容。
2)那么 - 这是一个好主意吗?我需要注意什么?
编辑:我忘记了一个重要的旁注:我想在共享驱动器上共享 Mozilla Thunderbird 配置文件目录。这会有什么变化吗?
答案1
我从未在 Windows 上尝试过,但我认为它应该可以工作。只有一点你必须非常小心:始终休眠前卸载共享分区。
更确切地说,你需要一个读写锁在每个共享分区上。也就是说,在任何给定时间,您必须:
- 有一个操作系统(实时或休眠)对该分区具有写访问权限,并且没有其他操作系统具有读访问权限;
- 或者拥有任意数量的具有读访问权限的操作系统,但没有具有写访问权限的操作系统。
再次强调,挂载了分区的休眠操作系统算作一次访问。这是因为当操作系统休眠时,它会保存一些关于分区的假设(即某种形式的缓存)¹。如果在恢复时假设出现错误,则可能会发生大规模文件系统损坏。
¹ 我认为 Linux 下当前的休眠系统不会休眠任何数据缓存,但会有一些元数据作为内核状态的一部分保存下来。您可能很幸运,这些元数据不会在文件系统调整大小或碎片整理之前发生变化,但我不会冒这个险。
答案2
我的上网本上同时使用了 Windows 和 Debian GNU/Linux。我将它们都设置为休眠状态,并在唤醒时选择其中一个,没有遇到任何问题。我还有一个与您描述的类似的共享数据分区。我使用 NTFS(最新的 Linux 版本完全支持它),没有遇到任何问题。
Ubuntu(以及一般的 Linux)会休眠到交换分区。也就是说,RAM 的内容会保存到这个额外的分区中。Windows 会保存到其自己分区中的交换区域(默认情况下)。这两个映像位于完全不同的位置,不会互相干扰。