会员登录 | 注册

来去留 | 技术信息资源网 laiquliu.com

来去留网 > 去看信息 > 程序系统 > winsxs\backup是什么 winsxs里的backup文件能删除吗

winsxs\backup是什么 winsxs里的backup文件能删除吗

2014-03-17 01:32来源:未知发布者:laiquliu 查看:
winsxs\backup是什么 winsxs里的backup文件能删除吗  

         WinSxS是Windows目录下一个重要的目录,里面的文件是不可删除的。 WinSxS下有很多重要的组件,版本也很繁杂,为了保证Windows的正常运行,请确保这些文件一个都不能少。这些文件支撑着mscorwks.dll,没有它们,mscorwks也无法加载。强行删除后可能只有以安全模式能勉强进入Windows,Windows也就废了。

微软关于WinSxS的说明,支持COM和共享DLL的隔离

  Windows 系列系统(这里包括XP、Vista、Win7)在“Windows”目录下提供了一个名为“WinSxS”(Windows Side-by-Side)的文件夹。系统使用这个文件夹存储各个版本的Windows组件,减少因为动态链接库(Dynamic Link Libraries,DLL)引起的配置问题(DLL hell)。组件的多个版本都存储在这个文件夹中。Windows XP允许Win32 API组件和应用程序使用与这些程序在测试时所使用的版本完全一致的Microsoft 组件版本,并且不受其它程序或者操作系统升级的影响。Windows 通过XML文件来实现这一功能,这些XML文件保存了有关应用程序配置的元数据,例如COM类、接口和类型库。

winsxs文件夹的作用

  此文件夹的文件是系统必要文件非常重要的,绝对不要删除。(已经有网友出现删除后无法进入系统的严重问题)安全的做法是通过系统自带的释放磁盘空间工具,清除service pack备份。winsxs里面有极大部分的文件都与system32文件夹中的重复,保证在一份文件缺失的情况下,还有另一份顶着。如一次系统卡死,强制关机重启时系统有文件丢失.这时系统就会从这里调出文件自动完成修复.不然的话.直接就会出来....文件丢失.只能重装系统了.
另外,其余不重复的文件就是WINSXS特有的文件,也是系统必须的,且只会占一点点的空间,所以不能删。

但我们可以压缩C:\Windows\winsxs文件夹

  这个文件夹是系统安装文件夹,大部分时间是用不到的,压缩后可节省1GB多的磁盘空间。
 
  方法:先取得WINSXS文件夹的读写权限(默认管理员对这个文件夹只有读取的权限),然后选择WINSXS点鼠标右键,常规-->高级...-->压缩内容以节省磁盘空间。压缩过程需时10-30分钟,视硬盘性能而定。

  注意!取得WINSXS文件夹的读写权限会影响WIN系统文件的安全性!所以请谨慎操作!不甚了解的朋友建议不要操作本步骤。

我们电脑常用的是睡眠功能, 也就是电脑不用一定时间后, 进入低功耗状态, 工作态度保存在内存里, 恢复时1-2秒就可以恢复到原工作状态。这个功能是很实用的, 也是最常用的。

  而休眠是把工作状态即所有内存信息写入硬盘,以4G内存为例,即要写入4G的文件到硬盘,然后才关机。开机恢复要读取4G的文件到内存,才能恢复原工作界面。而4G文件的读写要花大量的时间,已经不亚于正常开机了,所以现在休眠功能很不实用(针对1G以上内存,512MB以下小内存还是有一定作用的)。

  而休眠的HIBERFIL.SYS这个文件就是用来休眠时保存内存状态用的。会占用C盘等同内存容量的空间(以4G内存为例,这个文件也为4G),所以完全可以删掉而不影响大家使用。还会大大节省C盘空间的占用。

  操作方法:

  以管理员权限运行CMD, 打以下命令:

    POWERCFG -H OFF

  即自动删除该文件。大家看处理前后C盘空间的变化(刷新一下)就知道了。有时需重启电脑。

Backup文件夹的作用

         可以删除,不过是备份文件夹而已了,不过系统文件夹不建议乱删除,还是留着为好,这个文件夹删除了也节省不了多少地方的吧,万一还需要可就不好在找到了
  Backup文件夹是winsxs的子文件夹,从名字上很好理解就是一些备份文件而已,可以删除,不过系统文件夹不建议乱删除,还是留着为好,这个文件夹删除了也节省不了多少地方的吧,万一还需要可就不好在找到了。但是直接删除里面的文件往往会造成系统无法更新,这个你自己考虑。而其中的C:\Windows\winsxs\Backup是备份文件。我们可以给Backup文件夹瘦身,比如给Windows 7的winsxs\backup文件夹瘦身的方法就是用零字节的文件代替,方法如下:

1.首先要取得backup文件夹的所有权
     下载附件导入注册表右键菜单就会多出一选项“***取得所有权”,取得backup文件夹所有权
2.获取backup文件夹里面所有文件名列表,命令 dir *.* /a /b /s >list.txt
     不太懂dos命令的可以将该命令保存为 getlist.bat ,将该文件拷贝至backup文件夹双击就可以得到文件名列表 list.txt
3.编辑 list.txt文件
       list.txt文件内容为
如下格式:
C:\Windows\winsxs\Backup\x86_hid-user.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c2f2386dd569373b.manifest
C:\Windows\winsxs\Backup\x86_hid-user.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c2f2386dd569373b_hid.dll.mui_cccd5ae0
C:\Windows\winsxs\Backup\x86_hid-user.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c2f2386dd569373b_hidserv.dll.mui_561adfc8

……
将其修改为

type nul > %windir%/winsxs/backup/x86_hid-user.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c2f2386dd569373b.manifest
type nul > %windir%/winsxs/backup/x86_hid-user.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c2f2386dd569373b_hid.dll.mui_cccd5ae0
type nul > %windir%/winsxs/backup/x86_hid-user.resources_31bf3856ad364e35_6.0.6000.16386_zh-cn_c2f2386dd569373b_hidserv.dll.mui_561adfc8

……

实在就是进行查找和替换,选则全部替换
C:\Windows\winsxs\Backup\替换为type nul > %windir%/winsxs/backup/

4.将该文件保存为winsxs-backup.bat。
5.双击执行就可以了。

一. windows xp

  Windows XP的一个重要革新就是引入了隔离组件(Isolated Components)和并列共享(side-by-side sharing)功能。作为原来Windows中经常出现的DLL冲突问题的解决方案,Microsoft 强烈建议应用程序使用组件隔离和并列共享技术来解决DLL调用的问题。微软在ComCtl version 6中使用了并列共享处理,证明隔离组件和并列共享是未来Windows的发展方向。
  在使用隔离组件和并列共享模式下,一个组件的很多个不同版本被同时安装在系统中。注意,是"同时"安装在系统中。在原来的Windows中,系统中一个组件或者是DLL只能有一个版本,因此在安装应用程序的时候,我们经常看到这样的对话框:"要安装的xxxx.dll 比系统中原有的要旧,是覆盖还是保留?"。这个问题的确不好问答,因为安装旧的DLL吧,那么原来使用新的DLL的应用程序可能无法正常运行;如果不安装,那么新的应用程序也可能无法正常运行。这真是个两难的问题。
  Windows XP使用隔离组件和并列共享较好地解决了这个问题。由于系统中可以有一个DLL或组件的多个版本同时存在,应用程序在运行的时候可以选择使用自己在设计或开发的时候经过严格测试的组件版本。这样可以避免应用程序被迫调用不同版本的DLL或组件而可能导致的不可预知的错误。
  在Windows XP中,隔离组件和并列共享主要是通过程序清单(manifest)来实现的。通过程序清单,一个应用程序完整地定义了自己运行时需要调用的DLL或组件的版本。Windows XP根据程序清单,保证系统中一个应用程序的升级或删除不会影响到其它的程序需要使用的DLL或组件。所以我们看到,隔离组件和并列共享可以保证系统的安全和应用程序的安全。
  "程序清单(manifest)"是一个XML 文件,包含了一个程序安装和装配的全部信息,例如所有程序捆绑和安装需要的元数据(元数据指程序需要的基本的DLL调用、组件支持、接口定义等),例如COM 类、接口定义和DLL库定义等。清单文件有两类:应用程序清单文件,用来描述应用程序所需要的所有元数据;装配清单文件,用来描述单个组件的安装。
  一个应用程序可以在程序清单中明确地指出自己包含的所有程序部件如何安装在系统中。一个应用程序包含很多基本的元素,例如接口定义、帮助文件、不同版本的组件、系统配置信息等。所有的这些元素,可以根据程序清单分成两类:公有的和私有的。公有元素可以被计算机上安装的其他应用程序使用,他们被安装在Windows XP的WinSxS目录中。私有元素只能被包含他们的应用程序使用,安装在应用程序独有的目录下。

二.windows vista/7

  WinSxS是VISTA/Windows 7的Windows目录下一个非常重要的文件夹,该文件夹里边有很多重要的组件,版本也很复杂,为了保证Windows的正常运行,里面的文件是不可删除的,这些文件夹支撑着mscorwks.dll,没有它们nmscorwks也无法加载。如果强行删除后,可能只能以安全模式能勉强进入 Windows,Windows也就“挂”了。
  Microsoft 在 Windows Vista/ Windows 7 里面大量使用了NTFS文档系统的特性之一的:硬相连(Hard Link)来实现WinSxS机制!
  硬相连是NTFS文档系统特有的属性之一,在Linux下面,也有类似的机制。硬相连适用于在同一个卷的文档级别,硬相连是不能跨卷的。
  Windows Vista / Windows 7自带了创建硬相连的命令:mklink.exe,利用这个命令,我们可以给指定的文档创建硬相连。
  常常看到有人抱怨,Windows\WinSxS目录占用了太多的空间,里面常常发现有同名的文档,而且这些同名的文档在 Windows\System32 目录下面也有存在,这是为啥呢?其实这就是硬相连导致的。
  Microsoft为啥这么贫苦搞这个呢?其实如此对系统的稳定性的增加非常有好处。 
  同样的文档,只必要维护硬相连干系,不必要进行多重的拷贝,如此可以节省硬盘空间。
  如果涉及文档更新,只必要先在WinSxS 目录里面下载好一个新版本,然后改正 Windows\System32 下面同名文档的硬相连干系,从旧版本的硬相连指向新版本的硬相连,如此就可以或许快速的完成文档的更新工作,而不必要进行文档的复制,速度也会快不少
  补丁卸载也是一样的,只必要把硬相连指向改为旧版本就可以了,没有文档替换的问题。而且建立了硬相连干系的文档之间的改正是同步的,所以只要有一方被改正了,另一方也会得到改正。 (责任编辑:laiquliu)

关注技术,信息,资源,扫描来去留网微信二维码交流。

来去留我李俊

------分隔线----------------------------
相关栏目
热点推荐