Windows 和 Ubuntu 可以共享一个交换分区吗?

Windows 和 Ubuntu 可以共享一个交换分区吗?

我的系统是 Ubuntu 12.04 和 Windows 7 双启动。安装时我为 Ubuntu 创建了特殊的交换分区(按照推荐)。

Windows 可以使用这个交换区域/分区吗--作为其自己的交换/页面文件——当我从 Windows 启动时?

答案1

这是可能的,但可能仅作为实验:

笔记:这是一个假设答案,并且不建议特别是如果您使用 Ubuntu 的休眠功能!

  • 理论上,是的,Windows 应该能够使用你的交换分区用于其页面(交换)文件在Linux端有一些巧妙的脚本。

  • 我不会一步一步地做,因为我还没有尝试过,如果你不知道如何实现这一点,你也不应该尝试:)

    1. 在 Windows 中将分区格式化为 NTFS,并将 Windows 设置为专门使用该驱动器来存储交换文件(C: 上没有任何文件)

    2. 有一个启动/启动脚本,用于在 Ubuntu 启动时将分区格式化为 Linux 交换分区并启用交换分区(swapon)。

    3. 有一个关机脚本来关闭 swappable 并将分区重新格式化为 ntfs。

替代(仍然不推荐)选项:

你可以按照本指南创建交换文件在 NTFS 分区上,前提是 NTFS 分区足够大,可以容纳两个交换文件。

但不建议采用这种方法,因为:

  • 在 NTFS(3G) 分区上进行交换会极大消耗 CPU 资源。
  • 更糟糕的是,由于文件可能/将被碎片化,这也会造成性能下降。

答案2

如果您的目标是节省硬盘空间 - 不必为 Linux 的交换和 Windows 的页面文件浪费大量 GB,那么您可以考虑通过 SwapSpace 在 Linux 上使用动态交换文件大小:

答案3

我自己还没有尝试过,但是你可以使用以下命令挂载交换分区交换文件系统。然后,理论上,您可以将页面文件放在那里(有一些很好的理由不这样做,例如小型转储,但这是一种选择)。

答案4

事情已经改变了...曾经有一个 IFS 驱动程序可以读取 Linux 分区(当时主要用于 EXT3)。顺便说一下,IFS 意味着可安装文件系统 - 它可能始于 MS-DOS 4(我以前以为它是 OS2 的一个元素,保留在 Windows 中),你可以用 IFS 做一些有趣的事情,比如创建一个 RAM 驱动器,并为其分配一个驱动器号。(现在 imdisk 可能是更好的方法)除了 EXT2IFS(以及后来的 ext2fsd)之外,还可以从 Windows 内部访问 Linux 交换分区。因此,您需要做的就是使用文件系统驱动程序附带的小型驱动器管理器实用程序为交换分区分配驱动器号,并告诉 Windows 将其用于我认为是 swapfile.sys 文件等... 如今,自周年更新以来,Windows10 需要签名驱动程序,并且大多数 IFS 驱动程序目前至少对我来说不起作用,遗憾的是,这使我无法在 Windows 内访问我的 EXT2 和 HFS+ 分区数据。所以答案基本上已经不再是了。但对于旧版本(例如 Win7 或 XP),按照我在此处说明的方法进行操作是相当合理的。

相关内容