Win7母盘定制

  • A+
所属分类:技术文档

前言
首先说明一下 如题 以下内容仅仅是本人对于没事瞎折腾的Windows 7 封装篇(一)【母盘定制】定制合适的系统母盘[手工制作](以下简称母盘定制一)的见解 仅是出于技术探讨共同进步的目的
我水平也不高 知识和技术都是从各大搜索引擎、泡论坛泡Q群和自己的研究与感悟而习得的 在这方面的老鸟请飞过吧 开场白什么的 我不就不说了 直接进入主题


 

个人分析了下 母盘定制一的主要目的是在于为win7旗舰版集成补丁 并删除一些认为没用或用不上的东西(属于非功能性精简)
以win7旗舰版为背景 需要满足以上两点的话 完全不需要下载 AIK or ADK win7旗舰版本身就自带DISM 虽然没win8系列的完善 但足以满足这两点了 自带DISM 版本6.1.7600

Win7母盘定制

 


 

第1部分:导出原版系统映像(install.wim)中的旗舰版子映像(Windows 7 ULTIMATE)
第2部分:整合补丁到系统映像
第3部分:在保证系统稳定的情况下精简与优化系统(稳定才是重点!)”

 

这是原作者的三部曲 终归到底我们制作的仅仅是母盘 而母盘用来干嘛 没错 是用来封装的 那既然如此就完全没必要分离出子映像文件了(没必要导出旗舰版子映像文件)

第一步不止需要下载 而且分离映像文件和打包映像再解包等一系列操作非常耗时 既然第一步可以跳过 那为什么非得画蛇贴足呢
首先要执行这些步骤你必须得拥有一个 镜像(可以到微软官网或到“我告诉你”去下载)

 

Win7母盘定制

然后用软碟通把 提取出来 从图中可以看出该win7x64的wim文件包涵4个子映像 分别为家庭普通、家庭高级、专业、旗舰 一般情况下顺序分别是1234
要肯定子映像和其对应的Index 可以用DISM命令“dism /Get-WimInfo /wimfile:路径”查看、用天空的EIX之类的工具查看、直接查看wim压缩包文件里面的[1].xml文件也行 似乎有点扯远了

 

Win7母盘定制

 

 


 

以下是代码

MD D:\wimmount
::因为DISM不会自动创建文件夹 当指向的文件夹不存在时会报错 所以需要命令创建个文件夹 当然你也可以掉这命令去手动创建
echo 正在添加补丁,请稍后
Dism /Mount-WIM /WimFile:D:\install.wim/Index:1 /MountDir:D:\wimmount
::把install.wim映像文件的第一个子映像挂载到D盘wimmount文件夹
Dism /Image:D:\wimmount /Add-Package /PackagePath:D:\hotfix
::向位于D盘wimmount文件夹的Windows脱机文件添加进格式为msu、cab的文件
::从wim挂载出来的文件既是脱机文件 说白了不在活动的文件都是脱机文件 msu为补丁文件
Dism /Unmount-WIM /MountDir:D:\wimmount /Commit
::保存位于D盘wimmount文件夹的脱机文件并卸载(清理空wimmount文件夹内的脱机文件)
echo 结束,按任意键退出
pause >nul

::谁能告诉我下面这段代码的意义何在 改名前的那个就是你打好补丁的映像文件好么 一 一!..
echo 清理临时垃圾文件
rename D:\install.wim temp.wim
imagex /export D:\temp.wim 1 D:\install.wim
echo 按任意键退出
pause >nul


 

以上母盘定制一的第二部整合补丁到系统映像的命令 我只是添加了注释方便非老鸟们读懂
直接用从原版ISO提取出来的install.wim可以跳过母盘定制一的第一步直接进行第二步了
执行以下命令即可对wim文件的旗舰版完成添加补丁操作

 


 

以下是代码
MD D:\win7
::md为创建文件夹命令(可以同时创建带多个子文件夹的文件夹) 文件夹名字随意哈 只要下面的命令相对应就好 如果已有文件夹则不需要该命令
echo 正在添加补丁,请不要关闭该窗口
Dism /Mount-WIM /WimFile:D:\install.wim/Index:4 /MountDir:D:\win7
::参数Mount-WIM为挂载映像 WimFile指定所要挂载的映像文件所在路径 Index指定的数字为要挂载的子映像 MountDir指定要挂载到哪一个路径下面
Dism /Image:D:\win7 /Add-Package /PackagePath:D:\Patch
::参数Image指向挂载出来的脱机文件所在路径 Add-Package为新增程序包 PackagePath指定要新增进去的文件所在路径 可以指向单文件或文件夹(仅支持cab、msu两种格式)
Dism /Unmount-Wim /MountDir:D:\win7 /Commit
::参数Unmout-Wim为卸载已挂载的脱机文件 MountDir为指向要卸载的脱机文件所在路径 Commit为保存更改 即先保存再卸载 参数Discard为不保存变更 即直接清理脱机文件
rd D:\win7 /s /q
::rd为删除文件夹 DISM卸载(清理)完脱机文件后 之前的文件夹已是空壳


 

当修改完成后你会发现install.wim除了旗舰版添加了补丁 其它的三个版本还是原来的配方原来的味道 不然影响你的旗舰版 所以完全没必要去特意提取出子映像
我个人是喜欢把打包好的wim文件丢进虚拟机 然后用PE安装 或者你把wim文件打包替换回ISO也可以

 

 

对于母盘定制一的第三步我个人还是觉得有点蛋疼..
既然都在第二步把打好补丁的映像打包好了 又何必去解包删除文件再打包呢 意义何在吖
这完全可以封装完系统后 在PE环境下捕获映像前进行删除吖
(个人觉得这样做母盘更稳定些 因为相对封装而言 你的母盘仅仅只是添加了补丁)
或者是在你打完补丁的时候进行清理然后再打包吖

 

对于母盘定制一的第三部的这“Windows\winsxs(只删文件夹”一句 个人觉得应该是作者笔误吧 说的应该是删除该文件夹内以下内容 如果真的是删除这个文件夹会死人的
自己根据母盘定制一要精简(删除)的部分写了个批处理

 

 

Win7母盘定制

 

 

(如图只要会这两个命令就基本没压力了)

 

Win7母盘定制

 
并支持作者不公开批处理的做法 一来是伸手党太多 二来自己写可以锻炼和复习批处理能力
并且可以根据自己的见解定制批处理 毕竟作者提供的也是个参考 不建议批处理在PE环境跑
温馨提示 非老鸟 任何测试都请在虚拟机下进行

 

好了 想说的也说完了 以上仅仅是个人对母盘定制一的见解
可能由于经常泡Q群的原因吧 本贴没任何想得罪人的意思 说的不好还请见谅
这些仅是本人对于技术的交流和探讨 共同学习共同进步
这里我还要引用一下作者的话我写的不好,抛砖引玉而已!比我优秀的人大有人在!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: