2009年3月6日星期五

[转] windows与linux共享虚拟内存

很多人通过在机器上安装双系统来运行 Linux 和 Windows。Linux 通常采用交换分区。进入 Windows 下则采用交换文件,这时交换分区就完全闲置了。其实我们完全可以把这块空间利用起来,存放一些不需 要长久保存的文件,例如交换文件等等。所需要的只是一个简单的文件系统驱动程序 swapfs,可在这里下载 http://www.acc.umu.se/~bosse/swapfs-2.zip
(顺便提一句,swapfs 的作者是个文件系统 fans,主页上有不少文件系统和准文件系统,值得一观)。
简而言之,swapfs 这个软件做了两件事:当 Windows 启动的时候,它在交换分区上创建一个新的 FAT 文件系统;当 Windows 关闭的时候,它在交换分区上创建一个新的 swap 文件系统。
让 Windows 把交换文件放到交换分区上有两个好处:
1、节省了单独的交换文件空间。
2、交换分区是独立的文件系统,交换文件存放在上面不会碎片化。
安装 swapfs 步骤很简单。下载 swapfs 驱动,解压缩到 swapfs 目录,其中包含 1 个目录 和 5 个文件
目录
--------------------------
sys 源代码
文件
--------------------------
COPYING.TXT GPL v2 许可。
install.txt 一个极简单的安装说明。
readme.txt 说明文件。
swapfs.reg 注册表项目。
swapfs.sys 驱动程序。
我们关心的是 swapfs.reg 和 swapfs.sys。
首先把 swapfs.sys 复制到 %systemroot%\system32\drivers\ 目录。然 后我们需要通过添加注册表项目来知会 Windows 一声。用普通的文本编辑器修改 swapfs.reg 当中
"SwapDevice"="\\Device\\Harddisk0\\Partition1"
和"S:"="\\Device\\Harddisk0\\Partition1"
这两行以符合你的需要。第一行是 Windows 内部命名系统;第二行是兼容的 MS-DOS 命名法。规则很简 单,第一个分区 hda1 是 Partition1,依此类推,扩展分区跳过不计。举个例子(如附图所示),我的 swap分区在linux下是/dev/sda7,但是有个扩展分区/dev/sda3在windows下是不算 的,所以应该把上面两行的Partition1都改成Partition6。双击导入注册表,然后重启系统就能看到 新的 S: 盘了。
注意 swapfs 不会帮你保存系统上的任何数据。

没有评论:

发表评论