diff --git "a/\345\220\264\344\277\212\346\230\216/20240328\347\254\224\350\256\260.md" "b/\345\220\264\344\277\212\346\230\216/20240328\347\254\224\350\256\260.md" new file mode 100644 index 0000000000000000000000000000000000000000..8bc66b0bf887af976a2a55f0aaba6e08be0955fa --- /dev/null +++ "b/\345\220\264\344\277\212\346\230\216/20240328\347\254\224\350\256\260.md" @@ -0,0 +1,59 @@ +**1 - 关于封装** + + +------ + + +**1.1 封装是个啥?** + +系统封装:Sysprep,单词拆分为:Sys(系统)prep(准备),直接用途是将系统重置为准备状态。 + +Windows 的系统状态大致上可以分为“准备状态”与“使用状态”。系统映像里的操作系统处于“准备状态”,日常使用的系统处于“使用状态”。处于准备状态的系统通过**部署**进入使用状态,而使用状态的系统可以通过**封装**重置为准备状态。(如下图示意) +![img](https://img-blog.csdnimg.cn/img_convert/5de6b9f01be0724746c2bd6735269b17.png) + +准备状态的系统不包含目标计算机上的各项信息,当准备状态的系统部署到目标计算机后,随着部署过程的推进,会根据目标计算机的硬件配置与使用环境等开始变更系统的驱动、注册表等系统文件(数据),从而在系统部署完成后成为适合目标计算机的使用状态的系统。准备状态与使用状态的系统最明显的外在区别,在于前者首次开机后进入系统部署流程,而后者进入使用者登录界面。 + +封装的作用是将系统重置为准备状态(待部署状态)。 + + +------ + + +**1.2 封装图个啥?** + +对于原版系统而言,装完系统并不是结束而是开端,随后需要打补丁、装驱动、装软件、做调整等一系列流程。这个流程朴实无华且枯燥,每装一次系统重复一次。那么如果一次性面对大量计算机,这个流程简直蠢哭了。 +![img](https://img-blog.csdnimg.cn/img_convert/a7633cf35de25b684cd11eebb5fa74e3.png) + +而有了系统封装技术的加持,允许预先在系统中做好一系列工作,再将这个系统封装起来,而后批量部署到n台计算机上。 +![img](https://img-blog.csdnimg.cn/img_convert/0e5d8c124c6a33fc47ca648e7530b23e.png) + +封装的目的是减少重复劳动、提高工作效率。 + + +------ + + +**相关问题** + +系统封装技术的由来? +系统封装技术(Sysprep)是微软官方技术,并非第三方的凭空创造。NT6代系统中,微软将 sysprep.exe 工具放置于 系统盘:\Windows\System32\sysprep\sysprep.exe,成为了重要的系统自带工具之一。而像 [Easy Sysprep v5](https://www.itsk.com/redirect.php?id=easysysprep) 这类国内常见的系统封装辅助工具,则是以微软封装工具为核心所做的拓展。 + +封装的系统稳定吗? +我曾在不同的时期看到不同代的技术员在反复提这个问题。首先你不要怀疑封装技术的稳定性,封装是微软官方技术之一。那么为什么会有不稳定的状况?这是因为我们在封装系统时向系统添加了各种内容,同时也受制于制作者本身的技术能力。所以你要问封装技术稳定吗,稳定(除非印度人瞎**改);而如果要问封装出来的系统稳定吗,这个就得看添加/修改/删除了什么以及制作者功底了。 + +系统封装兼容性的发展 +最早期的系统封装只能用于同系统配置的计算机,例如NT5代系统(2K/XP等),NT5没有通用的硬件抽象层(HAL)、没有通用的AHCI驱动、不会自动处理驱动,通用性较差,在诸多前辈的努力下才达成了通用性。而NT6代(Vista/7/8/10等)系统则拥有通用的HAL、通用的AHCI/USB3/NVME驱动、会自动处理源计算机驱动,并可以通过DISM达成离线打补丁、添加驱动、增删组件等一系列操作,进一步降低了封装难度并显著提高了系统部署的通用性。 + +系统封装与系统映像有什么区别? +系统封装是将系统重置为准备状态的过程,系统映像是将系统打包成映像文件的过程,虽然一先一后但并没有绝对关联。例如点了份外卖,制作饭菜=系统封装、打包外卖=制作映像、外卖小哥=映像恢复工具、吃饭=系统部署,外卖打包方法和派送速度会影响用户体验,但毕竟与厨子炒菜有本质区别。所以封装的本质是系统重置,而制作系统映像是个打包过程,请不要再将制作映像理解为封装了。很多老手经常说“封装成映像”,意思是说“封装系统并制作为映像”,新手不要混淆为封装即制作映像。 + +系统封装部署与系统克隆的区别 +系统封装是将使用状态的系统重置为准备状态,而后通过部署安装到目标计算机中并进入使用状态。(微软官方技术) +系统克隆是将使用状态的系统直接克隆到其他计算机上。(第三方技术,微软官方对此不推荐) +两者都会处理系统驱动,封装由微软技术解决,克隆由操作者解决。然而手动卸载驱动无法达成微软方式的精准,好在系统本身并不是精密构造,对于问题的兼容性是极高的(至少印度人开发之前是这样的)。相对来说系统克隆可以保全系统中的所有设置项目,实装速度略优于封装部署,但兼容性更依赖操作者能力,且SID等问题难于解决。系统封装部署有完善的官方技术文档支持,而系统部署实际就是一个最小化的系统全新安装过程,兼容性较好,但由于系统被初始化等原因,并非所有系统配置均会被记录。 + +系统克隆与 Ghost 的关系 +本札记主要是对于系统封装的,对系统克隆的话题不会过多讨论,但这个问题仍要予以澄清。多年来N多人无法区分系统克隆、系统封装部署、Ghost系统等名词,混淆其意并妄下结论。上一个话题已经说明了系统封装部署与系统克隆的本质区别,上上个话题说明了映像的作用。无论是封装还是克隆均是方法,而Ghost是映像备份与恢复工具,是饭菜与打包盒的关系。封装=米饭、克隆=馍、Ghost=圆的打包盒、ImageX=方的打包盒,我特么乐意咋打包咋打包,你凭啥说圆的打包盒里一定是馍?? + +可以在封装的系统中集成驱动程序吗? +其实在没有[综合驱动包](https://www.itsk.com/redirect.php?id=easydrv)之前,在封装的系统中直接集成驱动才是日常操作。但随着硬件的逐步复杂,硬件间驱动冲突、驱动间版本冲突等问题的增多,直接将驱动集成到系统的方法出现了各种各样的问题,且非常不便于驱动的更新与修正。而硬件智能识别与安装技术的发展,使外挂驱动包至目标计算机上再安装的方法逐步成为主流。不过集成驱动到系统的方式目前仍有条件下是使用的,例如集成了特定USB3驱动的 Windows 7 系统映像。 \ No newline at end of file