CN108769267B - 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法 - Google Patents

一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法 Download PDF

Info

Publication number
CN108769267B
CN108769267B CN201810764880.8A CN201810764880A CN108769267B CN 108769267 B CN108769267 B CN 108769267B CN 201810764880 A CN201810764880 A CN 201810764880A CN 108769267 B CN108769267 B CN 108769267B
Authority
CN
China
Prior art keywords
pxe
client
server
dhcp
packet
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810764880.8A
Other languages
English (en)
Other versions
CN108769267A (zh
Inventor
龚永军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chengdu Aomei Technology Co ltd
Original Assignee
Chengdu Aomei Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chengdu Aomei Technology Co ltd filed Critical Chengdu Aomei Technology Co ltd
Priority to CN201810764880.8A priority Critical patent/CN108769267B/zh
Publication of CN108769267A publication Critical patent/CN108769267A/zh
Application granted granted Critical
Publication of CN108769267B publication Critical patent/CN108769267B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5007Internet protocol [IP] addresses
    • H04L61/5014Internet protocol [IP] addresses using dynamic host configuration protocol [DHCP] or bootstrap protocol [BOOTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:包括如下步骤:步骤1,准备步骤:在PXE服务器端绑定并监听UDP69号端口、TCP 8888端口、UDP 67和UDP4011号端口;步骤2,为客户端分配IP地址,指定PXE服务器的地址以及确定NBP的文件名;步骤3,使用TFTP服务,提供NBP下载;步骤4,NBP下载ISO、WIM镜像文件和引导镜像文件。本发明能够在网络上启动引导ISO和WIM镜像文件,操作简单方便,而且可在多台计算机上操作,效率显著提高。

Description

一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像 文件的方法
技术领域
本发明属于计算机领域,尤其涉及一种计算机从网络中引导ISO和WIM镜像文件的方法。
背景技术
在日常生活中、公司的办公环境中或是在电脑城装机人员的装机过程中都大量的使用Windows PE或其它的内存系统(如 live cd linux等),而传统的方法是通过制作工具将这样的系统安装到U盘、光盘或其它存储介质之上,启动则通过USB接口、光驱等方式,同时只能在一台计算机上操作,在使用上极为不便,而在效率上也非常低下,虽然市面上有基于PXE启动的软件,但是由于不能从网络上启动以ISO和WIM格式封装的这种系统,在使用上造成了诸多不便。
发明内容
鉴于现有市面上的基于PXE启动的软件不能从网络上启动引导ISO和WIM镜像文件而存在使用不便的缺陷,本发明提出了一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,通过该方法,能够在网络上启动引导ISO和WIM镜像文件,操作简单方便,而且可在多台计算机上操作,效率显著提高。
为解决上述技术问题,本发明所采用的技术方案是:
一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:包括如下步骤:
步骤1,准备步骤
在PXE服务器端绑定并监听UDP69号端口,实现一个TFTP服务器,为PXE客户端提供NBP(Network Bootstrap Program)引导配置等文件的下载服务;
在PXE 服务器端绑定监听TCP 8888端口,实现一个简易的HTTP文件服务器,为后续流程提供ISO系统镜像文件下载;
在PXE 服务器端绑定并监听UDP 67和UDP4011号端口,实现一个简易的DHCP服务器;
步骤2,为客户端分配IP地址,指定PXE 服务器的地址以及确定NBP的文件名
2.1,PXE服务器监听UDP 67和UDP 4011端口,等待PXE客户端的启动请求;
2.2,PXE客户端向UDP 67号端口广播DHCP Discover包;
2.3,PXE服务器端的UDP 67号端口获取DHCP Discover包之后,判断PXE客户端是否需要从网络启动,如果是进入2.4;
2.4,PXE服务器端构造DHCP Offer包,并广播发送给PXE客户端;
2.5,PXE客户端接收到DHCP Offer包后向PXE服务器端UDP 67号端口广播DHCPRequest包;
2.6,PXE服务器端的UDP 67号端口获取到DHCP Request包;
2.7,PXE服务器端判断是否为PXE客户端分配了IP地址,如果是进入2.8,如果否,则不会处理该PXE客户端的DHCP Request包;
2.8,PXE服务器端返回一个DHCP ACK的确认包,并广播发送给PXE客户端;
2.9,PXE客户端接收到DHCP ACK的确认包后向PXE服务器端UDP 4011号端口发送DHCP Request包;
2.10,PXE服务器端的UDP 4011号端口获取到DHCP Request包;
2.11,PXE服务器端构造DHCP ACK包,并广播发送给PXE客户端;
2.12,PXE客户端接收到DHCP ACK包;
步骤3,使用 TFTP服务,提供NBP下载
PXE客户端已经获取了IP地址,确定了PXE服务器的地址、 NBP的文件名之后,PXE客户端通过TFTP 协议向服务器的UDP6号端口请求下载NBP(pxelinux.0)文件,此时使用服务器内部实现的TFTP服务器为PXE客户端提供下载服务;
步骤4,NBP下载ISO、WIM镜像文件和引导镜像文件
若引导的是ISO镜像文件,当PXE客户端下载pxelinux.0文件后并启动该文件后(pxelinux.0 可以理解为一个功能单一的微型系统),pexlinux.0会通过TFTP下载其余必要文件(包括:ldlinux.c32, memdisk, Default),根据Default文件配置下载ISO系统镜像,下载完成后解压该ISO文件并从该解压后的镜像文件启动;
若引导的是WIM镜像文件,服务器会对BCD文件进行配置,设置WIM的文件名等其它必要参数, NBP启动后会通过TFTP协议从服务器下载其它必要的文件,NBP通过解析BCD配置文件使用TFTP协议下载指定的WIM并解压,最后NBP加载WIM完成引导。
在步骤2.3中,判断该客户端是都需要从网络启动的判断方法为:判断DHCPDiscover包中的option_num是否有等于60,如果是则判断该项的option_value的值是否等于“PXEClient”标识符,如果满足以上两个条件则表示该客户端需要从网络启动,否则不是。
在步骤2.3中,PXE服务器端获取DHCP Discover包之后,还要对DHCP Discover进行分析处理,如果DHCP Discover包中有选项号为93的选项且该项的option_value的值等于0x0900或0x0700则表示客户端系统架构(Client System Architecture)为64位UEFI,如果option_value的值为0x0600则表示该客户端的系统架构为32位UEFI,其他情况则视为该客端为Legacy BIOS。
在步骤2.4中,PXE服务器端构造DHCP Offer时,要设置DHCP Offer包的成员bp_file,为其指定NBP(Network Bootstrap Program)的文件名称, 将DHCP Offer包的成员bp_siaddr设置为本机的IP地址;构建一个项号为54的结构,并将其结构的值设置为本机的IP地址;构建一个项号为97的结构,并将其结构的值与DHCP Discover的97项号的值相同。
在步骤2.4中,PXE服务器端还要判断PXE客户端是否需要分配IP地址,如果是,则自动为该PXE客户端分配一个IP地址,在DHCP Offer包的bp_yiaddr成员指定一个PXE客户端的IP地址,同时设置项号为51的值,为PXE客户端设置IP的租用期,设置项号为1的项,为该PXE客户端指定子网掩码,设置项号为3的项为该PXE客户端指定网关,如果否,则不为PXE客户端分配IP地址。
在步骤2.4中,PXE服务器端构造DHCP Offer包以及为PXE客户端分配好IP地址后广播发送DHCP Offer包68端口,通过68端口发送给PXE客户端。
在步骤2.5中,PXE客户端收到服务器的DHCP Offer包后,通过68号端口广播一个DHCP Request包到67号端口。
在步骤2.8中,PXE服务器会返回的DHCP ACK的确认包中的内容除53号选项设为5(DHCP ACK标志)其它选项与DHCP Offer相同。
在步骤2.9具体为:如果该PXE客户端已经获取到PXE服务器指定的IP地址,PXE客户端通过PXE服务器发送给PXE客户端的DHCP Offer包的项号为 60、 54的选项以及包结构体成员bp_file指定的 NBP文件名,PXE客户端会向服务器的 4011网络端口发送一个DHCPRequest包。
在步骤2.11中,该DHCP ACK 包的bp_file成员指定NBP文件名,bp_siaddr指定为服务器的IP地址,项号为53的项设置为DHCP ACK标志(值为5),项号为54的项设置为服务器的IP地址(一般为PXE程序所在的计算机的IP地址),项号为60的项设置为字符串“PXEClient”,项号为97的项设置为客户端的GUID(从前面的DHCP Discover收集而来),若PXE客户端的引导的是WIM镜像文件,则还设置项号为252的项以指定BCD文件的名称,NBP启动后会向TFTP服务器请求此文件。
步骤3中,对于客户端的Client System Architecture为Legacy BIOS模式引导ISO镜像的情况 ,使用pxelinux.0 作为客户端的引导程序,TFTP 服务器上的下载目录结构为:
pxelinux.cfg(Folder) ldlinux.c32 memdisk pxelinux.0
|
Default
Default文件内容为: default memdisk iso raw initrd=http://:8888/amlnx.iso
对于客户端的Client System Architecture为Legacy引导WIM镜像的情况,使用微软提供NBP(文件原名为pxeboot.n12,为了处理方便我们把文件名改为pxelinux.0),TFTP 服务器上的下载目录结构为:
pxeboot.n12 ETFSBOOT.COM bootmgr.exe BOOTFIX.BIN BOOT.SDI BCD
对于客户端的Client System Architecture 为64位 UEFI的客户端引导WIM镜像的情况,NBP是微软提供一个EFI程序,文件名为: ms64.efi.
TFTP 服务器上的下载目录结构为:
Ms64.efi ms64bcd boot
|
boot.sdi bootx64.efi。
本发明相对于现有技术存在如下有益效果:
通过本发明提供的方法,使用者本能够在网络上启动引导ISO和WIM镜像文件,操作简单方便,而且可在多台计算机上操作,效率显著提高。
附图说明
图1为本发明步骤1和2的流程图;
图2为本发明步骤3和4的流程图。
具体实施方式
下面结合实施例对本发明作进一步的描述,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。基于本发明中的实施例,本领域的普通技术人员在没有做出创造性劳动前提下所获得的其他所用实施例,都属于本发明的保护范围。
为了便于解释和说明,下面列出了一个DHCP包结构:
DHCP包结构如下:
struct dhcp_packet
{
dhcp_header header;
UCHAR vend_data[1024 - sizeof(dhcp_header)];
};
struct dhcp_header
{
UCHAR bp_op;
UCHAR bp_htype;
UCHAR bp_hlen;
UCHAR bp_hops;
UINT bp_xid; //会话ID
struct
{
unsigned bp_secs:16;
unsigned bp_spare:7;
unsigned bp_broadcast:1;
unsigned bp_spare1:8;
};
UINT bp_ciaddr;
UINT bp_yiaddr; //为PXE客户端指定分配的IP
UINT bp_siaddr; //PXE服务器的IP地址
UINT bp_giaddr;
UCHAR bp_chaddr[16];
char bp_sname[64];
char bp_file[128]; //NBP
UCHAR bp_magic_num[4]; //0x63,0x82,0x53,0x63
};
dhcp_packet的vend_data设置可选项的其结构如下:
{
UCHAR option_num; //选项号
UCHAR len; //选项值长度
UCHAR option_value[len]; //选项值
UCHAR option_num;
UCHAR len;
UCHAR option_value[len];
...
UCHAR end; //255表示结束
}
DHCP 选项值设置示例:
UCHAR vend_data[1024 - sizeof(dhcp_header)];
{
UCHAR option_num; //53: 表示包类型
Uchar len; //1
UCHAR option_value[1];//值为1:表示是DHCP Discover包,2:DHCP Offer,3、DHCP Request 5、DHCP Ack
UCHAR option_num; //60: 表示Vendor class identifier(客户端标识)
UCHAR len;//9
UCHAR option_value[9] //值为:”PXEClient”. 表示客户端发起网络引导请求
...
UCHAR end; //255表示结束
}
为了实现本发明的目的,以便使用者能够从网络上启动引导ISO和WIM镜像文件,本发明提供了一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:包括如下步骤
步骤1,准备步骤
PXE服务器端绑定并监听UDP 69号端口实现一个TFTP服务器,为PXE客户端提供NBP(Network Bootstrap Program)引导配置等文件的下载服务。
PXE 服务器端绑定监听TCP 8888端口实现一个简易的HTTP文件服务器为后续流程提供ISO系统镜像文件下载。
PXE 服务器端绑定并监听UDP 67、4011号端口,实现一个简易的DHCP服务器。
步骤2,为客户端分配IP地址,为PXE客户端指定PXE服务器的地址。
a、PXE服务器监听UDP 67、4011端口,等待PXE客户端的启动请求。
b、如果从UDP67号端口收到来自PXE客户端的DHCP Discover包,判断DHCPDiscover包中的option_num是否有等于60,如果是则判断该项的option_value的值是否等于“PXEClient”标识符,如果满足以上两个条件则表示该PXE客户端需要从网络启动,否则不是。
DHCP 选项值设置示例:
UCHAR vend_data[1024 - sizeof(dhcp_header)];
{
UCHAR option_num;
1 Uchar len;
UCHAR option_value[1];
UCHAR option_num;
2 UCHAR len;
UCHAR option_value[9] ;
...
UCHAR end; //255表示结束
}
如上数据结构所示,在vend_data这个数组中包含了多组以option_num、len、option_value组成的项,其中option_num表示的是该项的类型,后面统称为选项号;len表示option_value的长度;option_value表示的是该项的值。
如果DHCP Discover包中有选项号为93的选项,如果该项的option_value的值等于0x0900或0x0700则表示PXE客户端系统架构(Client System Architecture)为64位UEFI,如果option_value的值为0x0600则表示该PXE客户端的系统架构为32位UEFI,其他情况则视该PXE客户端为Legacy BIOS。
c、待程序处理完PXE客户端的DHCP Discover包后,构造一个DHCP Offer包并广播,设置DHCP Offer包的成员bp_file,为其指定NBP(Network Bootstrap Program)的文件名称, 将DHCP Offer包的成员bp_siaddr设置为本机的IP地址;构建一个项号为54的结构,并将其结构的值设置为本机的IP地址;构建一个项号为97的结构,并将其结构的值与DHCPDiscover的97项号的值相同,如下所示:
struct dhcp_header
{
...
UINT bp_siaddr; //PXE服务器的IP地址
...
char bp_file[128]; //NBP
...
};
UCHAR vend_data[1024 - sizeof(dhcp_header)];
{
UCHAR option_num; // 64
Uchar len; // 4
UCHAR option_value[4];// DWORD
UCHAR option_num; // 97
UCHAR len; // 与DHCP Discover 的97号选项相同
UCHAR option_value[9] ; // 与DHCP Discover 的97号选项相同
...
UCHAR end;//255表示结束
}
若PXE客户端需要分配IP地址,程序会自动为该PXE客户端分配一个IP地址,则会在DHCP Offer包的bp_yiaddr成员指定一个PXE客户端的IP地址,同时设置项号为51的值,为PXE客户端设置IP的租用期,设置项号为1的项,为该PXE客户端指定子网掩码,设置项号为3的项为该PXE客户端指定网关,具体如下:
struct dhcp_header
{
...
UINT bp_yiaddr;//为PXE客户端分配的IP地址
...
};
UCHAR vend_data[1024 - sizeof(dhcp_header)];
{
UCHAR option_num; // 51
...
UCHAR option_num; // 1
...
UCHAR option_num;// 3
...
UCHAR end; //255表示结束
}
d、PXE客户端收到服务器的DHCP Offer包后,客户端通过68号端口广播一个DHCPRequest包到67号端口。
e、PXE服务器收到PXE客户端广播的DHCP Request包后,若PXE服务器在之前的DHCP Offer包中为客户端分配了IP地址,则PXE服务器会返回一个DHCP ACK的确认包,此包的内容除53号选项设为5(DHCP ACK标志)其它选项与DHCP Offer相同,若之前服务器发给客户端的DHCP Offer包中没有为客户端分配IP地址,则不会处理该PXE客户端的DHCPRequest包。
f、经过上面的步骤,如果该PXE客户端已经获取到服务器指定的IP地址,PXE客户端通过服务器发送给客户端的DHCP Offer包的项号为60、 54的选项以及包结构体成员bp_file指定的 NBP文件名,PXE客户端会向PXE服务器的4011网络端口发送一个DHCPRequest。
g、PXE服务器收到客户端的DHCP Request包后会立即返回一个DHCP ACK包,该DHCP ACK 包的bp_file成员指定NBP文件名,bp_siaddr指定为PXE服务器的IP地址,项号为53的项设置为DHCP ACK标志(值为5),项号为54的项设置为PXE服务器的IP地址(一般为PXE程序所在的计算机的IP地址),项号为60的项设置为字符串“ PXEClient”,项号为97的项设置为PXE客户端的GUID(从前面的DHCP Discover收集而来),若PXE客户端的引导的是WIM镜像文件,则还设置项号为252的项以指定BCD文件的名称,NBP启动后会向TFTP服务器请求此文件。
h、PXE客户端收到来至服务器的DHCPACK包后步骤2完成。
步骤3,使用 TFTP服务,提供NBP下载
通过前一阶段,客户端已经获取了IP地址,确定了PXE服务器的地址、 NBP的文件名,PXE客户端通过TFTP 协议向服务器的 69号端口请求下载NBP(pxelinux.0)文件,此时使用PXE服务器内部实现的TFTP服务器为PXE客户端提供下载服务。
对于PXE客户端的Client System Architecture为Legacy BIOS模式引导ISO镜像的情况 ,使用pxelinux.0 作为PXE客户端的引导程序。TFTP 服务器上的下载目录结构为:
pxelinux.cfg(Folder) ldlinux.c32 memdisk pxelinux.0
|
Default
Default文件内容为: default memdisk iso raw initrd=http://:8888/amlnx.iso
对于PXE客户端的Client System Architecture为Legacy引导WIM镜像的情况,使用微软提供NBP(文件原名为pxeboot.n12,为了处理方便我们把文件名改为pxelinux.0),TFTP 服务器上的下载目录结构为:
pxeboot.n12 ETFSBOOT.COM bootmgr.exe BOOTFIX.BIN BOOT.SDI BCD
对于PXE客户端的Client System Architecture 为64位 UEFI的PXE客户端引导WIM镜像的情况,NBP是微软提供一个EFI程序,文件名为: ms64.efi.
TFTP 服务器上的下载目录结构为:
Ms64.efi ms64bcd boot
|
boot.sdi bootx64.efi
步骤4,NBP下载ISO、WIM镜像文件和引导镜像文件
若引导的是ISO镜像文件,当PXE客户端下载pxelinux.0文件后并启动该文件后(pxelinux.0 可以理解为一个功能单一的微型系统)。pexlinux.0会通过TFTP下载其余必要文件(包括:ldlinux.c32, memdisk, Default),根据Default文件配置下载ISO系统镜像,下载完成后解压该ISO文件并从该解压后的镜像文件启动。(Default文件内容为:“default memdisk iso raw initrd=http://:8888/amlnx.iso”,表示使用HTTP协议从服务器的 8888端口下载ISO镜像文件,下载完毕后由pxelinux解压ISO系统镜像。)
若引导的是WIM镜像文件,PXE服务器会对BCD文件进行配置,设置WIM的文件名等其它必要参数,NBP启动后会通过TFTP协议从服务器下载其它必要的文件包括我们配置好的BCD文件。NBP通过解析BCD配置文件使用TFTP协议下载指定的WIM并解压,最后NBP加载WIM完成引导。
经过以上流程,即可实现 ISO和WIM镜像的引导。

Claims (5)

1.一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:包括如下步骤:
步骤1,准备步骤
在PXE服务器端绑定并监听UDP69号端口、TCP 8888端口、UDP 67和UDP4011号端口;
PXE服务器端绑定并监听UDP 69号端口实现一个TFTP服务器,为PXE客户端提供NBP引导配置等文件的下载服务;
步骤2,为客户端分配IP地址,指定PXE 服务器的地址以及确定NBP的文件名
2.1,PXE服务器监听UDP 67和UDP 4011端口,等待PXE客户端的启动请求;
2.2,PXE客户端向UDP 67号端口广播DHCP Discover包;
2.3,PXE服务器端的UDP 67号端口获取DHCP Discover包之后,判断PXE客户端是否需要从网络启动,如果是进入2.4;
在步骤2.3中,判断该客户端是都需要从网络启动的判断方法为:判断DHCP Discover包中的option_num是否有等于60,如果是则判断option_value的值是否等于“PXEClient”标识符,如果满足以上两个条件则表示该客户端需要从网络启动,否则不是;
2.4,PXE服务器端构造DHCP Offer包,并广播发送给PXE客户端;PXE服务器端构造DHCPOffer包以及为PXE客户端分配好IP地址后广播发送DHCP Offer包68端口,通过68端口发送给PXE客户端;
2.5,PXE客户端接收到DHCP Offer包后向PXE服务器端UDP 67号端口广播DHCPRequest包;具体为,PXE客户端收到服务器的DHCP Offer包后,通过68号端口广播一个DHCPRequest包到67号端口;
2.6,PXE服务器端的UDP 67号端口获取到DHCP Request包;
2.7,PXE服务器端判断是否为PXE客户端分配了IP地址,如果是进入2.8,如果否,则不会处理该PXE客户端的DHCP Request包;
2.8,PXE服务器端返回一个DHCP ACK的确认包,并广播发送给PXE客户端;
2.9,PXE客户端接收到DHCP ACK的确认包后向PXE服务器端UDP 4011号端口发送DHCPRequest包;
2.10,PXE服务器端的UDP 4011号端口获取到DHCP Request包;
2.11,PXE服务器端构造DHCP ACK包,并广播发送给PXE客户端;
在步骤2.11中,该DHCP ACK 包的bp_file成员指定NBP文件名,bp_siaddr指定为服务器的IP地址,项号为53的项设置为DHCP ACK标志,项号为54的项设置为服务器的IP地址,项号为60的项设置为字符串“ PXEClient”,项号为97的项设置为客户端的GUID,若PXE客户端的引导的是WIM镜像文件,则还设置项号为252的项以指定BCD文件的名称,NBP启动后会向TFTP服务器请求此文件;
2.12,PXE客户端接收到DHCP ACK包;
步骤3,使用 TFTP服务,提供NBP下载;
步骤4,NBP下载ISO、WIM镜像文件和引导镜像文件;
在步骤2.3中,PXE服务器端获取DHCP Discover包之后,还要对DHCP Discover进行分析处理,如果DHCP Discover包中有选项号为93的选项且该项的option_value的值等于0x0900或0x0700则表示客户端系统架构为64位UEFI,如果option_value的值为0x0600则表示该客户端的系统架构为32位UEFI,其他情况则视为该客户 端为Legacy BIOS;
在步骤2.4中,PXE服务器端构造DHCP Offer时,要设置DHCP Offer包的成员bp_file,为其指定NBP的文件名称,将DHCP Offer包的成员bp_siaddr设置为本机的IP地址;构建一个项号为54的结构,并将其结构的值设置为本机的IP地址;构建一个项号为97的结构,并将其结构的值与DHCP Discover的97项号的值相同;
在步骤2.4中,PXE服务器端还要判断PXE客户端是否需要分配IP地址,如果是,则自动为该PXE客户端分配一个IP地址,在DHCP Offer包的bp_yiaddr成员指定一个PXE客户端的IP地址,同时设置项号为51的值,为PXE客户端设置IP的租用期,设置项号为1的项,为该PXE客户端指定子网掩码,设置项号为3的项为该PXE客户端指定网关,如果否,则不为PXE客户端分配IP地址。
2.根据权利要求1所述的一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:在步骤2.8中,PXE服务器会返回的DHCP ACK的确认包中的内容除53号选项设为5其它选项与DHCP Offer相同。
3.根据权利要求1所述的一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:在步骤2.9具体为:如果该PXE客户端已经获取到PXE服务器指定的IP地址,PXE客户端通过PXE服务器发送给PXE客户端的DHCP Offer包的项号为 60、 54的选项以及包结构体成员bp_file指定的 NBP文件名,PXE客户端会向服务器的 4011网络端口发送一个DHCP Request包。
4.根据权利要求1所述的一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:步骤3中,PXE客户端已经获取了IP地址,确定了PXE服务器的地址、 NBP的文件名之后,PXE客户端通过TFTP 协议向服务器的UDP6号端口请求下载NBP文件,此时使用PXE服务器内部实现的TFTP服务器为PXE客户端提供下载服务;
对于客户端的Client System Architecture为Legacy BIOS模式引导ISO镜像的情况,使用pxelinux.0 作为客户端的引导程序,TFTP 服务器上的下载目录结构为:
pxelinux.cfg(Folder) ldlinux.c32 memdisk pxelinux.0
|
Default
Default文件内容为: default memdisk iso raw initrd=http://:8888/amlnx.iso
对于客户端的Client System Architecture为Legacy引导WIM镜像的情况,使用微软提供NBP,TFTP 服务器上的下载目录结构为:
pxeboot.n12 ETFSBOOT.COM bootmgr.exe BOOTFIX.BIN BOOT.SDI BCD
对于客户端的Client System Architecture 为64位 UEFI的客户端引导WIM镜像的情况,NBP是微软提供一个EFI程序,文件名为: ms64.efi.
TFTP 服务器上的下载目录结构为:
Ms64.efi ms64bcd boot
|
boot.sdi bootx64.efi。
5.根据权利要求1所述的一种通过基于PXE协议的网络启动方式来引导ISO和WIM镜像文件的方法,其特征在于:步骤4中,
若引导的是ISO镜像文件,当PXE客户端下载pxelinux.0文件后并启动该文件后,pexlinux.0会通过TFTP下载其余必要文件,根据Default文件配置下载ISO系统镜像,下载完成后解压该ISO文件并从该解压后的镜像文件启动;
若引导的是WIM镜像文件,服务器会对BCD文件进行配置,设置WIM的文件名及其它必要参数, NBP启动后会通过TFTP协议从服务器下载其它必要的文件,NBP通过解析BCD配置文件使用TFTP协议下载指定的WIM并解压,最后NBP加载WIM完成引导。
CN201810764880.8A 2018-07-12 2018-07-12 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法 Active CN108769267B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810764880.8A CN108769267B (zh) 2018-07-12 2018-07-12 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810764880.8A CN108769267B (zh) 2018-07-12 2018-07-12 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法

Publications (2)

Publication Number Publication Date
CN108769267A CN108769267A (zh) 2018-11-06
CN108769267B true CN108769267B (zh) 2021-10-01

Family

ID=63973399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810764880.8A Active CN108769267B (zh) 2018-07-12 2018-07-12 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法

Country Status (1)

Country Link
CN (1) CN108769267B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110491440A (zh) * 2019-07-02 2019-11-22 深圳市金泰克半导体有限公司 一种内存测试方法及系统
CN111736909B (zh) * 2020-06-24 2023-07-14 平安科技(深圳)有限公司 操作系统的启动方法、装置、计算机设备及存储介质
CN111966417B (zh) * 2020-08-25 2023-08-18 深圳市亿道数码技术有限公司 一种通过指定键控制从pxe启动的方法及系统
CN112130917A (zh) * 2020-09-22 2020-12-25 北京计算机技术及应用研究所 远程加载系统镜像方法
CN113094315A (zh) * 2021-03-26 2021-07-09 深圳市亿道数码技术有限公司 一种基于socket的UEFI架构数据传输的方法及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1916846A (zh) * 2005-08-17 2007-02-21 联想(北京)有限公司 操作系统的自动部署方法
CN101222395A (zh) * 2008-02-03 2008-07-16 华为技术有限公司 实现选择网络引导配置信息的方法、系统及装置
CN102394792A (zh) * 2011-10-27 2012-03-28 山东超越数控电子有限公司 基于pxe和rfb技术的自动老化监控方法
CN104932919A (zh) * 2015-06-04 2015-09-23 浪潮电子信息产业股份有限公司 一种Linux无人值守安装实现方法
CN105094929A (zh) * 2015-09-07 2015-11-25 浪潮(北京)电子信息产业有限公司 一种基于PXE的linux操作系统的安装方法及系统
CN105335194A (zh) * 2015-11-02 2016-02-17 浪潮电子信息产业股份有限公司 一种基于tftp32制作PXE启动WinPE服务器的搭建方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1916846A (zh) * 2005-08-17 2007-02-21 联想(北京)有限公司 操作系统的自动部署方法
CN101222395A (zh) * 2008-02-03 2008-07-16 华为技术有限公司 实现选择网络引导配置信息的方法、系统及装置
CN102394792A (zh) * 2011-10-27 2012-03-28 山东超越数控电子有限公司 基于pxe和rfb技术的自动老化监控方法
CN104932919A (zh) * 2015-06-04 2015-09-23 浪潮电子信息产业股份有限公司 一种Linux无人值守安装实现方法
CN105094929A (zh) * 2015-09-07 2015-11-25 浪潮(北京)电子信息产业有限公司 一种基于PXE的linux操作系统的安装方法及系统
CN105335194A (zh) * 2015-11-02 2016-02-17 浪潮电子信息产业股份有限公司 一种基于tftp32制作PXE启动WinPE服务器的搭建方法

Also Published As

Publication number Publication date
CN108769267A (zh) 2018-11-06

Similar Documents

Publication Publication Date Title
CN108769267B (zh) 一种通过基于pxe协议的网络启动方式来引导iso和wim镜像文件的方法
CN107534647B (zh) 用于传送启动脚本的系统、计算设备和存储介质
CN101778136B (zh) 通过网络远程实时监控为客户机安装操作系统的方法
US7802084B2 (en) System and method for management and installation of operating system images for computers
US8266263B2 (en) Distributed preboot execution environment (PXE) server booting
CN106911729B (zh) 一种适用于国产处理器的操作系统远程安装方法
US7363514B1 (en) Storage area network(SAN) booting method
US20030088650A1 (en) Using a diskless client network topology for disk duplication and configuration
US20080155245A1 (en) Network booting apparatus and method
US8331350B2 (en) IP telephone auto configuration system and method
CN103281203B (zh) 一种基于ecos系统的DHCP地址分配管理方法
US20060155563A1 (en) Method, system and article for advance lease negotiation in DHCP
US7761613B2 (en) Electrical device configuration system and method
CN104572372A (zh) 一种服务器性能测试环境搭建系统及方法
CN106484437A (zh) 一种部署操作系统的方法、装置及系统
CN104158859A (zh) 基于pxe的信息获取方法、pxe客户端、pxe服务器及系统
WO2000054149A2 (en) Methods and systems for reduced configuration dependency in thin client applications
US9229733B2 (en) System and method for providing an image to an information handling system
JP2012531646A (ja) ネットワークのコンピューティングデバイスの起動方法、この方法を実施するためのサーバおよびコンピューティングデバイスのネットワーク
KR101408033B1 (ko) 다수의 호스트들의 형상을 자동 구축하기 위한 형상관리서버 및 그 방법
CN106487524B (zh) 远程开机的方法
US20190173836A1 (en) Dynamic configurations based on the dynamic host configuration protocol
CN115333933B (zh) 一种机房上架的服务器的自动管理方法、介质及设备
KR100439175B1 (ko) 리눅스 기반의 클러스터 시스템의 운영체제 원격 자동설치 방법
CN112486508A (zh) 一种操作系统的部署方法、服务器及计算机存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant