本文主要是介绍Ubuntu下搭建UEFI下PXE服务端(详细)总结,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 一、简介
- 二、HTTP服务端搭建
- 三、DHCP服务端搭建
- 四、TFTP服务端搭建
- 五、重启所有服务、关闭防火墙
- 六、其他相关链接
- 1、Windows下EDK2快速搭建过程总结附软件包地址
- 2、PXE安装Linux系统原理详解
- 3、Ubuntu系统设置常见问题处理详细总结
- 4、UEFI下命令参数详解快速掌握
一、简介
系统:Ubuntu 22.04
平台:X86_64
本文介绍如何在Ubuntu下搭建PXE服务端,主要包含HTTP、DHCP、TFTP等服务端的搭建,以及基于Ubuntu22.04镜像实现PXE安装文件的配置。
二、HTTP服务端搭建
1、安装 apache2
sudo apt install apache2
2、复制下载的镜像到http特定目录
cp ./ubuntu-22.04-desktop-amd64.iso /var/www/html/
3、挂载镜像
mkdir /var/www/html/Ubuntu_22.04_Desktop/
mount /var/www/html/ubuntu-22.04-desktop-amd64.iso /var/www/html/Ubuntu_22.04_Desktop/
三、DHCP服务端搭建
1、安装 isc-dhcp-server
apt install isc-dhcp-server
2、配置静态 IP
使用 netplan 配置静态 IP,打开配置文件。
sudo vim /etc/netplan/01-network-manager-all.yaml
打开后的默认配置文件如下:
# Let NetworkManager manage all devices on this system
network:version: 2renderer: NetworkManager
编辑配置文件内容。
# Let NetworkManager manage all devices on this system
network:ethernets:enp7s0f0:dhcp4: nodhcp6: noaddresses:- 192.168.2.10/24version: 2renderer: NetworkManager
3、重启配置
netplan apply
配置 dhcpd
指定 isc-dhcp-server 要监听的网卡
vim /etc/default/isc-dhcp-serverINTERFACESv4="enp7s0f0"
5、编辑 dhcpd.conf 配置文件
vim /etc/dhcp/dhcpd.conf
subnet 192.168.2.0 netmask 255.255.255.0 {range 192.168.2.11 192.168.2.254;option routers 192.168.2.10;next-server 192.168.2.10;filename "/UEFI/bootx64.efi"";
}
6、重启服务
systemctl restart isc-dhcp-server
四、TFTP服务端搭建
1、安装依赖包
sudo apt-get install tftp-hpa tftpd-hpa
sudo apt-get install xinetd
2、配置/etc/xinetd.conf
vim /etc/xinetd.conf# Simple configuration file for xinetd##Some defaults, and include /etc/xinetd.d/defaults{#Please note that you need a log_type line to be able to use log_on_success#and log_on_failure. The default is the following :#log_type = SYSLOG daemon info}includedir /etc/xinetd.d
查看是否有 xinetd.conf 查看内容是否一致, 如果没有创建一个,并输入如下内容
3、配置/etc/default/tftpd-hpa
vim /etc/default/tftpd-hpa
设置共享目录TFTP_DIRECTORY=“/srv/tftp”
4、创建共享文件夹
mkdir /srv/tftp
5、设置权限
chmod 777 /srv/tftp -R
6、重启tftp服务
service tftpd-hpa start
7、配置tftp相关的文件
(1) 建立 UEFI 目录mkdir /srv/tftp/UEFI(2)拷贝文件cp /var/www/html/Ubuntu_22.04_Desktop/casper/{vmlinuz,initrd} /srv/tftp/UEFI/(3)下载并拷贝必要的文件
cd ~
//shim-signed```c
apt download shim-signed
dpkg -x shim-signed*deb shim
sudo cp shim/usr/lib/shim/shimx64.efi.signed.latest /srv/tftp/UEFI/bootx64.efi
//grub-efi-amd64-signed
apt download grub-efi-amd64-signed
dpkg -x grub-efi-amd64-signed*deb grub
sudo cp grub/usr/lib/grub/x86_64-efi-signed/grubnetx64.efi.signed /srv/tftp/UEFI/grubx64.efi
//grub-common
apt download grub-common
dpkg -x grub-common*deb grub-common
cp grub-common/usr/share/grub/unicode.pf2 /srv/tftp/UEFI/
8、创建grub引导文件
mkdir /srv/tftp/grub
vim /srv/tftp/grub/grub.cfgset default="0"set timeout=100if loadfont unicode ; thenset gfxmode=autoset locale_dir=$prefix/localeset lang=en_USfiterminal_output gfxtermset menu_color_normal=white/blackset menu_color_highlight=black/light-grayif background_color 44,0,30; thenclearfifunction gfxmode {set gfxpayload="${1}"if [ "${1}" = "keep" ]; thenset vt_handoff=vt.handoff=7elseset vt_handoff=fi}set linux_gfx_mode=keepexport linux_gfx_modemenuentry 'Ubuntu 22.04 IPv4' {gfxmode $linux_gfx_modelinux /UEFI/vmlinuz root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=http://192.168.2.10/ubuntu-22.04-desktop-amd64.isoinitrd /UEFI/initrd}}
五、重启所有服务、关闭防火墙
systemctl restart isc-dhcp-server
systemctl restart tftpd-hpa.service
systemctl restart xinetd
/etc/init.d/apache2 restart
netplan apply
ufw disable
六、其他相关链接
1、Windows下EDK2快速搭建过程总结附软件包地址
2、PXE安装Linux系统原理详解
3、Ubuntu系统设置常见问题处理详细总结
4、UEFI下命令参数详解快速掌握
这篇关于Ubuntu下搭建UEFI下PXE服务端(详细)总结的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!