目录
一、PXE原理
二、PXE服务器的搭建
2.1 CentOS下PXE服务器的搭建
2.2 Windows下PXE服务器的搭建
PXE(Pre-boot Execution Environment,预启动执行环境)是由Intel设计的协议,它允许计算机通过网络启动。这个协议工作在Client/Server模式下,允许客户机通过网络从远程服务器下载引导镜像,并加载安装文件或整个操作系统。PXE更好地解决了以下问题:
严格来说,PXE 并不是一种安装方式,而是一种引导方式。进行 PXE 安装的必要条件是在要安装的计算机中必须包含一个 PXE 支持的网卡(NIC),即网卡中必须要有 PXE Client。PXE 协议可以使计算机通过网络启动。此协议分为 Client端和 Server 端,而PXE Client则在网卡的 ROM 中。当计算机引导时,BIOS 把 PXE Client 调入内存中执行,然后由 PXE Client 将放置在远端的文件通过网络下载到本地运行。运行 PXE 协议需要设置 DHCP 服务器和 TFTP 服务器。DHCP 服务器会给 PXE Client(将要安装系统的主机)分配一个 IP 地址,由于是给 PXE Client 分配 IP 地址,所以在配置 DHCP 服务器时需要增加相应的 PXE 设置。此外,在 PXE Client 的 ROM 中,已经存在了 TFTP Client,那么它就可以通过 TFTP 协议到 TFTP Server 上下载所需的文件了。
本文将在IP地址为10.20.43.10的centos系统下搭建PXE服务器,为另外一台计算机分配IP,并安装操作系统。
准备工作:
(1)如果没有网络或网络情况差可以先配置yum本地源
(2)关闭防火墙
systemctl stop firewalld.service #暂时关闭,重启失效
systemctl disable firewalld.service #永久关闭
(3)关闭selinux服务
vim /etc/selinux/config
1、TFTP服务
1.1 安装tftp服务和xinetd程序
yum -y install tftp-server xinetd
1.2 修改tftp配置文件
vim /etc/xinetd.d/tftp
将disable设置为no,表示开启TFTP服务 。
1.3 将tftp服务和xinetd程序设置为开机自启
systemctl start tftp && systemctl enable tftp
systemctl start xinetd && systemctl enable xinetd
2、DHCP服务
2.1 安装DHCP服务
yum -y install dhcp
2.2 修改配置文件
vim /etc/dhcp/dhcpd.conf
以legacy方式启动的时候filename为pxelinux.0
以UEFI方式启动的时候filename为grubx64.efi
2.3 设置网口配置文件
vim /etc/sysconfig/network-scripts/ifcfg-enp1s0f0
2.4 将 DHCP服务设置为开机自启
3、准备Linux内核、初始化镜像文件
3.1 挂载操作系统镜像
mount /dev/sdc1 /mnt/centos7
3.2 切换到如下目录
cd /mnt/centos7/images/pxeboot/
3.3 复制Linux系统文件内核到tftp根目录下
cp vmlinuz /var/lib/tftpboot
3.4 将初始化镜像文件复制到tftp根目录下(内存镜像文件)
cp initrd.img /var/lib/tftpboot
3.5 安装syslinux(引导加载程序)
yum -y install syslinux
将网卡引导文件pxelinux.0复制到tftp根目录下(该文件负责引导计算机从网络启动)
cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot
4、FTP服务
4.1 安装FTP服务
yum -y install vsftpd
4.2 设置FTP服务开机自启
systemctl start vsftpd && systemctl enable vsftpd
4.3 配置FTP
vim /etc/vsftpd/vsftpd.conf
4.4 在/var/ftp下创建文件夹 ,作为安装源目录
nkdir /var/ftp/centos7
cp -rf /mnt/* /var/ftp/centos7
4.5 配置启动菜单文件
若客户机以Legacy方式启动:
在tftp根目录下,创建pxelinux.cfg文件夹,并创建default配置文件
mkdir /var/lib/tftpboot/pxelinux.cfg
vim /var/lib/tftpboot/pxelinux.cfg/default
若客户机以 UEFI方式启动:
配置grup.cfg文件
vim /etc/lib/tftpboot/grub.cfg
4.6 设置文件权限
将/var/ftp/的文件夹下的目录权限设置为755,防止其它权限找不到资源
chmod 755 /var/ftp/
可以通过以下命令查看各服务的状态:
systemctl status dhcpd.service
systemctl status vsftpd.service
systemctl status xinetd.service
可以通过以下命令重启服务:
systemctl restart network
systemctl restart dhcpd.service
systemctl restart vsftpd.service
systemctl restart xinetd.service
5、客户端安装操作系统
接下来就可以进入客户端的setup,安装操作系统:
通过相应的pxe网口进入
选择设定好的启动项
接下来就可以选择语言、时区等信息进行安装。
等待安装完成即可
可以利用小工具Serva进行Windows环境下的PXE服务器的搭建,其下载地址为:Serva 5.0.0 - Download
Serva分为免费版和专业版,免费版仅支持Legacy模式下OS的引导
1、解压下载的Serva压缩包,打开Serva64.exe,点击右上角的图标
选择“Setting”进入设置界面
2、首先设置HTTP服务,勾选“HTTP Server”,在Serva文件夹下创建Repo文件夹,并作为Http服务器的根目录。
2、设置TFTP服务,勾选相应服务,并选择TFTP根目录
3、设置DHCP服务,按图勾选相应服务,配置IP池的起始地址,以及IP池的大小,设置子网掩码
点击确定。
4、重启Serva.exe
在设置完服务后,点击确定,关闭Serva64.exe,然后再打开Serva.exe。在重启完成后会发现在Repo目录下自动生成了文件夹:
在NWA_PXE、WIA_RIS、WIA_WDS文件夹下各有一个ServaReadme.txt文档对本文件夹保存的文件类型进行了说明。其中NWA_PXE用来保存非Windows发行版本的系统,例如CentOS、Ubuntu等;WIA_RIS用来保存RIS类型的发行版,例如Windows2000、WindowsXP等;WIA_WDS用来保存WDS发行版本,例如Win8、Win10等
5、准备操作系统文件
在这里我们选择安装CentOS7.9或者是Windows10系统,首先将CentOS或Windows的ISO镜像文件挂载到服务器上,然后将CentOS系统文件拷贝到NWA_PXE文件夹下的子目录中,将Windows10文件拷贝到WIA_WDS文件夹下。
CentOS:
Windows:
然后重启Serva.exe,重启后会发现在系统文件夹下生成了_SERVA_文件夹。
6、CentOS系统配置文件(安装Windows系统可忽略)
在centos文件夹下新建.inf文件,命名为ServaAsset.inf文件,此文件可以在Versa官网下载:Serva PXE/BINL - AN03: Non-Windows Network Boot/Install
将其中的 $IP_BSRV$改为PXE服务器的IP地址,将$HEAD_DIR$改为操作系统文件所在的文件夹,如图:
【注意】需要认真查找, 有好几处 $IP_BSRV$和$HEAD_DIR$需要修改,其它不用改。
重启Serva.exe。
7、 将NWA_PXE和WIA_WDS文件夹设置为共享文件
选择文件夹——属性——共享——高级共享,注意共享名的格式
8、客户端安装操作系统
8.1 用一根网线将PXE服务器与客户端连接起来。
由于免费版Serva仅支持Legacy模式下的引导,UEFI模式下为收费版,在这里进入客户端的BIOS Setup,将兼容模式设置为only Legacy:
8.2 选择网口启动项
点击相应的网络选项并进入
稍等一会就会出现操作系统菜单项:
8.3 安装操作系统
选择需要安装的操作系统进行安装 ,然后就进入熟悉的操作系统安装界面:
CentOS:
Windows:
填写PXE服务器共享文件的用户名与密码
进入安装:
版权说明:如非注明,本站文章均为 扬州驻场服务-网络设备调试-监控维修-南京泽同信息科技有限公司 原创,转载请注明出处和附带本文链接。
请在这里放置你的在线分享代码