红联Linux门户
Linux帮助

让linux与windows共享页面文件(虚拟内存)

发布时间:2009-12-14 01:10:16来源:红联作者:nmw
[i=s] 本帖最后由 nmw 于 2009-12-14 01:30 编辑 [/i]

一般情况下,linux需要一个swap分区。同时,大多人使用linux时,同时也使用windows。这时linux能否不单位使用swap分区,而与windoows共享swap分区或者共享windows pagefile.sys文件呢?
答案是肯定的。有一种软件可以使XP、VISTA、WIN7共享linux swap分区。这有点专业。而且,本人从来不给linux单独的swap分区。这样会浪费分区资源。有关让windows与windows共享分区的东西,各位可以自己在网上搜索。本人见过,但没有用过。
本人从来都是用的swap文件代替swap分区。
swap文件的制作方法是以root用户输入以下命令:
dd if=/dev/zero of=/swapfile bs=1M count=2048
mkswap /swapfile
swapon /swapfile
然后在/etc/fstab中加入以下行:
/swapfile swap swap default 0 0
今后便可以自动启动了。
windows也有页面文件(swap文件),一般是C盘的根目录下的pagefile.sys文件,根据设置,也可以在其他分区上。这个文件与linux swap文件只是文件头不一样,其余都是一样的。因此,有办法可以使用该文件。
本从在ubuntu中实现了这种共享方式。方法是:
1、在windows下将页面文件设置在某个分区(如sda8),并固定大小。如D:盘,4GB;
2、在linux下将这个分共挂载(mount)到某个目录,如要目录下的某目录 /swap_sys 以root身份运行如下命令:
mkdir /swap_sys
mount /dev/sda8 /swap_sys
mkswap /swap_sys/pagefile.sys
swapon /swap_sys/pagefile.sys
这时,pagefile_sys就是你的swap了。
若要linux启动时,自动挂载pagefile.sys文件,可以编辑以下两个文件,加入相应的行:
1、在/etc/fstab中加入
/dev/sda8 /swap_sys ntfs default 0 0
2、在/etc/rc.local中加入:
mkswap /swap_sys/pagefile.sys
swapon /swap_sys/pagefile.sys
这时,linux启动登录前,便自动挂载了pagefile.sys作为swap文件。
不要担心共享页面文件造成windows无法启动。windows启动后,会自动修复页面文件的文件头。并不增加启动时间,能够正常启动。本方法在64位ubuntu9.10与32位windows7下通过,均正常启动和使用。
使用中要注意,若按照这种方式共享页面文件(虚拟内存),则windows、linux都不能使用睡眠功能,windows 和linux在使用页面文件的过程中都会向页面文件写入数据,这就破坏了页面文件中保存的恢复睡眠的数据。即:只要下次启动不启动相同的操作系统,上次的睡眠恢复数据将被破坏。实际上,大多数人是人走关机,不需要睡眠功能的。即使是笔记本,大多数是使用交流电源的,这里,可以关闭睡眠功能,以使两操作系统共享页面文件(非同时)。

文章评论

共有 6 条评论

  1. chenzhouyu 于 2009-12-16 17:12:26发表:

    路过看看

  2. nmw 于 2009-12-15 22:44:10发表:

    [i=s] 本帖最后由 nmw 于 2009-12-15 23:35 编辑 [/i]

    引用:
    在瘟到死下最好把虚拟内存放在单独分一个分区,类似Linux中的swap分区,这个分区就不要再装其它文件了,而且这个分区必须为FAT或FAT32格式。
    大宝 发表于 2009-12-14 11:48


    NTFS也可以。linux可以请读写ntfs。fat对文件大小有限制。好像不能大于4G。

  3. Fallsare 于 2009-12-15 00:12:12发表:

    受教

  4. acrofox 于 2009-12-14 12:20:50发表:

    感觉省这点空间不值得。一来 Linux 访问 Windows 分区效率总是差那么一点点,二来如果在 Windows 下启用了休眠,休眠后再启动进入 Linux,就把 Windows 下的 Pagefile 破坏了,再启动到 Windows 已经无法恢复之前的状态了。

  5. 大宝 于 2009-12-14 11:48:41发表:

    在瘟到死下最好把虚拟内存放在单独分一个分区,类似Linux中的swap分区,这个分区就不要再装其它文件了,而且这个分区必须为FAT或FAT32格式。

  6. itchinax 于 2009-12-14 09:09:40发表:

    学习下