1.4 预引导服务流程

以下各节说明预引导服务流程如何工作:

1.4.1 常见预引导服务操作

典型的预引导服务操作流如下所示:

  1. 在“ZENworks 控制中心”内创建“映像”分发包并将其指派给启用 PXE 的设备。

  2. 启用 PXE 的设备开始引导。

  3. 设备发送 DHCP 发现请求以确定预引导服务映像服务器的 IP 地址。

  4. DHCP 服务器以一个 IP 地址进行响应,供设备使用。

  5. Novell-proxydhcp 以 TFTP 服务器的 IP 地址以及预引导服务引导程序的文件名 (nvlnbp.sys) 进行响应。

  6. PXE 设备使用 novell-tftp 下载预引导服务引导程序。

  7. 下载并执行预引导服务引导程序后,设备将检查 novell-zmgprebootpolicy,看是否有要执行的映像工作。

  8. 如果有要执行的映像工作(包含于指派给设备的映像分发包中),设备会执行以下任务

    • ZENworks Imaging: 从服务器下载 Configuration Management 映像环境,以便能够引导到 Linux。

    • 第三方映像: 从服务器下载 WinPE 环境。

  9. 执行“映像”分发包中包含的所有映像任务。

  10. 如果没有要执行的映像任务,则不下载文件,同时设备将继续引导到其操作系统。

除了使用 PXE 实现自动操作外,您还可以使用下列方法之一手动执行“预引导”工作:

有关更多信息,请参见部分 3.1.2, 使用命令行执行 ZENworks Imaging 操作

1.4.2 举例说明预引导服务流程

下图显示预引导服务 (PXE) 设备和预引导服务映像服务器之间的交互,这种交互在 PXE 设备开机并开始引导时开始,在该设备映像工作开始时结束。

以下示例假设设备与“映像服务器”在同一个网段内。

第 1 阶段:开始此流程

映像流程开始的方式各不相同,具体视标准 DHCP 服务器或另一服务器上是否配置了 novell-proxydhcp 而定。以下各节说明每种配置的流程如何开始,然后是第 2-8 阶段:继续此流程中说明的阶段(对于这些配置均适用)。

在独立服务器上配置的 DHCP 和 Novell Proxy DHCP

在此示例中,DHCP 服务器和预引导服务映像服务器是网络中两台独立的服务器。

图 1-1 独立服务器上的 DHCP 配置

第 1 阶段的插图是针对 novell-proxydhcp 守护程序在标准 DHCP 服务器上运行的情况。

流程:

  1. 设备引导时,PXE BIOS 会发出 DHCP 请求,其中包括 PXE 扩展。请求在端口 67 上广播。

  2. DHCP 服务器在端口 68 上以 IP 配置信息进行响应,而 Proxy DHCP 服务器在端口 68 上以引导程序的名称 (nvlnbp.sys) 和 TFTP 服务或守护程序所在位置的 IP 地址进行响应。

  3. 继续第 2-8 阶段:继续此流程

在同一台服务器上配置的标准 DHCP 和 Novell Proxy DHCP:A 部分

在此示例中,DHCP 服务器和预引导服务映像服务器配置在网络中的同一台服务器上。请参见在同一台服务器上配置的标准 DHCP 和 Novell Proxy DHCP:B 部分查看此示例的第二部分。

图 1-2 同一台服务器上的 DHCP 配置,A 部分

第 1a 阶段的插图是针对 novell-proxydhcp 守护程序不在标准 DHCP 服务器上运行的情况。

流程:

  1. 设备引导时,PXE BIOS 会发出 DHCP 请求,其中包括 PXE 扩展。请求在端口 67 上广播。

  2. DHCP 服务器在端口 68 上以 IP 配置信息进行响应,其中包括 PXEClient 的标签 60(指示 novell-proxydhcp 正在同一台服务器上运行)。

在同一台服务器上配置的标准 DHCP 和 Novell Proxy DHCP:B 部分

图 1-3 同一台服务器上的 DHCP 配置,B 部分

第 1b 阶段的插图是针对 novell-proxydhcp 守护程序不在标准 DHCP 服务器上运行的情况。

流程:

  1. 当设备在 DHCP 响应中发现标签 60 时,PXE BIOS 就会在端口 4011 上重新发出 DHCP 请求。

  2. Proxy DHCP 服务器在端口 68 上以引导程序的名称 (nvlnbp.sys) 和 TFTP 服务或守护程序所在位置的 IP 地址进行响应。

  3. 继续第 2-8 阶段:继续此流程

第 2-8 阶段:继续此流程

以下各节说明预引导服务流程在第 1 阶段后如何继续进行:

第 2 阶段

图 1-4 预引导服务流程的第 2 阶段

流程:

  1. PXE BIOS 从 TFTP 服务器请求 nvlnbp.sys

  2. TFTP 服务器将 nvlnbp.sys 发送给 PXE 设备。

  3. PXE 设备将 nvlnbp.sys 装载到内存中。

第 3 阶段

图 1-5 预引导服务流程的第 3 阶段

流程:

  1. nvlnbp.sys 执行硬件检测并读取映像安全数据。

  2. Nvlnbp.sys 通过 novell-zmgprebootpolicy 从“数据模型”请求“Novell 预引导服务菜单”配置。

  3. Novell-zmgprebootpolicy 会返回“Novell 预引导服务菜单”配置。此时,如果用户按热键,就会显示 pxemenu.txt 中描述的菜单。

第 4 阶段

图 1-6 预引导服务流程的第 4 阶段

流程:

  1. 假设没有显示“Novell 预引导服务菜单”,设备就会通过 novell-zmgprebootpolicy 询问“数据模型”是否有指派的工作。

  2. 假设指派了工作,novell-zmgprebootpolicy 就会以执行预引导工作时要使用的配置文件的名称(如上图所示的 ZENworks Imaging 的 z_auto.cfg 和 ZENworks Third-Party Imaging 的 winpe.cfg)进行响应。

第 5 阶段

图 1-7 预引导服务流程的第 5 阶段

流程:

  1. PXE 设备从 TFTP 服务器请求 pxelinux.0

  2. TFTP 服务器将 pxelinux.0 发送给设备。

第 6 阶段

图 1-8 预引导服务流程的第 6 阶段

流程:

  1. Pxelinux.0 替换内存中的 nvlnbp.sys,并向 TFTP 服务器请求 ZENworks Imaging 的 z_auto.cfg(如上图所示)和 ZENworks Third-Party Imaging 的 winpe.cfg

  2. TFTP 服务器将 ZENworks Imaging 的 z_auto.cfg 文件和 ZENworks Third-Party Imaging 的 winpe.cfg 发送给设备。

第 7 阶段

图 1-9 预引导服务流程的第 7 阶段

ZENworks Imaging 的流程(如上图所示):

  1. Pxelinux.0 从 TFTP 服务器请求并接收 /boot/kernel

  2. Pxelinux.0 从 TFTP 服务器请求并接收 /boot/initrd

  3. Pxelinux.0 从 TFTP 服务器请求并接收 /boot/root

  4. Pxelinux.0 从 TFTP 服务器请求并接收 /boot/updateDrivers.tgz,但因文件(用于提供发行后软件更新)不存在而被拒绝。

ZENworks Third-Party Imaging 的流程:

  1. Pxelinux.0 向 TFTP 服务器请求并接收 /boot/preboot.0

  2. Pxeboot.0 向 TFTP 服务器请求并接收 /boot/bootMgr.exe

  3. 引导管理器装载 /boot/bcd

  4. 引导管理器最后接收并装载 /boot/boot.sdi/boot/winpe.wim

第 8 阶段

图 1-10 ZENworks Imaging 的预引导服务流程的第 8 阶段

ZENworks Imaging 的流程:

  1. 在设备上装载并运行 SUSE® Linux Enterprise Server (SLES)。

  2. ZENworks Imaging Engine (img) 请求指派的预引导服务工作细节并执行该工作。

  3. 该映像存放在设备上,并会自动重引导。

图 1-11 ZENworks Third-Party Imaging 的预引导服务流程的第 8 阶段

ZENworks Third-Party Imaging 的流程:

  1. 在设备上装载并运行 WinPE 分发包。

  2. Novell ZENworks Third Party Imaging 实用程序请求指派的预引导服务工作细节并执行该工作。

  3. 该映像存放在设备上,并会自动重引导。