Win10论坛

Win10正式版系统下载主题平板

重定义Modern UI,打造完美Windows全新体验

Windows10下载|安装|新手宝典|必备软件

搜索
查看: 72523|回复: 417

发一个扫盲贴,什么是WINSXS文件夹!就不信技术贴没人顶!   [复制链接]

Rank: 5Rank: 5Rank: 5

UID
622048
帖子
766
PB币
2196
贡献
0
技术
11
活跃
556
发表于 2009-8-12 21:36:14
本帖最后由 wolfgangsk07 于 2009-8-17 22:22 编辑

从WINDOWS 98用到现在的7,自VISTA开始就出现了个莫名的winsxs文件夹(XP就有了,只是采用的技术不同了,谢谢136楼的提醒),既不知道有什么用,也不能删除,想必很多坛友有此疑问吧,那我说说啥是winsxs。

谈到winsxs,就要从微软效仿linux而引进的一种新的文件储存方式,链接式(英文叫HARDLINK,不知汉语怎么翻译)。就是说比如我有一个文件,通常我要复制它,就要用到复制粘贴,储存空间加倍。但是用HARDLINK,通俗点讲,复制的仅仅只是一个索引而已,就是说有两个文件,但是共用一个储存空间。你删除其中任意一个,另一个都可以正常使用,而且只占用一份的空间。你改变其中任意一个,另一个随之改变。你粘贴时选择覆盖,另一个内容随之覆盖。

但是注意,如果你查看文件或者文件夹的属性,他们都会占空间。但是你查看磁盘的空间,你会发现不管HARDLINK多少次,都只占用一份空间,这也就是说连操作系统都无法分清是HARDLINK,还是真实的单独文件。比如你D盘10G文件,用hardlink把这10G的文件又做了一份,你查看磁盘属性,占用空间为10G,但是全选里面所有的文件,显示为20G。所以你装完Win7查看系统盘属性和全选系统文件后看属性他们显示的空间占用是不一致的

是不是很方便?

在VISTA/7下,可以用MKLINK这个命令创建这种HARDLINK,具体用法,你可以参考系统自带的MKLINK提示。

当然现在也有一个方便的可供批量使用的HARDLINK工具,集成在了右键菜单中,我放到附件里了,感兴趣的可以自己去下载。

安装了这个工具后,你再打开windows目录,看看有什么不一样?好多的系统文件左下角多了个红色的小箭头(快捷方式是蓝色的),用以标记被hardlink过的文件。你再看看他的属性,多了一项吧?

无标题.png


上面写着他的另一个副本在哪里呢!天哪,原来都在winsxs文件夹里。明白了吧!系统部署的时候,其实在install.wim里只有winsxs占用空间,其他都只是hardlink(原来是否奇怪过imagex的压缩比怎么这么大?),部署时先复制winsxs,然后将所需的系统文件用hardlink的方式部署到确定路径,一来达到统一管理的目的,二来方便误操作删除了系统文件后的自动恢复。

如果你升级系统补丁,他是先将文件放进winsxs,然后再部署到相应路径。在你使用“关闭windows的功能”时,也只是移除了系统文件的副本而已,系统文件本身还在winsxs中,并没有省空间。

在回头看看winsxs文件夹,好多人删除它了发现没有问题,呵呵,那是因为hardlink删除任意一个都不影响另一个。但当你安装新硬件的时候系统想从winsxs里部署驱动程序,于是他傻了!没有了winsxs自然也就不能自动更新了,总之一切的莫名的问题都来了。

现在清楚winsxs的作用了吧?

那么hardlink能为我们所用吗?答案是肯定的

应用举例一

列举一个hardlink的日常用法。比如玩魔兽争霸的朋友清楚,切换版本最麻烦了。但是用hardlink却可以很方便的解决这一问题,一劳永逸。先安装1.20版,将文件夹命名为1.20(最好删除那些无用的垃圾文件,不删除也无所谓,就是图个眼睛干净)。在别处(最好和1.20放在同一个文件夹里)建立4个文件夹,命名为1.21,1.22,1.23,1.24。然后安装附件中的工具,右键拖动1.20里所有的文件到1.21,松开右键,选择hardlink clone,如图

无标题2.png


然后就出现了魔兽争霸所有文件的hardlink,其中的文件夹是真实的,其他的文件都是hardlink。然后删除game.dll  ijl15.dll  storm.dll  war3.exe   War3Patch.mpq   worldedit.exe 这7个文件(因为版本的不同就取决与这7个文件)。下载1.21补丁,把其中的这7个文件拷到1.21文件夹中,OK,1.21的做好了,如法炮制,制作1.22,1.23,1.24,然后只需要运行各个目录下的魔兽就是所需版本了。如果你记下原来磁盘的空间,你会发现只占用了一个1.20的空间,添加了其他4个版本只多了那些不同的文件的空间,嘻嘻。(还有个技巧,删除其中4个MAPS文件夹,然后依次用右键中的JUNCTION复制MAPS到刚刚删除的4个目录中,这样就是对文件夹做了LINK,而不是文件,达到了所有版本的地图都一样的效果。神奇吧!


应用举例二

很多人都在苦恼不断增长的系统盘,可随着使用,系统盘增长是不可避免的,于是动起了USERS文件夹的注意。如果能把users文件夹移到其他盘,既方便了管理,也将这个日益增大的负担移除了系统盘。注意在资源管理器中是看不到users文件夹的,他的名字被映射成了“用户”,你用cmd的dir命令就可以看到他的真实名称。

先假设系统装在C盘,然后其他的文件放在了D盘,先用WIN7的光盘引导进PE(在PE里移动系统文件不会破坏他的权限),打开CMD(这个就不一步步的说了)然后随便运行一个程序,比如regedit,选择文件-导入。这里并不是要动注册表,只是利用了他的资源管理器而已。找到那个c:\users文件夹,右键移动到D盘,确保C盘已经没有users文件夹了。然后在CMD里输入mklink c:\users d:\users /j,这就为那个d:\USERS在C:\USERS创建了一个junction link,此后虽然在C盘由一个users文件夹,但是其内容的空间确实占在了D盘,呵呵



Vista/win7 32:
http://schinagl.priv.at/nt/hardlinkshellext/HardLinkShellExt_win32.exe
Vista/win7 64:
http://schinagl.priv.at/nt/hardlinkshellext/HardLinkShellExt_X64.exe
这两个连接能用,但是是国外的地址,不能访问外网的用户,只能用代理,或者下附件了,实在抱歉

HardLinkShellExt_win32.part1.rar

240 KB, 下载次数: 129, 下载积分: PB币 -1

HardLinkShellExt_win32.part2.rar

240 KB, 下载次数: 104, 下载积分: PB币 -1

HardLinkShellExt_win32.part3.rar

240 KB, 下载次数: 125, 下载积分: PB币 -1

HardLinkShellExt_win32.part4.rar

104.59 KB, 下载次数: 111, 下载积分: PB币 -1

4

查看全部评分

Rank: 7Rank: 7Rank: 7

UID
599771
帖子
2550
PB币
2023
贡献
0
技术
1
活跃
692
发表于 2009-8-12 21:45:43
楼主讲得很好,又学习了。
哈哈,还是我很少碰到的沙发

Rank: 2Rank: 2

UID
175778
帖子
333
PB币
2253
贡献
0
技术
0
活跃
1
发表于 2009-8-12 21:46:07
楼主讲的好,学习了。

Rank: 5Rank: 5Rank: 5

UID
20703
帖子
814
PB币
3074
贡献
0
技术
2
活跃
46

评测勋章

发表于 2009-8-12 21:47:58
本帖最后由 fujianabc 于 2009-8-12 21:51 编辑

这个要顶,很多人整天在想怎么对winsxs减肥,却没搞清winsxs中大部分文件根本没占空间,右键文件夹属性中的占用空间其实是虚假的。

而且即使删了这些硬连接文件,也不会减少占用空间的

对楼主hard link作用的一个补充,就是hard link能让硬盘上重复文件只存储一遍而节省磁盘空间。有一个叫dfhl的程序可以扫描硬盘上的重复文件,把它们做成硬连接以节省磁盘空间

http://www.jensscheffler.de/dfhl_en.html

龙之战士

Rank: 5Rank: 5Rank: 5

UID
651804
帖子
821
PB币
2336
贡献
0
技术
0
活跃
18
发表于 2009-8-12 21:52:27
学习了,谢谢

Rank: 5Rank: 5Rank: 5

UID
622048
帖子
766
PB币
2196
贡献
0
技术
11
活跃
556
发表于 2009-8-12 21:59:08
感谢4楼提供的工具,又为hardlink平添了一分色彩。我没有用过,但是扫描的话他会不会逐一比较相似文件呢?会花很长时间吗?

Rank: 2Rank: 2

UID
656881
帖子
283
PB币
1374
贡献
0
技术
0
活跃
861
发表于 2009-8-12 22:01:32
好东西 学习了

Rank: 5Rank: 5Rank: 5

UID
20703
帖子
814
PB币
3074
贡献
0
技术
2
活跃
46

评测勋章

发表于 2009-8-12 22:04:55
感谢4楼提供的工具,又为hardlink平添了一分色彩。我没有用过,但是扫描的话他会不会逐一比较相似文件呢?会花很长时间吗?
wolfgangsk07 发表于 2009-8-12 21:59

这个工具我用过很长时间了,它文件比较很快的,因为只需要比较字节数完全相同的文件即可。

而且对于大小完全相同的文件,dfhl的算法好像是先比较文件开头的几K,如果有差异,就直接停止比较,只有在两文件大小完全相同并且开头几K也相同时,才会比较整个文件。
头像被屏蔽

Prisident

Rank: 2Rank: 2

UID
121396
帖子
361
PB币
0
贡献
0
技术
0
活跃
134
发表于 2009-8-12 22:05:07
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
622048
帖子
766
PB币
2196
贡献
0
技术
11
活跃
556
发表于 2009-8-12 22:06:32
恩,呵呵,那又是个非常好的工具了,收下了
这个工具我用过很长时间了,它文件比较很快的,因为只需要比较字节数完全相同的文件即可。

而且对于大小完全相同的文件,dfhl的算法好像是先比较文件开头的几K,如果有差异,就直接停止比较,只有在两文件大小完 ...
fujianabc 发表于 2009-8-12 22:04

Rank: 5Rank: 5Rank: 5

UID
602893
帖子
508
PB币
489
贡献
0
技术
0
活跃
30
发表于 2009-8-12 22:07:09
学习了....

Rank: 2Rank: 2

UID
519253
帖子
330
PB币
213
贡献
0
技术
0
活跃
87
发表于 2009-8-12 22:09:17
学习了,好东西,感谢

DK

Rank: 7Rank: 7Rank: 7

UID
40605
帖子
1997
PB币
7662
贡献
0
技术
0
活跃
38
发表于 2009-8-12 22:10:18
平时我不怎么应用得到这功能

Rank: 1

UID
651050
帖子
82
PB币
148
贡献
0
技术
0
活跃
28
发表于 2009-8-12 22:10:27
学习了 .谢lz~~~
头像被屏蔽

我爱你

Rank: 7Rank: 7Rank: 7

UID
633169
帖子
1541
PB币
0
贡献
0
技术
0
活跃
75
发表于 2009-8-12 22:11:41
提示: 作者被禁止或删除 内容自动屏蔽

Rank: 5Rank: 5Rank: 5

UID
448273
帖子
732
PB币
2997
贡献
0
技术
1
活跃
47
发表于 2009-8-12 22:30:11
有技术含量,顶起

Rank: 5Rank: 5Rank: 5

UID
622048
帖子
766
PB币
2196
贡献
0
技术
11
活跃
556
发表于 2009-8-12 22:30:42
看的人没有我想想的那么多耶

柯南fanses

Rank: 15Rank: 15Rank: 15

UID
622545
帖子
14438
PB币
4441
贡献
0
技术
0
活跃
88

远景美化达人

发表于 2009-8-12 22:31:59
不错不错

Rank: 1

UID
619118
帖子
87
PB币
0
贡献
0
技术
0
活跃
18
发表于 2009-8-12 22:49:24
不错,收了阿

Rank: 5Rank: 5Rank: 5

UID
483434
帖子
584
PB币
1200
贡献
0
技术
7
活跃
258
发表于 2009-8-12 22:50:50
LZ的说明和LZ与4L提供的工具都实在太好啦!
关闭

站长推荐

推荐好友加入远景可拿奖励
推荐好友进远景,可以拿3重奖励,PBB,威望,勋章,通通有~ 本帖只限回复推荐用
回顶部
Copyright (C) 2005-2018 pcbeta.com, All rights reserved
Powered by Discuz!  苏ICP备17027154号
请勿发布违反中华人民共和国法律法规的言论,会员观点不代表远景论坛官方立场。
远景在线 | 远景论坛 | 苹果论坛 | Win10论坛 | Win8论坛 | Win7论坛 | WP论坛 | Office论坛 | 电脑硬件 | 安卓软件