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


13

我正在使用Ubuntu 12.04和Windows 7双重引导系统。我在安装时已为Ubuntu创建了特殊的交换分区(建议)。

从Windows引导时,Windows 可以使用此交换区域/分区作为其自己的交换/页面文件吗?


1
对不起朋友,窗户不是那么聪明/灵活。从某种意义上说,它使用分页,并在磁盘上创建文件,并将它们用作交换。
Mahesh 2012年

微软表示不这样做:blogs.msdn.microsoft.com/commandline/2016/11/17/…并且由于18.04LTS现在使用交换文件,因此该概念已过时。
K7AAY

@ K7AAY的文章是关于WSL的,而不是关于双重引导的,因此,它与这完全无关。即使您使用的是WSL,也可以从1903
phuclv

Answers:


11

有可能,但可能只是作为实验:

注意:这是假设假设的答案,不建议使用特别是如果您使用的是Ubuntu休眠模式!

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

  • 我不会分步进行,因为我还没有尝试过,如果您不知道如何实现它,也不要尝试:)

    1. 从Windows内部将分区格式化为NTFS,并将Windows设置为将该驱动器专用于其交换文件(C:上没有)

    2. 使用启动/启动脚本将分区格式化为Ubuntu启动时的Linux交换,并启用swap(swapon)。

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

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

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

但是,不建议使用此替代方法,因为:

  • 在NTFS(3G)分区上交换将占用大量CPU。
  • 更糟的是,由于文件可能会/将被碎片化,因此也会导致性能下降。

或使用文件作为该分区上的交换
lgarzo 2012年

@lgarzo我知道该选项,但不推荐使用,因为在NTFS(3G)分区上进行交换会占用大量CPU :)
ish 2012年

更糟糕的是,由于文件可能会/将被碎片化,因此也会导致性能下降。
lgarzo 2012年

@lgarzo绝对。也许您可以编辑我的答案以补充,尽管这是另一种选择(假设ntfs分区足以容纳两个交换文件),但出于我们所讨论的原因,也不建议这样做?谢谢!
ish 2012年

1
这种方法最早可以追溯到2002年。截至2011年,据报道Windows 7可与swapfs驱动程序一起使用
Dan Dascalescu 2012年

2

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


请写下完整的答案,而不仅仅是链接外部网站。最好将它们作为参考,但是最好在此处放置基本步骤,以防其他网站下线等等。
dadexix86

1

我自己还没有尝试过,但是您可以使用swapfs挂载交换分区。然后,从理论上讲,您可以将页面文件放在此处(有一些很好的理由,例如小型转储,但可以选择)。


1

效果很好。

需要什么?只需按照SwapFs-3.0文件中的说明进行操作即可

您也可以在Ubuntuforums.org 上的“ 如何将Linux交换分区用作Windows交换文件”中找到一些有用的信息。

最初,我尝试将交换空间格式化为NTFS,但事实证明Linux失去了将其识别为自己创建的功能。

然后我将其重新格式化为经典的Linux交换。

接下来,我改回fstab。是:

UUID=4c6a4... none  swap  sw  0  0

停用它,然后放:

/dev/sda7   swap   swap   defaults   0   0

如果我还记得的话,在我启动Windows后,它没有将其识别为RAW,或者我是否可以将其格式化为FAT32。

一切开始工作。

但是出现一个问题。也就是说,我的Vista“附加”了一个附加字母,因此最后有两个驱动程序,但实际上与同一个分区“ e:\”链接,并由我将其设置为“ s:\”。

幸运的是,从“ SwapFs-3.0”进入注册表,将其放置在建议的* .reg文件中。原来,应该从注册表中删除额外的额外记录“ e:\”。

现在享受系统间交换空间没有问题。恢复了3.2 GB空间。

我想提一下,使用Linux仅4个3个月就可以进行如此复杂的操作,因此您无需花费太多精力就可以做到这一点。

概括:

  1. 可以与Windows共享Linux交换分区,并将其用作存储Windows交换文件的空间。
  2. 非常感谢SwapFs-3.0。
  3. 无法判断它占用了多少CPU。
  4. 分区无法通过“管理”命令识别为已安装,并且分区应用程序也未将其视为已安装。
  5. 资源管理器将其视为磁盘。
  6. 确实,它可以节省大量磁盘空间。

0

事情发生了变化……曾经有一个IFS驱动程序可以读取Linux分区(当时主要是EXT3),IFS的方式意味着可安装文件系统-可能始于MS-DOS 4(我以前认为这是一个Windows中仍然存在OS2中的元素),您可以使用IFS做一些有趣的事情,例如创建RAM驱动器并为其分配驱动器号。(近来,imdisk可能是一种更好的方法)与EXT2IFS(以及后来的ext2fsd)一起,可以从Windows内部访问Linux交换分区。因此,您所需要做的就是使用文件系统驱动程序附带的小型驱动器管理器实用程序,为Swap Partition分配驱动器号,并告诉Windows将其用于我认为这是swapfile.sys文件等。如今,自周年纪念更新以来,Windows10需要签名驱动程序,而大多数IFS驱动程序当前至少对我而言不起作用,可悲的是,这使我无法从Windows内部访问我的EXT2和HFS +分区数据。因此答案基本上不再是。但是对于较旧的版本(例如Win7或XP),按照我在此处说明的方法进行操作是很合理的。


-1

简短的答案是:不,不能。

Windows无法识别Linux分区,尽管可能相反(Linux会确认Windows分区)。


1
没有什么可以作为linux分区了。您需要谈论文件系统。ext3 / 4,NTFS,FAT16 / 32等
Mahesh 2012年

是的,只是想将其保持在较低的技术水平
leousa 2012年

1
@ Mahesh,Linux和Linux交换是分区类型(0x82和0x83,IIRC)。检查您的fdisk -l。我想交换也是它自己的文件系统。
ish 2012年

我的坏,你是对的。感谢@izx,您确实记得/记住了。;)
Mahesh 2012年

2
更复杂的答案是,它已经 完成
Dan Dascalescu 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.