Ubuntu下搭建UEFI下PXE服务端(详细)总结

一、简介

系统: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: 2
  renderer: NetworkManager

编辑配置文件内容。

# Let NetworkManager manage all devices on this system
network:
  ethernets:
    enp7s0f0:
      dhcp4: no
      dhcp6: no
      addresses:
        - 192.168.2.10/24
  version: 2
  renderer: NetworkManager

3、重启配置

netplan apply

配置 dhcpd

指定 isc-dhcp-server 要监听的网卡

vim /etc/default/isc-dhcp-server

INTERFACESv4="enp7s0f0"

5、编辑 dhcpd.conf 配置文件

vim /etc/dhcp/dhcpd.conf 

option arch code 93 = unsigned integer 16;
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;
  if option arch = 00:07 {
        filename "/UEFI/bootx64.efi";
  } else {
        filename "/Legacy/pxelinux.0";
  }
}
}

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.cfg

        set default="0"
        set timeout=100
       
        if loadfont unicode ; then
          set gfxmode=auto
          set locale_dir=$prefix/locale
          set lang=en_US
        fi
        terminal_output gfxterm

        set menu_color_normal=white/black
        set menu_color_highlight=black/light-gray
        if background_color 44,0,30; then
          clear
        fi

        function gfxmode {
                set gfxpayload="${1}"
                if [ "${1}" = "keep" ]; then
                        set vt_handoff=vt.handoff=7
                else
                        set vt_handoff=
                fi
        }

        set linux_gfx_mode=keep

        export linux_gfx_mode


        menuentry 'Ubuntu 22.04 IPv4' {
                gfxmode $linux_gfx_mode
                linux /UEFI/vmlinuz root=/dev/ram0 ramdisk_size=1500000 ip=dhcp url=http://192.168.2.10/ubuntu-22.04-desktop-amd64.iso
                initrd /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下命令参数详解快速掌握

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PXE UEFI模式下引导Legacy系统是可行的。PXE(Preboot Execution Environment)是一种网络引导技术,允许计算机通过网络连接下载操作系统或其他可执行文件进行引导。UEFI(Unified Extensible Firmware Interface)是一种现代的固件接口,用于替代传统的BIOS进行系统引导和配置。 传统Legacy系统采用的是BIOS引导,而UEFI系统采用的是新一代的固件接口。虽然两种系统有区别,但PXE可以在UEFI模式下引导Legacy系统。具体步骤如下: 首先,在UEFI固件设置中,需要将启动模式设置为Legacy模式,以使系统能够识别和引导传统的Legacy系统。 然后,在网络上配置PXE服务器,并确保PXE服务器已正确配置并且与计算机所在的网络通信正常。 接下来,在计算机的UEFI设置中,将PXE网络引导作为首选引导设备。根据计算机的品牌和型号,具体的操作可能会有所不同。 当计算机启动时,它将自动检测网络,并尝试通过PXE服务器进行引导。PXE服务器将在网络上广播PXE引导请求,并提供可引导的Legacy系统镜像。 计算机接收到PXE服务器的响应后,开始下载Legacy系统镜像。下载完成后,计算机将通过PXE引导将Legacy系统加载到内存中,并自动执行。 需要注意的是,在PXE UEFI模式下引导Legacy系统可能会遇到一些兼容性问题,例如某些硬件驱动可能无法在UEFI模式下正常加载。因此,在切换引导模式之前,应考虑检查系统的兼容性和可能的问题。 总的来说,通过在UEFI模式下配置PXE引导,实现引导Legacy系统是可行的,但需要在设置和兼容性方面做适当的准备和检查。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值