压缩winsxs文件夹的正确姿势

  • Windows
  • 如果你已经用完这篇Windows系统盘无痛瘦身提到的所有方法还需要进一步释放系统盘容量,那么winsxs文件夹就是最后的希望了。

    如果你已经用完这篇Windows系统盘无痛瘦身提到的所有方法还需要进一步释放系统盘容量,那么winsxs文件夹就是最后的希望了。
    首先这个文件夹是绝对不能删不能删不能删的,然后除了MS给的补丁能通过磁盘清理清理掉一部分文件外,剩下的文件也是绝对不能删不能删不能删的,尽管这货真的很占空间(随随便便就上10GB了)。唯一可以做的就是利用NTFS的压缩功能,可以压缩大概1/3的空间。

    这是我的压缩效果

    2016-09-08_030400 2016-09-08_031634


    注意事项

    1. 尽管是系统级的压缩,尽管winsxs里大部分文件很少会修改或移动,但NTFS压缩对性能还是有轻微影响的。这是在给(自以为)有强迫症的患者打针,实际影响可以忽略。
    2. 虽然下面的操作方法不复杂,我也试过一遍没有问题,压缩后也一切正常,但请按照步骤仔细操作。
    3. 很多介绍这个方法的中文内容讲到压缩就完了,完全不管winsxs和子目录的权限已经变更,导致使用Windows Installer的程序安装或重装时报错。对此我只能说:请以谨慎的态度对待知识。
    4. 以下压缩方法来自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
    

     

    快去看看释放了多少空间出来吧~


    muyunfengliu

    "LET JUSTICE BE DONE, THOUGH THE HEAVENS FALL."

    You may also like...

    Leave a Reply

    Your email address will not be published. Required fields are marked *