(第一篇)浅谈Windows 10 中的 组件库对应关系 与 版本授权

一、WinSxS简介与WinSxS组件库探究:

Windows 10系统映像中体积最大也是比较关键的一项就是WinSxS组件库,平时使用Windows10每次更新后发现C:\WinSxS变得越来越大了,微软官方提供的有固化补丁减小WinSxS提及的命令:Dism.exe /online /Cleanup-Image /StartComponentCleanup /ResetBase,这个命令可以显著减小体积,同时有些补丁固化不可卸载,所以使用时需谨慎。下面就简单说说WinSxS这个组件库。微软的组件库以组件包形式安装的,微软的组件封包路径位于C:\Windows\Servicing\Packages中的.mum文件,dir /b C:\Windows\Servicing\Packages\*.mum命令可生成组件封包列表,这些mum文件就是微软的组件安装包,就像平时安装的软件包,这些组件安装过程中会把安装包释放在一个位置,也就是真实的安装文件,而这些真实的安装文件或者说程序集文件由C:\WinSxS的组件相关的所有文件夹与C:\WinSxS\Manifest下的文件构成(注意Manifest文件大多数是加密的,你用记事本打开会出现乱码,需要用SxSExpand把这些Manifest文件解密后才可以正常查看),对于同一个组件来说,它位于C:\WinSxS下的安装包文件夹与C:\WinSxS\Manifest下的.manifests文件的关系是映射关系。对于任意一个组件,都可以找到他的程序集文件夹和文件,这样子就构成了一个独立的组件安装包,组件安装包的位置就是对应的C:\Windows\Servicing\Packages中的.mum文件。

简单举个例子:这个是我提取的BitLocker组件包,组件名:Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0

(第一篇)浅谈Windows 10 中的 组件库对应关系  与 版本授权4GNYCH_DRV97WN8.png

从这个图简要分析,这个文件夹用微软的makcab就可以制作成组件包,可以用dism /online /add-package来安装组件。从组件构成上看,这个文件夹的子文件夹都位于C:\WinSxS文件夹下,这个文件夹的所有的Manifests文件都位于C:\WinSxS\Manifest文件夹下,同时这个文件夹的子文件夹的文件名与这个文件夹的所有的Manifests文件名是映射关系。简单说,这个Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0文件夹压缩后就是C:\Windows\Servicing\Packages\Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum的真实安装包。同时注意一点:Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0这个文件夹下一定不存在Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum文件,但可能会存在Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0组件的子组件对应的.mum文件,因为Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0的子组件包含在Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0内部,它的程序集文件夹和文件一定在组件包内部。

(第一篇)浅谈Windows 10 中的 组件库对应关系  与 版本授权VW0KXEJ5DXYK@XO.png1

如上图,Microsoft-Windows-SecureStartup-Subsystem-base-Package~31bf3856ad364e35~amd64~~10.0.14393.0和Microsoft-Windows-SecureStartup-Subsystem-onecore-Package~31bf3856ad364e35~amd64~~10.0.14393.0.mum、Microsoft-Windows-SecureStartup-Subsystem-Package~31bf3856ad364e35~amd64~~10.0.14393.0都是Microsoft-Windows-SecureStartup-Package~31bf3856ad364e35~amd64~~10.0.14393.0的子封包。

二、WinSxS组件库与CBS的对应关系:

组件库在注册表中有明确体现(也就是CBS),它在注册表中的名称和数量与C:\Windows\Servicing\Packages中的.mum文件是一一对应一定是一致的。CBS在注册表中的位置:"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing\Packages"。自己可以去比较查看。像平时常用的打开和关闭Windows功能就是CBS与对应的mum文件协调控制的,无论什么状态他们都是一致的,共同控制着Windows功能。某种程度上CBS主导作用更大一些。

三、简述授权SKU的变化历史

Windows10版本目前已经很多,授权证书从整体看有了一定的变化,从早期的1511 、1607这些版本,像专业版,企业版这些版本是独立的,sku证书都是独立的,对应于独立的ProfessionalEdition或者EnterpriseEdition,并具备该授权状态下的产品的特色 。到后来的1903、1909、20h1、20h2已经开始演变,企业版、ServerRDSH、教育版、专业工作站、家庭版等等都归为ProfessionalEdition的分支下,此时这些版本对应的Editon的mum文件已经完全相同,全部都是ProfessionalEdition,这些版本可看作pro的衍生物,此时再使用Set-Edition命令实现版本升级或转换时,ProfessionalEdition不再做任何改变,和之前版本的版本升级会删除其余版本的程序包有明显差异。同时,在新的Windows 10系统下除了,企业版、ServerRDSH、教育版、专业工作站、专业教育版等归类为pro分支后,相当于重新定义了ProfessionalEdition(以前的版本ProfessionalEdition只有专业版授权),还存在独立的授权,如EnterpriseG,EnterpriseGN,LTSC这些是独立的授权,和ProfessionalEdition没有关系,系统的组件库中可以找到独立的EnterpriseGEdition,EnterpriseGNEdition,EnterpriseSEdition,在CBS的注册表中的own子键中也是独立的Edition,这样子乍一看全部是独立的无可升级版本无多余的版本,全部是单一的授权貌似很好,但是这些独立的授权个人认为其授权特色包括授权力度已太弱,已逐渐失去Windows10的授权特性。看一个授权证书的特性不是在同类系统上体现的,而是在不一样的架构的系统上它是否仍然显示Windows10的特性。如任务管理器、打开关闭功能等等特色,这是一个漫长深入的话题,在这里仅作简单的阐述,谢谢各位读者的观看。

关于授权在Windows中的架构:

1、C:\Windows\Branding——系统属性那里显示的映像标识

2、C:\Windows\System32\Licenses、Windows\System32\spp\tokens——授权证书的核心文件

3、C:\Windows\System32\spp\store\2.0——系统备份的授权信息

4、C:\Windows\Servicing\Editions——授权证书对应的xml文件集(不重要)。

版权声明:
作者:HFXL
链接:https://third.win/475.html
来源:ThirdWIN
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>
文章目录
关闭
目 录