Windows 7中Windows目录到底占用了多少硬盘空间?
2009-09-08 00:00:00 来源:WEB开发网还是针对上述的例子,如果我们把原始的文件 source.txt 删除以后,link.txt文件还是会继续存在的,且内容就是source.txt的文件内容。也就是说,我们删除source.txt,实际上删除的仅仅是这种连接关系,文件本身还是没有被操作的。
关 于硬连接,最后一个需要介绍的内容是:当硬连接建立以后,硬连接双方任何一个对象被修改,都会造成对应的连接对象被修改。例如上面的例子:如果修改了 link.txt,那么source.txt文件也会同步被修改,反之亦然。这一点和SHELL层面的快捷方式不同,SHELL层面的快捷方式文件LNK 仅仅是一个指示关系,修改LNK文件并不影响LNK文件指向的对象,修改LNK文件指向的对象也不会影响LNK文件。
好了,基本知识介绍完了,我们来实际看看Windows目录里面对于硬连接的使用情况吧。
经常看到有人抱怨,WindowsWinSxS目录占用了太多的空间,里面经常发现有同名的文件,而且这些同名的文件在 WindowsSystem32 目录下面也有存在,这是为啥呢?其实这就是硬连接导致的。
Microsoft 实际上在 WindowsWinSxS 目录和Windows目录之间建立了硬连接的关系,举一个最简单的例子:
对于 Windows 7 RTM 来说,你可以在2个地方找到Ntoskrnl.exe文件。第一个地方是:WindowsSystem32ntoskrnl.exe,另外还有一个地 方是WindowsWinSxSx86_microsoft-windows-os- kernel_31bf3856ad364e35_6.1.7600.16385_none_6c06b7c41576a7d9ntoskrnl.exe, 这就是一个典型的硬连接例子。Microsoft 在文件系统上面对 ntoskrnl.exe 做了一个硬连接,使得 ntoskrnl.exe 能够出现在不同的目录里面,但是只占用了一份 ntoskrnl.exe 的硬盘空间。利用这种机制,有下面的一些好处:
同样的文件,只需要维护硬连接关系,不需要进行多重的拷贝,这样可以节省硬盘空间
更多精彩
赞助商链接