压缩winsxs文件夹的正确姿势
如果你已经用完这篇Windows系统盘无痛瘦身提到的所有方法还需要进一步释放系统盘容量,那么winsxs文件夹就是最后的希望了。
首先这个文件夹是绝对不能删不能删不能删的,然后除了MS给的补丁能通过磁盘清理清理掉一部分文件外,剩下的文件也是绝对不能删不能删不能删的,尽管这货真的很占空间(随随便便就上10GB了)。唯一可以做的就是利用NTFS的压缩功能,可以压缩大概1/3的空间。
这是我的压缩效果
注意事项
- 尽管是系统级的压缩,尽管winsxs里大部分文件很少会修改或移动,但NTFS压缩对性能还是有轻微影响的。这是在给(自以为)有强迫症的患者打针,实际影响可以忽略。
- 虽然下面的操作方法不复杂,我也试过一遍没有问题,压缩后也一切正常,但请按照步骤仔细操作。
- 很多介绍这个方法的中文内容讲到压缩就完了,完全不管winsxs和子目录的权限已经变更,导致使用Windows Installer的程序安装或重装时报错。对此我只能说:请以谨慎的态度对待知识。
- 以下压缩方法来自dandar3.blogspot.jp,我只是结合自己的经验整理补充。
压缩方法
1. 关闭其它在运行的程序,以管理员权限运行cmd,按顺序输入以下指令
2. 停止并禁用Windows Installer和Windows Module Installer服务
sc stop msiserver sc stop TrustedInstaller sc config msiserver start= disabled sc config TrustedInstaller start= disabled
3. 备份winsxs目录的ACLs(存取权限表,一会儿要还原的)
icacls "%WINDIR%\WinSxS" /save "%WINDIR%\WinSxS.acl" /t
4. 获得WinSxS和其子目录的所有权
takeown /f "%WINDIR%\WinSxS" /r
5. 获得winsxs目录的所有权限
icacls "%WINDIR%\WinSxS" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
6. 压缩winsxs
compact /c /s:"%WINDIR%\WinSxS" /i
7. 把WinSxS和其子目录的所有权还给TrustedInstaller
icacls "%WINDIR%\WinSxS" /setowner "NT SERVICE\TrustedInstaller" /t
8. 还原winsxs目录的ACLs
icacls "%WINDIR%" /restore "%WINDIR%\WinSxS.acl"
9. 删掉备份的WinSxS.acl文件
del "%WINDIR%\WinSxS.acl"
10. 还原Windows Installer和Windows Module Installer服务为手动
sc config msiserver start= demand sc config TrustedInstaller start= demand
快去看看释放了多少空间出来吧~