[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
[分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
2010年9月4日更新:
SwapFs-3.0 Support for FAT32 and swap partitions bigger than 4GB.
下载地址:
http://www.acc.umu.se/~bosse/swapfs-3.0.zip
很多人通过在机器上安装双系统来运行 Linux 和 Windows。Linux 通常采用交换分区。进入 Windows 下则采用交换文件,这时交换分区就完全闲置了。其实我们完全可以把这块空间利用起来,存放一些不需要长久保存的文件,例如交换文件等等。所需要的只是一个简单的文件系统驱动程序 swapfs,可在 http://www.acc.umu.se/~bosse/swapfs-2.1.zip (已失效,用上面的3.0版下载地址)下载
(顺便提一句,swapfs 的作者是个文件系统 fans,主页上有不少文件系统和准文件系统,值得一观)。
简而言之,swapfs 这个软件做了两件事:当 Windows 启动的时候,它在交换分区上创建一个新的 FAT 文件系统;当 Windows 关闭的时候,它在交换分区上创建一个新的 swap 文件系统(此处存疑,见11楼、26楼的说明)。
让 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 不会帮你保存系统上的任何数据。
上次由 photor 在 2010-09-04 21:07,总共编辑 4 次。
- wangdu2002
- 帖子: 13284
- 注册时间: 2008-12-13 19:39
- 来自: 物华天宝人杰地灵
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
好贴,要顶!
特别是硬盘不大,想要减少分区以及想节省点硬盘空间的朋友,此贴不可不看,不可不遵照执行啊!
特别是硬盘不大,想要减少分区以及想节省点硬盘空间的朋友,此贴不可不看,不可不遵照执行啊!
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
海内生明月,天涯共此夕。
--------------------吾本独!
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
如果 linux 处于休眠中咋办? win 动了 lin 的 swap,休眠的数据都完蛋。
其实反过来做为好,直接把 pagefile.sys 拿来做 lin 的 swap 就得了,swap 分区就不分了,比较简单。
win 的交换文件和休眠文件是两个东西,不怕用了 pagefile.sys 破坏 WIN 的休眠态。
其实反过来做为好,直接把 pagefile.sys 拿来做 lin 的 swap 就得了,swap 分区就不分了,比较简单。
win 的交换文件和休眠文件是两个东西,不怕用了 pagefile.sys 破坏 WIN 的休眠态。
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
当 windows 掉电的时候呢?以此法为不妥。当 Windows 启动的时候,它在交换分区上创建一个新的 FAT 文件系统;当 Windows 关闭的时候,它在交换分区上创建一个新的 swap 文件系统。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
ubuntu的休眠没有太多意义,节约不了多少启动时间,而且可以保存会话,所以我不用休眠。billbear 写了:如果 linux 处于休眠中咋办? win 动了 lin 的 swap,休眠的数据都完蛋。
其实反过来做为好,直接把 pagefile.sys 拿来做 lin 的 swap 就得了,swap 分区就不分了,比较简单。
win 的交换文件和休眠文件是两个东西,不怕用了 pagefile.sys 破坏 WIN 的休眠态。
windows的交换文件和休眠文件分开确实是够弱智的,浪费。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
这个倒是不成问题,手动mkswap就行了billbear 写了:当 windows 掉电的时候呢?以此法为不妥。当 Windows 启动的时候,它在交换分区上创建一个新的 FAT 文件系统;当 Windows 关闭的时候,它在交换分区上创建一个新的 swap 文件系统。
-
- 帖子: 42
- 注册时间: 2007-03-18 18:35
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
是什么意思?格式化吗?swapfs 这个软件做了两件事:当 Windows 启动的时候,它在交换分区上创建一个新的 FAT 文件系统;当 Windows 关闭的时候,它在交换分区上创建一个新的 swap 文件系统。
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
我想就是格式化。根据楼主提供的信息,它的工作方式是指定第 X 个分区,如 \\Device\\Harddisk0\\PartitionX 开机格一下,关机格一下,我觉得不太靠谱。假如有一天你改变了分区规划,第 X 个分区变成了非 swap,然后你又存了一些东西在上面,你忘了 windows 下还有这么个东西会摧毁你的数据,嘿嘿...
其实既然楼主说不用休眠,那就直接把 win 的 pagefile.sys 拿来做 ubuntu 的 swap 好了,比这个方案要优美多了。
其实既然楼主说不用休眠,那就直接把 win 的 pagefile.sys 拿来做 ubuntu 的 swap 好了,比这个方案要优美多了。
- wangdu2002
- 帖子: 13284
- 注册时间: 2008-12-13 19:39
- 来自: 物华天宝人杰地灵
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
我一会觉得Photor兄弟的方法挺好的,不过看了BillBear兄弟的说明,觉得也有道理,选什么方法最好呢?
────这是个问题?
────这是个问题?
行到水穷处,坐看云起时。
海内生明月,天涯共此夕。
--------------------吾本独!
海内生明月,天涯共此夕。
--------------------吾本独!
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
billbear的方法当然也可行,但是有三个问题:
1、每次启动都需要mkswap,所以不能直接用fstab自动挂载交换文件,只能改rc文件(或许有更好的办法?请指教)
2、用交换文件的效率比交换分区还是要低一些
3、看主帖上面对windows系统的第二点好处
1、每次启动都需要mkswap,所以不能直接用fstab自动挂载交换文件,只能改rc文件(或许有更好的办法?请指教)
2、用交换文件的效率比交换分区还是要低一些
3、看主帖上面对windows系统的第二点好处
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
上面的介绍有一部分是网上抄来的,我估计不是格式化,而只是swapfs驱动起了一个翻译的作用,让windows将swap分区认成fat格式,而且可以直接在上面读写。实际上我在设置swapfs的过程中确实反复弄错过\Device\\Harddisk0\\PartitionX的编号X,最后才彻底搞懂与/dev/sdaY的对应关系,编号错误的话就对应到了非swap的普通分区,但是这样的操作并没有造成该普通分区上的资料丢失,所以我想swapfs做的应该不是真正的格式化操作blackghost 写了:是什么意思?格式化吗?swapfs 这个软件做了两件事:当 Windows 启动的时候,它在交换分区上创建一个新的 FAT 文件系统;当 Windows 关闭的时候,它在交换分区上创建一个新的 swap 文件系统。
-
- 帖子: 3681
- 注册时间: 2008-05-03 23:42
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
1. You are right. But I don't consider it a problem.
2. According to https://help.ubuntu.com/community/SwapFaq , With the 2.6 kernel, "a swap file is just as fast as a swap partition."
2. According to https://help.ubuntu.com/community/SwapFaq , With the 2.6 kernel, "a swap file is just as fast as a swap partition."
- AutoXBC
- 帖子: 1744
- 注册时间: 2007-10-23 12:54
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
Windows 要休眠,Linux 也要休眠,说不需要休眠的,不是机器支持不行,就是自己对休眠理解有问题。所以,Windows 的任何可被修改的文件都不能给 Linux 作交换,反过来也不行。
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
10楼的第三点呢?billbear 写了:1. You are right. But I don't consider it a problem.
2. According to https://help.ubuntu.com/community/SwapFaq , With the 2.6 kernel, "a swap file is just as fast as a swap partition."
- photor
- 论坛版主
- 帖子: 11004
- 注册时间: 2008-04-26 12:41
Re: [分享]装双系统的同学必看——Windows与Linux系统共享交换分区的方法
要不搞一个投票,看这个坛子里有百分之多少的人用休眠(特别是linux)?AutoXBC 写了:Windows 要休眠,Linux 也要休眠,说不需要休眠的,不是机器支持不行,就是自己对休眠理解有问题。所以,Windows 的任何可被修改的文件都不能给 Linux 作交换,反过来也不行。