| 導購 | 订阅 | 在线投稿
分享
 
 
 

Windows Vista内现神秘超大WinSxS文件夹

2008-09-21 08:31:39  編輯來源:互聯網  简体版  手機版  評論  字體: ||
 
  这是一个在安装Windows Vista和Windows Server 2008时候经常被提及的问题.为了解答这个问题,首先我们要了解“组件化”这个词的含义,然后再谈一谈Vista里面的组件们是如何被管理的。

  Vista相比于前任的重大变化之一就是从用“安装配置”(INF文件)描述的操作系统过渡到组件化的系统.Windows中的所谓“组件”就是一或多个二进制文件,一个索引文件,还有一个描述安装过程如何进行的XML格式文档。这个文档描述了可能的注册表操作或者安全权限需求.组件们以逻辑单元分组,这些单元的不同就是Windows不同版本的区别。

  WinSxS这个文件夹存放了Windows所需要的所有组件。每一个组件都有属于自己的命名,可以看出它属于何种版本、语言,以及是32位还是64位的Windows。每当系统需要任何一种文件的时候,都会从这个文件夹找到相应的文件,再拷贝到需要的路径里面,或者直接创建一个映射,指向winsxs文件夹里的源文件(显然这么做对硬盘空间仁慈多了)。也就是说,实际上Winsxs这个文件夹和Windows完全安装一次所需的磁盘空间一样大。

  这样一来,我们便不能完全从硬盘上删除某种Windows功能,就像我们刚刚在xp里还能做到的那样。(你也许注意到了,控制面板“程序和功能”里有一个“打开或关闭Windows功能”选项——而不是“添加或删除Windows功能”。)

  也是因为如此,理论上winsxs这个文件夹并不会随着时间推移越来越臃肿,塞进一些天知道是什么的东西(很不幸,很多Windows文件夹都有自动增肥的功能)。但有一个例外——就是如果你安装了一项功能的更新(例如通过WindowsUpdate),那么为了方便你回滚有问题的更新,新旧两种文件副本会同时存放在Winsxs文件夹里!(看来要双手合十祈祷微软能一次性更新尽可能多的补丁,而不是一次一个,一次一个……)

  微软这么做显然能大大提高产品的稳定性。因为每个更新版本都有副本保存,所以当我们回滚一个更新时,会退回到次新的版本,不会出现版本号混乱的局面。而且,如果要添加一个新功能,系统会检查是否已经有了版本号更新的组件,而不是直接插入光盘,因为那样只会装上RTM的旧版本。

  最后,安全的削减Winsxs文件夹的大小,只有一个办法,就是尽可能去掉自己不用的组件及其更新。虽然微软没有提供官方的整合SP1到VistaRTMISO的办法,但是SP1中的一个小程序VSP1CLN.EXE可以永久整合SP1到系统,删除一切用于回滚的版本备份,这样便不能回退到RTM。

  (在现在硬盘容量向TB迈进的时候,牺牲一部分硬盘空间来换取比以往更高的安全性,也许是比较划算的办法。看来Vista的确是面向未来而设计的一款系统。)

  文章作者JosephConway,微软企业级平台支持高级工程师。
 
 
 
  这是一个在安装Windows Vista和Windows Server 2008时候经常被提及的问题.为了解答这个问题,首先我们要了解“组件化”这个词的含义,然后再谈一谈Vista里面的组件们是如何被管理的。   Vista相比于前任的重大变化之一就是从用“安装配置”(INF文件)描述的操作系统过渡到组件化的系统.Windows中的所谓“组件”就是一或多个二进制文件,一个索引文件,还有一个描述安装过程如何进行的XML格式文档。这个文档描述了可能的注册表操作或者安全权限需求.组件们以逻辑单元分组,这些单元的不同就是Windows不同版本的区别。   WinSxS这个文件夹存放了Windows所需要的所有组件。每一个组件都有属于自己的命名,可以看出它属于何种版本、语言,以及是32位还是64位的Windows。每当系统需要任何一种文件的时候,都会从这个文件夹找到相应的文件,再拷贝到需要的路径里面,或者直接创建一个映射,指向winsxs文件夹里的源文件(显然这么做对硬盘空间仁慈多了)。也就是说,实际上Winsxs这个文件夹和Windows完全安装一次所需的磁盘空间一样大。   这样一来,我们便不能完全从硬盘上删除某种Windows功能,就像我们刚刚在xp里还能做到的那样。(你也许注意到了,控制面板“程序和功能”里有一个“打开或关闭Windows功能”选项——而不是“添加或删除Windows功能”。)   也是因为如此,理论上winsxs这个文件夹并不会随着时间推移越来越臃肿,塞进一些天知道是什么的东西(很不幸,很多Windows文件夹都有自动增肥的功能)。但有一个例外——就是如果你安装了一项功能的更新(例如通过WindowsUpdate),那么为了方便你回滚有问题的更新,新旧两种文件副本会同时存放在Winsxs文件夹里!(看来要双手合十祈祷微软能一次性更新尽可能多的补丁,而不是一次一个,一次一个……)   微软这么做显然能大大提高产品的稳定性。因为每个更新版本都有副本保存,所以当我们回滚一个更新时,会退回到次新的版本,不会出现版本号混乱的局面。而且,如果要添加一个新功能,系统会检查是否已经有了版本号更新的组件,而不是直接插入光盘,因为那样只会装上RTM的旧版本。   最后,安全的削减Winsxs文件夹的大小,只有一个办法,就是尽可能去掉自己不用的组件及其更新。虽然微软没有提供官方的整合SP1到VistaRTMISO的办法,但是SP1中的一个小程序VSP1CLN.EXE可以永久整合SP1到系统,删除一切用于回滚的版本备份,这样便不能回退到RTM。   (在现在硬盘容量向TB迈进的时候,牺牲一部分硬盘空间来换取比以往更高的安全性,也许是比较划算的办法。看来Vista的确是面向未来而设计的一款系统。)   文章作者JosephConway,微软企业级平台支持高级工程师。
󰈣󰈤
 
 
 
>>返回首頁<<
 
 
 
 
 
 熱帖排行
 
 
王朝网络微信公众号
微信扫码关注本站公众号 wangchaonetcn
 
  免责声明:本文仅代表作者个人观点,与王朝网络无关。王朝网络登载此文出于传递更多信息之目的,并不意味著赞同其观点或证实其描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有