Windows一个显著的弱点就是:C:\WINDOWS或C:\WINNT这个文件夹大小随着时间的推移不断增长,不管你使用原版、OEM版,还是山寨精简版,初始安装的时候还为只有几百M或1~2G沾沾自喜,但过不了多久就有数个GB的文件填充到这个目录下,在给系统做GHOST备份的时候带来麻烦。一般人可能想到删除一些帮助文件、输入法、更新补丁……但这个目录存放的都是WINDOWS系统的文件,稍有不慎,就会给使用带来麻烦(或潜在的麻烦)。一个典型的例子就是:有很多朋友问我C:\WINDOWS\Installer这个目录下的文件能否删除,这个目录保存了应用软件的安装信息,轻易删除,会给这些软件的卸载、升级、更新带来问题。这里推荐一个“一劳永逸”的办法:junction。
首先介绍一下junction这个工具。junction.exe 是 Sysinternals 出品的命令行工具。Sysinternals是微软旗下的一家小公司,以生产Windows管理工具著称,例如著名的autoruns.exe等。值得注意的是,junction.exe只能在NTFS分区使用,因为它使用了一些NTFS文件系统特有的功能,类似于unix/linux的link,它可以把一个目录“映射”到其他的位置。
现在以C:\WINDOWS\Installer的处理为例,简要介绍一下junction.exe的使用方法吧。首先,选一个较大的分区作为系统文件移动的分区,例如D盘。在D盘新建一个文件夹,例如D:\WINBAK。然后将整个C:\WINDOWS\Installer复制到D:\WINBAK中,再删除C:\WINDOWS\Installer。接下来在CMD窗口中输入:
junction C:\WINDOWS\Installer D:\WINBAK\Installer
这样,就建立了一个D:\WINBAK\Installer到C:\WINDOWS\Installer的链接,你可以看到在C:\WINDOWS下又有了一个Installer目录,对于WINDOWS而言,这两个目录完全一样,删除其中任何一个都会删除另外的一个。这样做的好处就是:每次安装新的软件,相关的安装信息实质上是保存到了D:\WINBAK\Installer目录,不占用C:\WINDOWS下任何空间。
你可以把一些不经常改变的文件夹移到D:\WINBAK目录中,例如Help、Inf、ie7、ie7updates、Driver Cache、$hf_mig$、ime、RegisteredPackages等等,同样的道理,C:\Program Files目录中的一些东东也可以移到其他分区。处理完之后,做一个GHOST,备份和恢复都很轻松吧!如图,我的系统的部分junction目录:
如果要恢复以前的设置,不能直接用del或在资源管理器中删除目录,使用:
junction -d C:\WINDOWS\Installer
即可解开C:\WINDOWS\Installer与D:\WINBAK\Installer之间的绑定,并安全删除C:\WINDOWS\Installer目录。
下载之后把它解压到C:\WINDOWS\SYSTEM32目录吧,随时可以使用。
同样的,你也可以利用它来组织非系统分区目录,例如“我的文档”,可以把一些常用的文件夹junction到这里,我自己的如图所示,它实际上来源于许多不同的文件夹。
下载地址:http://blog.qdsang.com/wp-content/uploads/2011/09/Junction.zip