Windows 系统封装的一个新办法
跑题了, 说到Windows封装和部署, 我的理解是, 这个工作的核心目的是:
为特定使用场景下的大量电脑设置统一的Windows系统及软件, 最终实现客户开机即用
Windows封装和部署的常用场景, 一般是品牌电脑出厂预装系统. 比如, 您买来一台联想电脑, 进入系统后会发现除了Windows系统本体, 往往会有厂商预制的一些工具类软件和设置. 另一种常见的场景是, 针对专门客户, 往往会根据客户要求对系统进行定制, 例如联想卖给Google 几千台ThinkStation 工作站, 可能会根据Google的要求预装他们想要的软件, 这时就需要对Windows系统进行定制和封装.
我理解的Windows 系统定制和封装, 大概包括这么几个步骤:
- Windows 系统本身
- 运行定制系统的电脑的驱动程序
- Windows 系统的个性化设置 (如客户要求统一的桌面壁纸)
- 客户所需的各种软件
至于一般的封装步骤, 微软给的方案是从这批要部署定制系统的电脑里找出一台, 然后先正常安装系统, 驱动, 软件, 进行个性化设置, 然后用Windows自带的sysprep工具进行封装, 最后用DISM工具抓取系统分区映像, 最后再把抓取到的映像部署到剩下的电脑里.
dism /image:<Windows 映像所在目录> /add-driver: /driver:<驱动包所在目录> /recurse
这样就会得到一个包含所需驱动程序的Windows镜像, 用这个镜像拿到虚拟机里安装, 就能确保虚拟机里的系统既包含了驱动, 又不会出现报错.
使用虚拟机代替实体电脑进行系统封装的另一个好处, 则是支持”反悔”和改过. Windows自带的Hyper-V虚拟机集成了强大的检查点功能, 说白了, 您可以在安装和设置Windows系统时随时设置检查点, 一旦出错就可以退回到最近的检查点, 确保封装的顺利进行.
比如这里我大概弄了二十多个检查点, 每做一步操作就设置一个, 遇到错误就退回上一个检查点重新进行该操作, 这样得到的系统, 基本不会有任何问题 ,这是在实体电脑上无法实现的功能. 至于如何把系统抓出来? 自然是为这个虚拟机添加第二块虚拟硬盘, 然后用Windows PE启动这个虚拟机, 在Windows PE里直接抓取虚拟系统的系统分区 (这里我严重推荐ffu闪存格式, 据说是当初为Windows Phone系统部署设计的, 用在电脑上好用的一批)dism /capture-ffu /capturedrive:\\.\physicaldrive<系统分区所在磁盘的编号> /imagefile:<第二个虚拟硬盘分区>\windows.ffu /name:<随便写点什么>
这样, 封装好的系统就会以ffu闪存格式存在第二个虚拟硬盘分区里, 直接挂载虚拟硬盘, 把ffu文件拷出来就能用喽.
2021年已经接近尾声了, 我也不由自主开始回味这一年的点点滴滴. 学会了什么, 领悟了什么, 给谁带来了温暖? 还有什么问题没解决, 还有哪些遗憾需要弥补, 我又伤害了谁? … 我恐惧于虚度人生, 我害怕浪费时间, 我不希望做错事情. 希望接下来的时间能提高效率, 再多做些事情, 多学些东西, 多温暖身边的人. 2021, 请等我一下.