




已阅读5页,还剩6页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
关于封装与部署的深入研究 前言 从 Windows95 到现在的 WindowsVista Windows 优秀的图形界面和可操作性 赢得了 目前广泛的使用人群 虽然 Windows 各方面性能 特别是稳定性方面 依然有所不及 Unix Linux 这些高稳定性的系统 但是它仍然不可否认的成为当前使用范围最广的操作 系统 但是 Windows 发展了整整 10 于个年头 虽然 Windows 的性能在不断增强和完善 但是系 统安装的速度依然是十分缓慢且让人头疼 虽然 2006 年底推出的 Windows Vista 凭借微软 的新技术 ImageX 可以在短短 20 分钟内安装 10 几 G 左右的文件 但是由于 Windows Vista 对计算机硬件要求较高 软件兼容性尚不理想 所以未得到最好的普及 目前使用最 广泛的 Windows 操作系统 依然是 Windows XP Windows XP 的安装时间在约 20 30 分钟左右 这还不算更新 Windows 安全补丁 系统优 化以及软件安装的时间 平均来算 要完全安装一个可用的 包含常用补丁和软件 以及 必要的系统优化 Windows XP 操作系统 至少需要 1 个小时左右的时间 对于做硬件维护的人们来讲 系统的这个安装和调试时间无论如何都是不能被很好接受的 事实 即使硬件维护人员可以勉强接受这个安装时间 很多情况下 要使用计算机来办公 的人员更难接受这个漫长而浪费时间的过程 这的确和高效率的社会结构不符 和高节奏 的社会工作生活更不相符 一直在探寻一种方法 在于如何高效的进行系统的维护乃至重新安装 如何把原来近 1 小 时才能完成的繁杂工作控制在 15 分钟以内完成 为解决系统安装过于繁杂耗时的问题 我 首先考虑到的是利用微软自己的所谓 封装部署工具 Sysprep 所谓封装部署 是微软为大企业用户提供的一种结构化的部署操作系统的工具 可以在一 台计算机上把已经做好各种调试的系统进行再封装 封装完毕的系统 可以部署到其他计 算机中 部署时间相当的短 大概仅仅 5 6 分钟 极大的提高对计算机系统的维护效率 但是封装部署是有条件的 即仅适用于封装的源计算机和用于部署的目标计算机必须具有 相同硬件抽象层 HAL 即不相同硬件配置的机器不能互相部署对方机器上封装好的操作 系统 这样就会对当今繁杂的计算机硬件配置中进行封装和部署造成极大的障碍 通过对微软的操作系统 Longhron 各内测版本进行启动过程的跟踪 发现微软在 Longhron 启动参数中提供了 detecthal 接口 依靠这个接口 我们可以让计算机在启动时自动检测硬 件抽象层 HAL 通过了这个检测 封装完的系统在部署到不同的计算机中时 就不会 出现由于硬件抽象层 HAL 的不同而造成的系统在部署过程中由于对硬件的依赖而造成 的种种非正常运行 这个研究成功后 一个被调试好的系统 包括系统补丁追加 系统优化 常用软件安装 可以在进行封装后 高效的部署到任何硬件配置的其他计算机上 极大的缩短进行计算机 维护的时间 极大的提高计算机维护的效率 1 Base 基本封装与部署的实现 1 1 系统的封装与部署 系统的封装与部署 这个概念出自 Microsoft 微软 在 Microsoft 的 Windows 系列系统光 盘中 包含企业部署工具 Deploy cab Deploy 中包括了几个可供管理员和 IT 专业 人士用来将 Windows 部署到组织中多台计算机上的工具 Deploy cab 包括 Setupmgr exe Sysprep exe Cvtarea exe O 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 工具 您可以创建连 续的文件并将其放在磁盘上的特定位置 O 创建 FAT32 卷 该卷中的簇以某 种优化方法取整 以便在以后将其转换为 NTFS 文件系统格式 总体而言 随着技术的发展 可以替代 Cvtarea exe 和 O 的工具出现了许多 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 以后的 版本中 系统可以以 欢迎使用 方式安装 也可以使用经典的 2000 模式即 最小化安装 模式进行安装 一般选中 使用最小化安装 不重新产生安全标识符 即不重新产 生 SID 以当前系统的 SID 为准 这会一定程度的加快封装部署速度 但是会令部署后的 系统产生不稳定 不建议选中 检测非即插即用硬件 这会令系统强行检测非即插 即用硬件 不建议选中 关机模式 用来设定执行完封装以后要执行什么 有 关机 重新启动 和 退出 三种模式 选择完毕后 单击 重新封装 Sysprep 将当前 系统自动封装为系统映像 系统映像封装完毕后 无论是自动还是手动 重启计算机 后 直接用带 GHOST 工具的光盘由光盘直接启动计算机 使用 GHOST 备份当前 C 盘系 统磁盘映像 备份完毕后 我们就得到了可以用来部署在其他计算机上的系统映像了 使用光盘或者网 络等介质 将这个磁盘映像再次使用 GHOST 恢复在其他计算机的 C 盘上 被恢复的计算 机启动时会自动开始部署系统 1 4 综述 本章主要陈述了关于 Windows 操作系统的基本封装与部署的实现 微软的企业部署工具的 效率和自动化程度相当高 封装和部署过程都比较简单 但现在有一个很重要的问题 按照微软企业部署工具中 Deploy chm 中的简述 企业部署工具对于源计算机和目标计算机 需要有相同 HAL 硬件抽象层 所谓 HAL 是由硬件制造商提供的一种薄层软件 为 操作系统高层隐藏或抽象硬件差异 通过 HAL 提供的筛选器 不同类型的硬件看起来与 操作系统其余的硬件很相似 这样允许操作系统从一个硬件平台 非法内容 到另一个硬件 平台 HAL 还提供了允许单个设备驱动器在所有的平台上支持同样设备的例程 封装好的系统在部署到硬件配置差异较大的计算机中时 特别是跨平台的计算机 Intel CPU Intel 主板做的映像部署到 AMDCPU nVIDIA 主板上时 会由于 HAL 的差异而造成 各种各样的不稳定乃至挡机 这就和要运用封装部署方式来快速安装系统的初衷不一致了 如果不能有良好的兼容性 即使能快速安装系统也完全是徒劳 在随后的一章里 将完美 解决这个问题 让对硬件平台有依赖的系统封装部署 变为只对硬件配置没有依赖的 万 能的 封装部署 2 Unlimited 万能封装与部署的实现 2 1 突破硬件限制的三个问题 2 1 1 计算机电源管理模式不同计算机的电源管理是不一样的 共有 Standard ACPI Uniprocessor ACPI Multiprocessor MPS Uniprocessor MPS Multiprocessor Compaq SystemPro ACPI 这 7 种 这 7 种电源管理模式分别适用于 7 种类型的计算机 截止 Windows Server 2003 的企业部署工具 运用 SYSPREP 有一个限制 就是仅适用于用于封 装的源计算机和进行部署的目标计算机必须具有相同硬件抽象层 HAL 没有相同 的 HAL 会造成电源管理模式不能正确判断 网络中提出了不用的 HAL 检测解决方案 如 ACPI 封包 死性不改的电源模式等等 但是这些都不能做到 100 的电源判断正确 而 且检测会需要额外的文件 并且可能多次重启计算机 耗费了时间 问题 1 怎么让 Sysprep 突破不能自动检测电源管理的限制 2 1 2 计算机硬盘计算机硬盘的发展可谓迅速 容量的提升 个人计算机硬盘容量从 97 年以前的个位数容量 突破到 2007 年现在的三位数容量 硬盘接口也一直在改变 从 IDE 到 SATA 再从 SATA 到 SATAII 从前一直在服务器上使用的 SCSI 磁盘技术和 RAID 磁盘阵列技术也渐渐的被使用到个人计算机中 IDE 属于并口硬盘 SATA 和 SCSI 都属于串口硬盘 RAID 属于硬盘阵列技术 在部署过程中 由于磁盘类型不同 需要不同的硬盘驱动 一般都是关于串口磁盘和磁盘阵列的驱动 如果部署过程中不能正 确加载硬盘驱动 则会造成不能进入系统甚至不能启动 问题 2 如何突破 SRS SATA RAID SCSI 硬盘类型的限制 2 1 3 驱 动残留进行封装的源计算机如果和进行部署的目标计算机硬件差异很大 例如 AMD CPU nVIDIA 主板的源计算机做的系统映像部署到 Intel CPU Intel 主板的机器上 在源计 算机上装载的驱动程序肯定是在目标计算机上用不到了 即使目标计算机和源计算机硬件 差异不大 但硬件技术差异很大 例如 Intel CPU Intel 主板的源计算机做的系统映像部署 到 Intel CPU Intel 主板的机器上 源计算机为 Intel 865 主板 而目标计算机为 945 主板 源计算机上的驱动也是铁定用不到的 这些驱动的残留不仅仅是会留下系统垃圾的问 题 如果源计算机上的驱动自动强行去识别目标计算机上的硬件 很有可能会造成系统的 不稳定乃至蓝屏崩溃 问题 3 如何突破不同硬件驱动 非法内容 的限制 2 2 突破 HAL 限制 2 2 1 Longhorn 的启示Windows Server 2003 之前 Sysprep 受到 必须源计算机与目 标计算机有着相同的 HAL 的限制 在 HAL 不相同的时候 不能正确判断计算机电源管 理模式 从 2003 年 Windows Server 2003 发布到 2006 年底 Windows Vista 的发布中 的 3 年中 微软在研发 Vista 的时候 发布了以内部研发编号命名的 Windows Longhorn 测 试版 Windows Longhorn 与以往的 Windows 在启动时有着一定的区别 第一 NTLDR 有一定区别 提供了 detecthal 接口 第二 BOOT INI 也支持 detecthal 参数 以实现与 NTLDR 的结合 第三 INF 文件夹中有了 dtecthal inf 提供各种 HAL 类型检测的参数说明 有了这三个文件 可以让计算 机在开机启动时即自动检测 HAL 从而可以自动判断电源管理选项 2 2 2 Longhorn 的 HAL 判断现今大多数人还是以使用 Windows 2000 XP 为主 所以 即使 Longhorn 的 HAL 判断再怎么强悍 不能到 2000 XP 中 也就不能使用 以下是在 2000 XP 总 非法内容 并使用 Longhorn 的 HAL 判断的具体方法 1从系统中提取 相应的 HAL 文件包 WIN2000 在 SP4 CAB WINDOWS XP SP2 在 SP2 CAB 中 halacpi dllhalapic dllhalmps dllhalaacpi dllhalmacpi dllhal dll ntkrnlmp exentkrnlpa exentkrpamp exentoskrnl exe提取完毕后将 hal dll 更名为 halstnd dll ntoskrnl exe 更名为 ntkrnlup exe 2将上述相应的 HAL 文件包拷贝到准备封装的系统的 Windir SYSTEM32 下 3将 Longhorn 的 dtecthal inf 拷贝到准备封装的系统的 Windir INF 下 4修改 C BOOT INI在准备封装的系统后面加上 DETECTHAL 参数如 boot loader timeout 0default multi 0 disk 0 rdisk 0 partition 1 WINDOWS operating systems multi 0 disk 0 rdisk 0 partition 1 WINDOWS Microsoft Windows XP Professional fastdetect detecthal5将 LONGHORN 版本的 NTLDR 拷贝到从 C 覆盖原有的 NTLDR 6删除准备封装的系统的 HAL 信息 删除注册表中以下键 值 如果提示权限不足不能删除 则可用 setacl exe 来修改权限再删除 HKEY LOCAL MACHINE SYSTEM ControlSet001 Enum ACPI HALHKEY LO CAL MACHINE SYSTEM ControlSet001 Enum Root ACPI HALHKEY LOCAL MAC HINE SYSTEM ControlSet002 Enum ACPI HALHKEY LOCAL MACHINE SYSTEM ControlSet002 Enum Root ACPI HALHKEY LOCAL MACHINE SYSTEM ControlSet0 03 Enum ACPI HALHKEY LOCAL MACHINE SYSTEM ControlSet003 Enum Root A CPI HALHKEY LOCAL MACHINE SYSTEM CurrentControlSet Enum ACPI HALHKEY LOCAL MACHINE SYSTEM CurrentControlSet Enum Root ACPI HAL至此 突破了 HAL 限制的系统就已经准备完毕 由于这个技术本身就出自微软 所以对电源管 理的判断几乎是 100 突破 HAL 限制的系统可以部署在任何 HAL 环境的计算机上 不再有 源计算机和目标计算机需有相同的 HAL 的限制 2 1 1 节中提出的问题完 美解决2 3 突破 SRS 硬盘限制确定目标计算机上可能 用到的所有大量存储控制器 对于可能存在于目标计算机上的每个大量存储控制器 创建 其硬件 ID 的列表 2 3 1 对于在 Windows 产品 CD 中提供的大量存储控制器 可以创建具有以下部分的 Sysprep inf 文件 SysprepMassStorage hardware id path to device inf其中 hardware id在设备的 inf 文 件中指定的即插即用 ID path to device inf inf 文件的路径 该文件中包含待 安装控制器的即插即用 ID 例如 要支持 Windows XP 自带的不同 IDE 控制器 PCI 和 Intel 该部分如下所示 SysprepMassStorage PCI VEN 8086DEV 1222 WINDIR inf mshdc inf PCI VEN 8086DEV 1230 WINDIR inf mshdc inf PCI VEN 8086DEV 7010 WINDIR inf mshdc inf PCI VEN 8086DEV 7111 WINDIR inf mshdc inf PCI VEN 8086DEV 2411 WINDIR inf mshdc inf PCI VEN 8086DEV 2421 WINDIR inf mshdc inf PCI VEN 8086DEV 7199 WINDIR inf mshdc inf 2 3 2 对于 Windows 产品 CD 上没有提供的大量存 储控制器将目标计算机上的大量存储控制器的驱动程序文件复制到您计算机上的文件 夹中 例如 复制到主计算机硬盘驱动器上的 SYSTEMDRIVE pnpdrvrs storage 中 按以下格式向 SysprepMassStorage 部分中添加几行内容 hardware id path to device inf disk directory disk description disk tag其中 hardware id在设备的 inf 文件中指定的即插即用 ID path to device inf inf 文件的路径 该文件中包含待安装控制器的即插即 用 ID disk directory第三方提供的软盘上的文件夹名称 该文件夹中包含大量 存储驱动程序的副本 disk description在第三方提供的 Txtsetup oem 文件中指 定的软盘说明 disk tag在第三方提供的 Txtsetup oem 文件中指定的软盘的磁 盘标记 将驱动程序文件放置到由 Sysprep inf 中 SysprepMassStorage 部分指定的 位置 例如 要支持新的 Qlogic 驱动程序 如果将文件复制到 C Drivers Storage 文件夹 则添加如下行 SysprepMassStorage PCI VEN 1077DEV 1080 C Drivers Storage qlogic qlogic inf C Drivers Storage qlogic Qlogic Software Disk C Drivers Storage qlogic qlogic 2 3 3 突破 SRS 实例1收 集需要的 srs 驱动 方便期间 直接下载 DPS 提供的 massstorage 驱动 c drivers 3编辑 sysprep ini 加入以下内容 InstallFilesPath C sysprep i386然后在 SysprepMassStorage 段中添加需要的串口 磁盘驱动 根据 DPS 驱动包的说明书 一般只集成 Intel nVIDIA Uli VIA SiS AMD 的串口磁盘驱动即可 在对应的驱动包中的 inf 文件中 可以获得硬件的即插即用 ID 例如 SysprepMassStorage PCI VEN 1022DEV 7469 c drivers m am AMDEIDE infPCI VEN 1002DEV 4349 c drivers m at atiide infPCI VEN 10B9DEV 5215 c drivers m au 1 ALIIDE INFPCI VEN 10B9DEV 5219 c drivers m au 1 ALIIDE INFPCI VEN 10B9DEV 5229 c drivers m au 1 ALIIDE INFPCI VEN 10B9DEV 5228 c drivers m au 2 m5228 INFPCI VEN 10B9DEV 5281 c drivers m au 2 m5281 infPCI VEN 10B9DEV 5287 c drivers m au 3 ulisata infPCI VEN 10B9DEV 5288 c drivers m au 4 ULISATA INFPCI VEN 10B9DEV 5289 c drivers m au 5 ULISATA INFPCI VEN 8086DEV 2652CC 0104 c drivers m in 1 iastor infPCI VEN 8086DEV 27C3CC 0104 c drivers m in 1 iastor infPCI VEN 8086DEV 2682CC 0104 c drivers m in 1 iastor infPCI VEN 8086DEV 27C6CC 0104 c drivers m in 1 iastor infPCI VEN 8086DEV 2822CC 0104 c drivers m in 1 iastor infPCI VEN 8086DEV 2652CC 0106 c drivers m in 1 iaahci infPCI VEN 8086DEV 2653CC 0106 c drivers m in 1 iaahci infPCI VEN 8086DEV 27C1CC 0106 c drivers m in 1 iaahci infPCI VEN 8086DEV 27C5CC 0106 c drivers m in 1 iaahci infPCI VEN 8086DEV 2681CC 0106 c drivers m in 1 iaahci infPCI VEN 8086DEV 2821CC 0106 c drivers m in 1 iaahci infPCI VEN 8086DEV 24DFCC 0104 c drivers m in 1 O iastor infPCI VEN 8086DEV 25B0CC 0104 c drivers m in 1 O iastor infPCI VEN 10DEDEV 008E c drivers m N TM nvatabus infPCI VEN 10DEDEV 00D5 c drivers m N TM nvatabus infPCI VEN 10DEDE V 00EE c drivers m N TM nvatabus infPCI VEN 10DEDEV 00E3 c drivers m N TM nvatabus infPCI VEN 10DEDEV 0036 c drivers m N TM nvatabus infP CI VEN 10DEDEV 003E c drivers m N TM nvatabus infPCI VEN 10DE DEV 0054 c drivers m N TM nvatabus infPCI VEN 10DEDEV 0055 c drivers m N TM nvatabus infPCI VEN 10DEDEV 0266 c drivers m N TM nvatabus infPCI VEN 10DEDEV 0267 c drivers m N TM nvatabus infPCI VEN 10DEDEV 036F c drivers m N TM nvatabus infPCI VEN 10DEDEV 037E c dri vers m N TM nvatabus infPCI VEN 10DEDEV 037F c drivers m N TM nvatabus infPCI VEN 10DEDEV 03F6 c drivers m N TM nvatabus infPCI VEN 10 DEDEV 03F7 c drivers m N TM nvatabus infPCI VEN 10DEDEV 03E7 c drivers m N TM nvatabus infPCI VEN 1039DEV 0181 c drivers M SI 1 SISRaid1 INFPCI VEN 1039DEV 0180 c drivers M SI 2 SISRaid INFPCI VEN 1039DEV 0182 c drivers M SI 3 SISRaid2 INFPCI VEN 1106DEV 3349CC 0104 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 6287CC 0106 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 0591CC 0104 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 3249CC 0104 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 3149CC 0104 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 3164CC 0104 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 0581CC 0104 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 7372CC 0104 c drivers M V 1 VIAMRAID INFPCI VEN 1106DEV 4149 c drivers M V 2 viapide infPCI VEN 1106DEV 0571 c drivers M V 3 vminiide infPCI VEN 1106DEV 3149CC 0101 c drivers M V 3 vminiide infPCI VEN 1106DEV 0591CC 0101 c drivers M V 3 vminiide infPCI VEN 1106DEV 5337CC 0101 c drivers M V 3 vminiide infPCI VEN 1106DEV 3349CC 0101 c drivers M V 3 vminiide infPCI VEN 1106DEV 5287CC 0101 c drivers M V 3 vminiide infPCI VEN 1106DEV 3164CC 0101 c drivers M V 3 vminiide infPCI VEN 1106DEV 0581CC 0101 c drivers M V 3 vminiide infPCI VEN 1106DEV 5324CC 0101 c drivers M V 3 vminiide infPCI VEN 104BDEV 1040 c drivers M VM vmscsi inf4在 c sysprep 目录下建立 i386 oem 目录 在 c sysprep i386 oem 中建立 cmdlines txt 文 件 在文件中加入 Commands c sysprep sysprep clean 这样就会在最小化 安装的过程中禁用所有因为在目标计算机上不存在而未安装的大量存储控制器 至此 一个突破了 SRS 限制的系统映像准备完毕 执行 sysprep 进行封装 在 封装的过程中 系统会自动安装 srs 驱动 在最小化安装的时候会删除多余的驱动 2 1 2 节中的问题 这里也就已经解决了 2 4 多余驱动的卸载做封装所用的计算机中所使用的驱动程序 在被部署的计算机上 大多数不再有用 除非都被部署在相同硬件配置的计算机上 所以 我们要一一删除源计 算机中的这些驱动 以免残留的驱动造成部署的不正常 卸载驱动 在 设备管理器 我的电脑 属性 硬件 设备管理器 中列出所有设备 然后一一卸载 在 设备管理器中 可以看到当前正在使用的所有硬件设备 1常规驱动的卸载 除 IDE ATA ATAPI 控制器 和 计算机 以外的其他设备 一一展开 然后卸载即可 2更改 IDE 模式由于不同计算机的 IDE 控制器差异比较大 如果出现错误 的识别 将会出现不能开机的情况 所以 这里预先将 IDE 控制器设置为 标准双通道 在部署时 安装程序将自动寻找和起匹配的 IDE 控制器驱动程序 3计算机电源 管理计算机电源管理分为许多种 可以适用于不同类别的计算机 如果电源管理判断 不正确 将会造成计算机的不正常 在计算机识别电源管理之前 需要将电源管理设为标 准模式以基本适用于所有的计算机 这种标准模式仅仅可以保证计算机正常启动 但是不 能保证最高效的运行 将计算机的电源管理模式设置为 Standard PC 以后 在部署时 由于我们适用了 Longhorn 的 HAL 自动判断 计算机将会在启动时自动修改 Standard PC 为 被部署计算机的电源管理模式 至此 突破了硬件限制的系统映像也被修改了出来 系统映像可以被部署到不同硬件配置的机器中了 2 1 3 节中的问题被解决 2 5 综述在不同硬件配置的机器中适用系统部署受到种种制约 本章分为 3 块解决了 映像系统万能部署的 3 条限制 Longhron 的自动 HAL 判断 解决了源计算机与目标 计算机在不同 HAL 模式时不能进行部署的问题 SRS 驱动的集成 解 决了系统部署在不同硬盘模式的情况下进行部署的问题 驱动的卸载 解决了系统部 署在不同硬件配置的计算机下进行的问题 这 3 条限制被突破以后 系统部署时 不 必再遵循源计算机和目标计算机必须相同配置的原则 真正可以实现无限制的 万能部署 3 Auto 自动封装与部署的实现 3 1 自动封装与部署的意义和理论实现 3 1 1 自动封装的意义1封装测试需要很多次的重复封装一个可以部署的系统映 象并不难 但是封装一个比较完美的可以满足各项要求的系统映象却是一个特别花费时间 和精力的工作 需要很多次的重复制作 仅上一章中所提到的各种限制的突破 如果每次 测试都时候都做一次 也会消耗很多的时间 能不能让这些手工的机械化的操作变成 自动的 2频繁的手工操作容易造成错误即使是一个对封装十分了解的人 在 多次的执行封装中 也难免会出现遗漏和失误 毕竟封装的步骤一环扣一环 虽然不繁琐 也难免会造成错误 怎么让封装的流程变的自动而无需人手工参与 3封装的 普及很多 IT 工作者并不十分了解封装与部署 却一样想做出自己的系统映象用来部署 由于工作等原因实在没有时间去系统的学习 难道封装只能掌握在少数人手中 怎么 让封装更为普及化 让没有太多封装知识和经验的人也能迅速的进行系统封装 3 1 2 系统封装和部署的详细流程1系统安装 补丁 软件等 封装 2在系统光盘上找到 Deploy cab 解压到 system Sysprep 3运行 Setupmgr exe 创建无人职守部署应答文件 Sysprep inf 4突破 HAL 限制 把于 HAL 相关的文件都放置在 windir 下相应位置 提取 Longhorn 的 ntldr1 修改 boot ini 5突破 SRS 限制 把所有串口磁盘和磁盘阵列驱动都放置在 systemdrive Drivers 下 在 Sysprep inf 中的 SysprepMassStorage 段下添加磁盘驱动位置等 信息 6卸载各种驱动 修改 IDE 控制器为标准双通道 修改计算机电源管理为 Standard PC 7运行 Sysprep exe 进行系统封装 8关闭封装源计算机 9DOS 模式启动封装源计算机 使用 GHOST 备份下封装完的系统映象 部 署 10使用 GHOST 恢复系统映象到部署目标计算机 11部署目标计算 机 系统运行 windir system32 setup exe 来部署计算机映象 3 1 3 自动封装的 理论实现纵观流程 封装过程基本上可以分为相关文件的复制 对文件的调整 相关 软件的运行 对系统的调整四部分 相 关文件的复制 简单说 就是把应该放在哪儿的文件放在哪儿 这些文件都是特定的 进 行封装必然要用到这些文件 所以 可以预先把这些文件提取出来放置在一 个另外的文件夹中 然后用 WinRAR 压缩为自解压文件并设定解压位置 这样到用这些文 件的时候直接双击自解压包 这些要用到的文件就会各自解压到自己应 该在的位置上 对文件的调整 主要是替换 Longhorn 的 ntldr 以及修改 boot ini 这 个我们可以用命令行修改系统自身的 ntldr 为 ntldr bak 修改系统自身的 boot ini 为 boot ini bak 然后把 Longhorn 的 ntldr 和修改好的 boot ini 复制到原系统 ntldr 和 boot ini 的位置 当系统部署完 毕后再把原始的 ntldr 和 boot ini 替换回来 虽然替换回原有的不是必须的 但是个人认为 保持原系统的原始性一 定程度上有利于系统的稳定性 相关软件的运行 这个主要是 Sysprep 如果每次要为 Sysprep 设置相同的执行方式 那么 Sysprep 提供很多的运行参数 添加参数运行 Sysprep 就免去了每次都要去点击封装选项的问题 对系统的调整 主要是卸载驱动 以及调整计算机电源管理和 IDE 控制器 虽然这个可以使用自动化实现 但是个人认为这 个手工还是比较保险 3 2 实现自动封装与部署3 2 1 文件的自动复制建 立如下目录 以 D ES 文件夹为例 D ES Sysprep cvtarea exeD ES Sysprep D ES Sysprep Setupcl exeD ES Sysprep Sysprep exeD ES Sysprep Sysprep infD ES Sysprep SetACL exeD ES Sysprep AutoSysprep cmdD ES Sysprep cmdline regD ES WI NDOWS inf dtecthal infD ES WINDOWS system32D ES WINDOWS system32 halaacpi dllD ES WINDOWS system32 halacpi dllD ES WINDOWS system32 halapic dllD ES WINDOWS system32 halmacpi dllD ES WINDOWS system32 halmps dllD ES WINDOWS system32 halstnd dllD ES WINDOWS system32 mscomctl ocxD ES WINDOWS system32 ntkrnlmp exeD ES WINDOWS system32 ntkrnlpa exeD ES WINDOWS system32 ntkrnlup exeD ES WINDOWS system32 ntkrpamp exeD ES WINDOWS AllUsrRun cmdD ES DriversD ES bootL iniD ES ntldrL 说明 1ES 文件夹模拟 C 盘根目录 所有文件排布和此后要复制到 C 盘中的排布 是一样的 2 Sysprep 中的所有文件在第一章中介绍过 Sysprep 文件夹将在系统部署最小化安装时自动 删除 SetACL exe 是提升权限以修改注册表的工 具 AutoSysprep cmd 是自动进行封装所用的批处理 cmdline reg 将在 3 2 3 中详细说明 3inf 和 system32 文件夹中的各文件在第二章中介绍过 用于 Longhorn 的自动 HAL 判断 4AllUsrRun 的用处后面详细介绍 5bootL ini 是为 HAL 自动 判断所写好的 boot ini 文件 内容为 boot loader timeout 30default multi 0 disk 0 rdisk 0 partition 1 WINDOWS operating systems multi 0 disk 0 rdisk 0 partition 1 WINDOWS Microsoft Windows XP Professional fastdetect detecthal6ntldrL 是 Longhorn 的系统引导文件 同样用于自 动 HAL 判断 7Drivers 中放置串口磁盘和磁盘阵列驱动文件打包 选择 最常用的压缩工具 WinRAR 来进行打包 ES 文件夹中的所有文件 设定默认解压缩路径为 C 并且设置解压模式为 隐藏启动对话框 和 覆盖所有文件 这几个选项的设定可以 保证文件不会复制到错误的位置 3 2 2 自动封装的实现AutoSysprep cmd 的 内容如下 以封装 XP 系统为例 rem 自动封装 静默模式 最小化 不重置激活 事件 清空事件查看器日志 不重启计算机start wait c sysprep sysprep exe quiet mini activated reseal norebootrem 导入 cmdline reg 键值 3 2 3 中介绍 start wait regedit exe s c Sysprep cmdline regrem 取消 XP 的 ntldr 权限 改名为 ntldrXP 再恢复 其权限attrib c ntldr h s rren c ntldr ntldrxpattrib c ntldrxp h s rrem 取消 Longhron 的 ntldrL 的权限 改名为 ntldr 再恢复其权限attrib c ntldr1 h s rren c ntldr1 ntldrattrib c ntldr h s rrem 取消 XP 的 boot ini 权限 改名为 bootXP ini 再恢复其权限attrib c boot ini h s rren c boot ini bootxp iniattrib c bootxp ini h s rrem 取消 Longhron 的 bootL ini 的权限 改名为 boot ini 再恢复 其权限attrib c boot1 ini h s rren c boot1 ini boot iniattrib c boot ini h s rrem 进入 Sysprep 文件夹内cd cd syspreprem 使用 SetACL 来取消有关 源计算机 HAL 的注册表信息的权限 以便随后的修改setacl MACHINE SYSTEM ControlSet001 Enum ACPI HAL registry grant everyone fullsetacl MACHINE SYSTEM ControlSet001 Enum Root ACPI HAL registry grant everyone fullsetacl MACHINE SYSTEM ControlSet002 Enum ACPI HAL registry grant everyone fullsetacl MACHINE SYSTEM ControlSet002 Enum Root ACPI HAL registry grant everyone fullsetacl MACHINE SYSTEM ControlSet003 Enum ACPI HAL registry grant everyone fullsetacl MACHINE SYSTEM ControlSet003 Enum Root ACPI HAL registry grant everyone fullsetacl MACHINE SYSTEM CurrentControlSet Enum ACPI HAL registry grant everyone fullsetacl MACHINE SYSTEM CurrentControlSet Enum Root ACPI HAL registry grant everyone fullrem 删除源计算机的 HAL 注册表信息reg delete HKEY LOCAL MACHINE SYSTEM ControlSet001 Enum ACPI HAL freg delete HKEY LOCAL MACHINE SYSTEM ControlSet001 Enum Root ACPI HAL freg delete HKEY LOCAL MACHINE SYSTEM ControlSet002 Enum ACPI HAL freg delete HKEY LOCAL MACHINE SYSTEM ControlSet002 Enum Root ACPI HAL freg delete HKEY LOCAL MACHINE SYSTEM ControlSet003 Enum ACPI HAL freg delete HKEY LOCAL MACHINE SYSTEM ControlSet003 Enum Root ACPI HAL freg delete HKEY LOCAL MACHINE SYSTEM CurrentControlSet Enum ACPI HAL freg delete HKEY
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公路工程试验检测师考试复习要点:(道路工程)仿真试题及答案二
- 安宁市2024-2025学年七年级上学期语文月考模拟试卷
- 安徽省合肥市巢湖市2023-2024学年高一上学期期中考试历史考试题目及答案
- 2025 年小升初北京市初一新生分班考试数学试卷(带答案解析)-(北师大版)
- 2025年重阳节的话题作文500字
- 吉林省吉林市吉化第九中学校2024-2025学年八年级上学期数学期末测试卷(含部分答案)
- 2025年四川省资阳市中考真题化学试题(无答案)
- 砌砖墙施工合同范本
- 广告门安装合同范本
- 驾校 土地出租合同范本
- 【学生生涯规划系列】高一上学期生涯规划讲座课件
- 失智老年人走失风险评估表、“十人四追”法
- 焊接工艺要求
- 全员安全生产责任制度
- 工作桌面pad相关gec3000通讯协议v2
- 正压式呼吸器使用与管理规范
- GB∕T 37004-2018 国家物品编码通用导则
- 新部编人教版八年级上册道德与法治全册课时练(作业设计)
- DB14∕T 1131-2015 麦茬复播花生栽培技术规程
- 静设备安装课件(PPT 91页)
- 《生产运作与管理》教案(完整版)
评论
0/150
提交评论