Win7操作系统文件夹中的奥妙

如果你安装了时下最流行的微软Windows 7操作系统,是否会觉得微软Windows 7操作系统下的winsxs文件夹庞大的吓人,有些人就装X说Windows 7操作系统占空间了,本文为你详解。

关于最近的新的微软安全,稳定着称的操作系统

我们知道,查看一个目录有多大的最快捷的方法就是看看资源管理器文件夹的属性,但是我今天要说的是:如果你用这个方法去看 Windows Vista / Windows 7 系统的目录,你会被你的眼睛所欺骗,因为,Microsoft 同学在 Windows Vista/ Windows 7 里面大量使用了NTFS文件系统的特性之一的:硬连接(Hard Link)来实现WinSxS机制!

用过的人都知道,要安装 Windows Vista / Windows 7系统,那么系统分区必须是NTFS文件系统。原因有以下一些:系统文件保护所需;各种安全保护机制,如MIC所需;WinSxS 所需……

关于最后一点的 WinSxS 所需,所以NTFS这是Windows Vista / Windows 7 系统需要的一个条件,因为只有在 NTFS 文件系统上面,才能实现硬连接机制,也才能达到优化Windows目录占用磁盘空间的目的。

关于微软系统的硬链接

硬链接是什么呢?简单的说,就是一种针对文件的特殊快捷方式,只不过这种快捷方式的实现和一般的快捷方式不一样。

硬连接是NTFS文件系统特有的属性之一,在Linux下面,也有类似的机制。硬连接适用于在同一个卷的文件级别,硬连接是不能跨卷的。

硬链接,系统属性测试

Windows Vista / Windows 7自带了创建硬连接的命令:mklink.exe,利用这个命令,我们可以给指定的文件创建硬连接:

下面的命令将在link.txt和source.txt之间建立硬连接关系

C:UsershoiiDesktop》mklink /h link.txt gb.txt

为 link.txt 《《===》》 gb.txt 创建了硬链接

注意上面的例子:link.txt本是一个不存在的文件,但是当执行完mklink命令以后,link.txt文件也就被创建了。其实,link.txt是一个虚假的文件,它是在文件系统层面上对gb.txt文件的一个映射,而link.txt是不占硬盘空间的。

关于硬盘空间的占用问题,可以这样测试:

1、给硬盘划分一个新分区,空间只有2GB

2、在这个分区的test目录里面新建了一个1.9GB大小的文件,此时剩余空间是0.1GB

3、用mklink命令给这个1.9GB大小的文件建立了一个硬连接

4、检查这个分区的剩余空间,还是0.1GB,但是如果用资源管理器看test目录的属性,会发现有2个文件,总大小是3.8GB(整个分区才2GB,能够容纳3.8GB大小的文件吗?显然不可能了)

还是针对上述的例子,如果我们把原始的文件 gb.txt 删除以后,link.txt文件还是会继续存在的,且内容就是source.txt的文件内容。也就是说,我们删除gb.txt,实际上删除的仅仅是这种连接关系,文件本身还是没有被操作的。

关于硬连接,最后一个需要介绍的内容是:当硬连接建立以后,硬连接双方任何一个对象被修改,都会造成对应的连接对象被修改。例如上面的例子:如果修改了link.txt,那么gb.txt文件也会同步被修改,反之亦然。这一点和SHELL层面的快捷方式不同,SHELL层面的快捷方式文件LNK仅仅是一个指示关系,修改LNK文件并不影响LNK文件指向的对象,修改LNK文件指向的对象也不会影响LNK文件。

WIN新系统下的硬链接情况和使用这种技术的原因

好了,基本知识介绍完了,我们来实际看看Windows目录里面对于硬连接的使用情况吧。

经常看到有人抱怨,WindowsWinSxS目录占用了太多的空间,里面经常发现有同名的文件,而且这些同名的文件在 WindowsSystem32 目录下面也有存在,这是为啥呢?其实这就是硬连接导致的。

Microsoft为啥这么麻烦搞这个呢?其实这样对系统的稳定性的增加非常有好处

同样的文件,只需要维护硬连接关系,不需要进行多重的拷贝,这样可以节省硬盘空间

如果涉及文件更新,只需要先在WinSxS 目录里面下载好一个新版本,然后修改 WindowsSystem32 下面同名文件的硬连接关系,从旧版本的硬连接指向新版本的硬连接,这样就能够快速的完成文件的更新工作,而不需要进行文件的复制,速度也会快不少

补丁卸载也是一样的,只需要把硬连接指向改为旧版本就可以了,没有文件替换的问题。而且建立了硬连接关系的文件之间的修改是同步的,因此只要有一方被修改了,另一方也会得到修改

真相大白

说了这么多,那么如何知道 Windows 目录的真实大小呢?有很多小工具可以使用,也可以在DOS下的第三方工具来测试,有兴趣的童鞋就自己测试吧,我的测试结果如下:

对于纯净的系统测试结果如下,共有文件65088个,其中,真实的文件有48022个,其他17066个文件都是硬连接文件。真实的文件占用了14981682 KB的硬盘空间,而如果你用资源管理器看的话,那么会提示说占用了 18244902 KB的硬盘空间。其实呢?, Windowssystem32 目录下的大多数文件都和 WinSxS 目录建立了硬连接关系~~都多算了一次。

Windows 7操作系统winsxs那么多空间占着。其实没那么多。那不过是文件同步映射导致的结果。

(0)

相关推荐

  • win7操作中心无法启动Windows安全中心服务的解决方法

    操作中心是win7的一个很强大的功能。它能查看警报和执行操作的中心位置,可以帮助保持 Windows 正常运行,而且还会列出需要注意的有关安全和维护设置的重要消息等,最近有的朋友遇到了操作中心弹出提示 ...

  • Shift键在WIN7任务栏中的特别功能

    Shift键在WIN7任务栏中的特别功能是什么呢,具体内容如下所示: Win7系统的任务栏有不少新功能,比如将常用程序锁定到任务栏,将鼠标放到Win7任务栏的程序图标上就可以快速查看打开程序窗口的略缩 ...

  • 在Win7 Hyper-v虚拟机中挂接真实机的声卡

    在Win7 Hyper-v虚拟机中挂接真实机的声卡 最近在测试Lync的语音功能,环境已在虚拟机中搭建好,但Hyper-V中不支持声卡,一直未测试成功,经过一番尝试后终于成功,细节如下: 1.真机为W ...

  • win7旗舰版中的telnet命令无法使用了怎么办?

    虽然说win7旗舰版系统下载中有很多的命令形式,但是对于很多人来说,最常用的其实就是那么几个,而对于咱们这种IT从业者来说,最常用的,就莫过于是ping.tracert.telnet三大命令了吧?那么 ...

  • 如何在win7旗舰版中利用组策略删除注销功能?

    w764位旗舰版的关机方法想必大家是十分了解的吧,当很多用户升级到win8系统之后还会觉得非常的不习惯,因为win8系统的关机功能十分的"封闭",和之前win7旗舰版中的方便操作似 ...

  • 如何在win7旗舰版中批量删除多余的网络适配器图标?

    什么是网络适配器?可能对于很多用户来说,这个名字过于的专业化,其实网络适配器就是诸如本地连接.无线网络这样的图标,它们也可以称作是网卡或者是网络接口卡,主要是帮助用户传输数据文件所用的.一般情况下,咱 ...

  • win7旗舰版中PPT软件的撤销次数如何更改?

    其实办公软件的范围是很广的,除了咱们比较熟悉的word软件和excel软件之外,PPT软件也是其中之一,而且伴随着现在数字化媒体的发展,越来越多的用户更倾向于使用这款图文结合的文件制作工具了.不过咱们 ...

  • win7操作中心有什么用?

    Windows7操作中心的作用,大部分朋友刚刚开始接触Windows7系统的时候,就留意到了任务栏右下角通知区的那个白色的小旗子,后来才知道,这个小白旗,对于很多Win7电脑新用户是有很多用处的.别看 ...

  • 如何在win7系统电脑中安装收音机调谐器

    如何在win7系统电脑中安装收音机调谐器 具体操作如下: 1.进入Windows Media Center界面,滚动鼠标滑轮,选择"电视"选项,单击"指南"; ...