玩转操作系统之系统封装部署初探!!

简介:
很早以前就想DIY自己的OS了.一直没时间,也没静下心来学习.马上有个项目可能需要用到这些东西,要大规模的去部署OS,刚好.就这机会学习下..给自己充电!!UP TO!!
虽然Windows的性能在不断增强和完善,但是系统安装的速度依然是十分缓慢且让人头疼。虽然2006年底推出的Windows Vista凭借微软的新技术ImageX,可以在短短20分钟内安装10几G左右的文件,但是由于Windows Vista对计算机硬件要求较高,软件兼容性尚不理想,(虽然sp1的发布,会改善些问题)所以未得到最好的普及,目前使用最广泛的Windows操作系统,依然是Windows XP。 
Windows XP 的安装时间在约20~30分钟左右,这还不算更新Windows安全补丁、系统优化以及软件安装的时间,平均来算,要完全安装一个可用的(包含常用补丁和软件,以及必要的系统优化)Windows XP操作系统,至少需要1个小时左右的时间。经常让我很头痛.有时候在虚拟机里做试验,来是忘记用什么UNDO盘,或者快照之类的..在从新装的时候很麻烦.
为解决系统安装过于繁杂耗时的问题,我首先考虑到的是利用微软自己的所谓“封装部署工具”(Sysprep)。 
所谓封装部署,是微软为大企业用户提供的一种结构化的部署操作系统的工具。可以在一台计算机上把已经做好各种调试的系统进行再封装,封装完毕的系统,可以部署到其他计算机中,部署时间相当的短,大概仅仅5~6分钟,极大的提高对计算机系统的维护效率。 
但是封装部署是有条件的,即仅适用于封装的源计算机和用于部署的目标计算机必须具有相同硬件抽象层 (HAL),即不相同硬件配置的机器不能互相部署对方机器上封装好的操作系统,这样就会对当今繁杂的计算机硬件配置中进行封装和部署造成极大的障碍。 
通过Longhorn PE2.0的研究,发现微软在Longhorn启动参数中提供了/detecthal 接口,依靠这个接口,我们可以让计算机在启动时自动检测硬件抽象层(HAL),通过了这个检测,封装完的系统在部署到不同的计算机中时,就不会出现由于硬件抽象层(HAL)的不同而造成的系统在部署过程中由于对硬件的依赖而造成的种种非正常运行。 
这样,一个被调试好的系统(包括系统补丁追加、系统优化、常用软件安装)可以在进行封装后,高效的部署到任何硬件配置的其他计算机上,极大的缩短进行计算机维护的时间,极大的提高计算机维护的效率。
系统的封装与部署,这个概念出自Microsoft.在Microsoft的Windows系列系统光盘中,包含企业部署工具,Deploy中包括了几个可供管理员和 IT 专业人士用来将 Windows 部署到组织中多台计算机上的工具。 
Deploy.cab包括:Setupmgr.exe、Sysprep.exe、Cvtarea.exe、Oformat.com。 
Setupmgr.exe,中文译为:安装管理器,为预安装 Microsoft 操作系统和各种应用程序自动创建和修改分布共享的向导。简单来说,这个工具主要是用来自动创建安装Windows操作系统的自动应答文件,可以让系统的安装做到“无人职守”,即在系统的安装过程中,无需任何人为的干预。 
Sysprep.exe,中文译为:系统准备,准备计算机硬盘,以便进行磁盘复制、审核并交付客户。在分发前必须运行 Sysprep 以重新封装计算机。Sysprep 包含下列组件:Sysprep.exe、Setupcl.exe、Factory.exe、Sysprep.inf 和 Winbom.ini。应用程序文件(Sysprep.exe、Setupcl.exe 和 Factory.exe)是必需的,而且它们互相依存。简单来说,这个工具用于重新封装已经在计算机上安装好的系统,封装完毕的映像可以通过介质复制到其他计算机上,当获取封装好的映像的计算机启动时,Sysprep.exe将调用%Windir%\System32\setup.exe在获取映像的计算机中重新部署系统。这种部署类似于直接安装系统,但是速度要比正常安装快许多倍。 
Cvtarea.exe,一个用于在 FAT32 或 FAT 文件系统上创建文件并分析那些文件放置情况的灵活工具。使用 Cvtarea 工具,您可以创建连续的文件并将其放在磁盘上的特定位置。 
Oformat.com,创建 FAT32 卷,该卷中的簇以某种优化方法取整,以便在以后将其转换为 NTFS 文件系统格式。 
总体而言,随着技术的发展,可以替代Cvtarea.exe和Oformat.com的工具出现了许多,Setupmgr.exe用于生成无人职守安装应答文件,Sysprep.exe是用于系统封装的主要工具。
1.2 Setupmgr
获得封装好的系统映像的计算机,第一次启动时,将会自行进行系统部署,系统部署过程中,会提问用户有关产品密钥、时区、计算机名称、管理员密码等等,这个和普通的系统安装的步骤一样(当然,比普通安装快速的多),每次都去输入这些,无非会降低工作效率。 
利用Setupmgr.exe,可以为系统部署创建一份自动应答文件,当系统部署时碰到各种需要用户来确认的信息时,直接去这份自动应答文件中寻找预先规定好的答案,而无需提示用户输入。 
Setupmgr.ex的使用方法十分简单,安装提示一步步写下去即可。 
写完后,即可单击“完成”,这样就可以完成所有有关无人职守安装模式的设定了。设定完成后,系统会自动生成Sysprep.inf文件,这个文件中记录了所有有关自动应答的答案。 
部署时,sysprep.inf置于%systemdrive%\Sysprep文件夹中,即可执行无人职守的部署安装。
1.3 Sysprep
1.3.1系统封装部署基本流程 
一般流程为: 
1>常规安装Windows到被设置为启动的硬盘的第一分区(一般为C盘); 
2>对系统做应有的系统补丁添加、驱动安装、系统优化调整、常用软件安装等; 
3>在C盘根目录下创建Sysprep文件夹,放入企业部署工具(Deploy.cab)中的相应各文件; 
4>使用Setupmgr.exe创建自动应答文件; 
5>运行Sysprep.exe来封装当前系统为系统映像; 
6>关闭计算机,利用第三方软件复制下这个系统映像(C盘全部),一般使用GHOST; 
7>利用网络或其他介质(光盘)复制该映像到其他计算机进行部署。
1.3.2 系统封装 
做完上节中步骤的前4步,就可以进行对系统的封装了,运行C盘根目录下创建Sysprep文件夹中的Sysprep.exe:
这是一个很简洁的界面,背后却包含着很高的技术含量。 
“不重置激活的宽限期”,将以当前系统的激活剩余时间为主,做封装的系统是如果是免激活的Windows,这一项应选中。 
“使用最小化安装”,在XP以后的版本中,系统可以以“欢迎使用”方式安装,也可以使用经典的模式即“最小化安装”模式进行安装,一般选中“使用最小化安装”。 
“不重新产生安全标识符”,即不重新产生SID,以当前系统的SID为准,这会一定程度的加快封装部署速度,但是会令部署后的系统产生不稳定,不建议选中。 
“检测非即插即用硬件”,这会令系统强行检测非即插即用硬件,不建议选中。 
“关机模式”,用来设定执行完封装以后要执行什么,有“关机”、“重新启动”和“退出”三种模式。 
选择完毕后,单击“重新封装”,Sysprep将当前系统自动封装为系统映像。 
系统映像封装完毕后,无论是自动还是手动,重启计算机后,直接用带GHOST工具的光盘由光盘直接启动计算机,使用GHOST备份当前C盘系统磁盘映像。 
备份完毕后,我们就得到了可以用来部署在其他计算机上的系统映像了。使用光盘或者网络等介质,将这个磁盘映像再次使用GHOST恢复在其他计算机的C盘上,被恢复的计算机启动时会自动开始部署系统。
写说这么多...空了继续!!!
本文转自许珈毓的技术思考博客51CTO博客,原文链接http://blog.51cto.com/jiayu/63959如需转载请自行联系原作者

BabyXc
相关文章
|
4天前
|
机器学习/深度学习 Dart 前端开发
移动应用与系统:构建现代数字生态的基石在当今这个高度数字化的社会中,移动应用与操作系统已成为我们日常生活不可或缺的一部分。它们不仅改变了我们的沟通方式,还重塑了我们的工作、学习和娱乐模式。本文将深入探讨移动应用开发的基础、移动操作系统的功能以及这两者如何共同塑造了我们的数字世界。
随着智能手机和平板电脑的普及,移动应用与系统的重要性日益凸显。它们不仅为用户提供了便捷的服务和丰富的功能,还为开发者提供了广阔的创新平台。本文将介绍移动应用开发的基本概念、技术栈以及最佳实践,并探讨主流移动操作系统的特点和发展趋势。通过分析移动应用与系统的相互作用,我们可以更好地理解它们在现代社会中的重要地位。
|
21天前
|
开发框架 前端开发 开发工具
移动应用与系统:探索移动应用开发和移动操作系统的奥秘
【8月更文挑战第29天】 在这篇文章中,我们将深入探讨移动应用开发和移动操作系统的奥秘。首先,我们将介绍移动应用开发的基础知识,包括开发工具、编程语言和设计原则。然后,我们将深入了解移动操作系统的内部工作原理,以及它们如何支持移动应用的运行。最后,我们将通过一些实际的代码示例,展示如何在Android和iOS平台上进行移动应用开发。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启示。
|
17天前
|
Oracle Java 关系型数据库
CentOS 7.6操作系统部署JDK实战案例
这篇文章介绍了在CentOS 7.6操作系统上通过多种方式部署JDK的详细步骤,包括使用yum安装openjdk、基于rpm包和二进制包安装Oracle JDK,并提供了配置环境变量的方法。
174 80
|
16天前
|
Windows
Windows操作系统部署安装Kerberos客户端
详细介绍了在Windows操作系统上部署安装Kerberos客户端的完整过程,包括下载安装包、安装步骤、自定义安装路径、修改环境变量、配置hosts文件和Kerberos配置文件,以及安装后的验证步骤。
31 3
Windows操作系统部署安装Kerberos客户端
|
4天前
|
Java Go API
移动应用与系统:探索移动应用开发和操作系统的融合之道
本文深入探讨了移动应用开发和操作系统之间的紧密关系,揭示了它们如何相互影响、相互促进,共同推动移动互联网的发展。不同于传统的技术分析文章,本文尝试以一种更通俗易懂、条理清晰的方式,引导读者理解移动应用与系统的内在联系,启发开发者在实际应用中更好地把握两者的平衡点。
|
5天前
|
API Android开发 开发者
移动应用与系统:探索移动应用开发与操作系统的融合之道
本文深入探讨了移动应用开发与操作系统之间的紧密联系,分析了两者如何相互影响、促进和共同发展。通过对移动应用开发流程、技术选型以及移动操作系统特性的详细阐述,揭示了开发者如何在不断变化的市场环境中保持创新,以及操作系统如何为应用提供稳定、高效的运行环境。同时,文章还展望了未来移动应用与系统的发展趋势,强调了跨平台开发、人工智能集成和安全性等方面的重要性。
|
16天前
|
Java Android开发 Swift
移动应用与系统:探索移动应用开发和移动操作系统
【9月更文挑战第2天】在本文中,我们将深入探讨移动应用开发和移动操作系统的相关话题。我们将从移动应用开发的基本概念开始,然后逐步深入到移动操作系统的详细介绍。我们将通过代码示例来展示如何在Android和iOS平台上进行移动应用开发。最后,我们将讨论移动应用的未来发展趋势和挑战。
|
20天前
|
Java Android开发 Swift
移动应用与系统:探索移动应用开发和移动操作系统的奥秘
【8月更文挑战第30天】本文将深入探讨移动应用开发和移动操作系统的相关知识。我们将从移动应用开发的基本概念、移动操作系统的种类和特点、以及如何选择合适的移动操作系统等方面进行详细介绍。同时,我们还将通过一个实际的代码示例,展示如何在Android系统中实现一个简单的计算器应用。无论你是移动应用开发的初学者,还是对移动操作系统感兴趣的读者,这篇文章都将为你提供有价值的信息和启示。
|
22天前
|
前端开发 开发工具 Android开发
移动应用与系统:探索移动应用开发和移动操作系统的奥秘
【8月更文挑战第28天】本文将深入探讨移动应用开发和移动操作系统的相关话题。我们将从移动应用开发的基础知识开始,逐步深入到高级概念,包括移动操作系统的工作原理、应用架构、用户界面设计等。同时,我们还会介绍一些实用的开发工具和框架,以及如何优化移动应用的性能。最后,我们将通过一个简单的代码示例来展示如何实现一个基本的移动应用。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的信息和启发。
|
5天前
|
人工智能 物联网 数据安全/隐私保护
移动应用与系统:探索移动应用开发和移动操作系统的融合之路
本文将深入探讨移动应用开发与移动操作系统之间的紧密联系,揭示二者如何相互促进、共同发展。通过对移动应用开发流程、技术栈以及移动操作系统架构、特性的详细分析,本文旨在为读者呈现一幅移动应用与系统协同演进的全景图。同时,本文还将展望未来移动应用开发的新趋势,探讨如何利用新兴技术提升移动应用的性能和用户体验。