Provisioning Services 7.8 入门系列教程之十四 UEFI支持和BOOTPTAB 编辑器

简介:

 续Provisioning Services 7.8 入门系列教程之十三 使用 Boot Device Management(BDM)

UEFI,全称Unified Extensible Firmware Interface,即“统一的可扩展固件接口”,是一种详细描述全新类型接口的标准,是适用于电脑的标准固件接口,旨在代替BIOS(基本输入/输出系统)。此标准由UEFI联盟中的140多个技术公司共同创建,其中包括微软公司。UEFI旨在提高软件互操作性和解决BIOS的局限性。

相比传统的BIOS启动,UEFI启动如下特点:

1、通过保护预启动或预引导进程,抵御bootkit攻击,从而提高安全性。    
2、缩短了启动时间和从休眠状态恢复的时间。     
3、支持容量超过2.2 TB的驱动器。

要使用UEFI启动计算机,需要硬件和操作系统都支持。目前的电脑硬件(主要是主板)基本上都同时支持两种启动方式,Windows 2003,XP等一些操作系统不支持UEFI安装,Windows 2012,Windows 10等操作系统支持。

一、PVS对UEFI的支持

应该说,在实际生产环境中可能会出现两种启动方式并存的现象,而这两种启动方式需要下载的引导程序是不一样的。传统的启动方式需要ardbp32.bin文件,面UEFI启动需要的是pvsnbpx64.efi

在以前的版本的PVS中,两种引导文件的同时出现,给网络拓扑带来了一定的复杂性。因为在同一个作用域下,DHCP服务器只能设置一个引导文件名(067选项)。因此,为了满足实际的需要,用户

只能从以两种方式进行解决:

1、如果选择了 DHCP 选项 67,则存在两个拓扑选项:

在单个段上,使用 DHCP 预留为每个目标设备指定引导程序文件名(选项 67)。 这适用于较小的环境,但可以快速扩展以适用于企业环境。

将环境分为多个段,将旧版设备与 UEFI 设备隔离开来。 对于每个段,在DHCP服务器中建立一个作用域,通过设置的相应选项 67 。

2、用户也可以建立BootPTAB数据库的方式,来区分每台设备的启动方式。关于这一点,见后面的BootPTAB文件介绍。

 

针对这两种启动方式并在的现象,PVS 7.8提供了很好技术支持。用户只需要在DHCP作用域选项中建立相应选项:

建立DHCP 选项 11 – RLP 服务器

选项 11 允许您指定多个 IPv4 地址。使用此选项可在 Provisioning Services 服务器上指定流 NIC 的地址。 可以指定四个以上的地址。 UEFI 引导程序将读取所有地址,然后使用轮循机制选择一个要连接到的地址。

注意:选项 17 的优先级高于选项 11。

建立DHCP 选项 17 – 引导路径

“引导路径”选项通常与 iSCSI 结合使用以指定要启动的服务器和虚拟磁盘。 Provisioning Services 使用以下格式指定服务器地址:

pvs:[:17:]

pvs – 所需的标识符

IPv4 – Provisioning Services 服务器上的流 NIC 的地址

17 – UDP 的协议标识符(如果指定了登录端口,则需要此参数)

port – 登录端口(如果使用默认端口 6910,则不需要此端口)

示例:

pvs:192.168.0.213

pvs:192.168.0.213:17:7800

 

为了熟悉操作过程,笔者在Hyper-v新增一台虚拟机作为目标设备,安装了Windows 2012 R2,并生产映像,虚拟磁盘为Win12U.

注意,为了实现UEFI启动,应选择的虚拟机的代数为“第二代”。

DSS061

其他过程略。

结果与问题:

笔者新建了一台虚拟机,作为测试设备,并在增加到PVS中。通过网络启动后,如下图

DSS060

 

从上图中可以看出,设备下载了引导文件pvsnbpx64.efi。

但未能正常启动设备,总出现如下错误:

BNIStack failed, network stack could not be initialized

通过在网络上查询,得到的解决方法:删除设备管理器的隐藏网络适配器。

然而笔者通过多次增多不能成功。

有趣的是,尽管其他新增设备不能启动,但将原来目标设备(产生UEFI映像的设备)直接改成从虚拟磁盘启动,可以成功。

所以笔者最终认为,这有可能是在Hyper-V虚拟环境下,硬件的问题。

以上故障希望广大网友帮助解决。

二、关于BOOTPTAB 编辑器

用户可以使用 BOOTPTAB 文件可将目标设备与特定的引导程序相关联。BOOTPTAB 编辑器是用于在 BOOTPTAB 数据库文件中创建、编辑和维护条目的实用程序。

 

BOOTPTAB 文件的格式如下:

:ha=:ar=:bf=

 

示例:

host001:ha=001122334455:ar=0:bf=ardbp32.bin

host002:ha=554433221100:ar=7:bf=pvsnbpx64.efi

如果缺少体系结构标志,则默认值为 0。

 

“ar”标记指定目标设备的引导环境的体系结构。

当ar=0,体系结构为x86 BIOS,引导程序名为ardbp32.bin;

当ar=6,体系结构为x86 UEFI,引导程序名为pvsnbpia32.efi;

当ar=7,体系结构为x64 UEFI,引导程序名为pvsnbpx64.efi;

 

ha=MAC地址,在 PXE 环境中,有时使用通配符来表示多组客户端 PC 的 MAC 地址,这样无需获取单个 12 位地址。

bf=引导程序名。

 

至此,整个系列教程终于完成。正如笔者在前面所写到的那样,整个教程没有、也不想有太多理论,其实笔者也不懂太多理论。只想突出实际操作,记录部署过程。

只希望对那些和“过去的我”一样,心怀IT梦想的“那些人”,有所帮助,如此足矣!


















本文转自ycrsjxy51CTO博客,原文链接:http://blog.51cto.com/ycrsjxy/1773214,如需转载请自行联系原作者


相关文章
|
16天前
Axure设计之文本编辑器制作教程
本文介绍如何在Axure中模拟Web端富文本编辑器,实现基本的文本编辑功能,包括自定义字体样式、大小、颜色及对齐方式等。通过拖入矩形、文本域等元件,添加单选框和图标,并设置相应的交互,完成文本编辑器的制作。
|
3月前
|
图形学 开发者 存储
超越基础教程:深度拆解Unity地形编辑器的每一个隐藏角落,让你的游戏世界既浩瀚无垠又细节满满——从新手到高手的全面技巧升级秘籍
【8月更文挑战第31天】Unity地形编辑器是游戏开发中的重要工具,可快速创建复杂多变的游戏环境。本文通过比较不同地形编辑技术,详细介绍如何利用其功能构建广阔且精细的游戏世界,并提供具体示例代码,展示从基础地形绘制到植被与纹理添加的全过程。通过学习这些技巧,开发者能显著提升游戏画面质量和玩家体验。
159 3
|
3月前
|
存储
UE建模模式编辑器工具的快速入门教程
在UE虚幻引擎中,想要进行创建网格体、制作新关卡几何原型、编辑现有静态网格体资产等模型编辑动作,都需要借助建模模式的编辑器完成。因此,充分掌握编辑器能力是每个UE开发人员必备的基础技能,尽管UE建模模式中的许多工具与其他建模软件工具操作类似,但在如何构建网格体编辑方面存在着重要区别。 下面就带大家一起了解「UE建模模式编辑器」的不同之处🤔。
|
4月前
|
小程序
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
622 0
【微信小程序-原生开发】富文本编辑器 editor 的使用教程
|
4月前
|
JSON 搜索推荐 定位技术
地图主题编辑器使用教程
地图主题编辑器使用教程
87 0
|
5月前
|
Linux 开发工具 Unix
19. 【Linux教程】nano 编辑器
19. 【Linux教程】nano 编辑器
179 0
19. 【Linux教程】nano 编辑器
|
5月前
|
开发工具 Linux 程序员
20. 【Linux教程】emacs 编辑器
20. 【Linux教程】emacs 编辑器
55 0
|
5月前
|
开发工具 Linux Unix
18. 【Linux教程】vim 编辑器
18. 【Linux教程】vim 编辑器
79 0
|
6月前
|
前端开发 JavaScript
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
前端 富文本编辑器原理——从javascript、html、css开始入门
307 0
前端 富文本编辑器原理——从javascript、html、css开始入门(二)
|
6月前
|
前端开发 JavaScript 索引
前端 富文本编辑器原理——从javascript、html、css开始入门(一)
前端 富文本编辑器原理——从javascript、html、css开始入门
242 0
下一篇
无影云桌面