Ubuntu下搭建UEFI下PXE服务端(详细)总结_ubuntu pxe 搭建-程序员宅基地

技术标签: UEFI  ubuntu  系统安装  linux  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下命令参数详解快速掌握

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Luckiers/article/details/136894692

智能推荐

一种简单的封装VP8/VP9视频的容器:IVF格式_ivf vp8-程序员宅基地

文章浏览阅读7.3k次,点赞4次,收藏5次。IVF是一个非常简单的视频容器。用于封装VP8/VP9的数据。下面多字节的数据是采用小端编码(little-endian)。IVF文件头由32字节组成:bytes 0-3 signature: 'DKIF'bytes 4-5 version (should be 0)bytes 6-7 length of header in bytesbytes _ivf vp8

shua 单-程序员宅基地

文章浏览阅读145次。1、虚拟机:淘宝刷单肯定不能使用真正的电脑来操作,难免会有些记录是给淘宝登记了,所以我们要使用虚拟机来实现多台电脑设备进行操作,推荐使用vmware虚拟机,带快照功能,可以无限制的复制N个镜像系统 2、虚拟机快照:很多人喜欢使用快照复制来生成一大堆电脑,其实这个是很危险的,你想想同样的系统安装时间同样的系统软件版本来你店里买东西,这个淘宝会怎么看?所以还是老实点,建个一段时间注册一..._shua shua had a big quarrel with his gf

realme gt neo3 看屏幕是天马屏幕还是京东方(图文教程)_neo3京东方和天马屏幕怎么分-程序员宅基地

文章浏览阅读3.2w次,点赞10次,收藏16次。realme gt neo3 看屏幕是天马屏幕还是京东方(图文教程)realme gt neo3 看屏幕是天马屏幕还是京东方(图文教程)由于官网删除我的贴子,所以我发布再csdn上,第一次使用,多多包含!教程准备1:电脑2:数据线3: abd 工具 后面我会提供https://pan.baidu.com/s/1mQwaq-xFh8PX8JiLgkpm6A?pwd=jy5u图文縂教程1.打开开发者模式后进行usb调试打开,链接电脑后允许2.解压 adb3.输入adb bugreport &_neo3京东方和天马屏幕怎么分

类中私有属性如何通过Spring赋值_spring单例中的私有变量可以被其他的变量赋值-程序员宅基地

文章浏览阅读503次。首先构建一个学生类 为其中数据添加get、set方法public class Student { private List<Double> scores; private Date birth; private Map<String,String> map; private Properties properties; public Properties..._spring单例中的私有变量可以被其他的变量赋值

娱乐百分百-20090316 冰淇淋少女组 - 生活至上,美容至尚!-程序员宅基地

文章浏览阅读39次。转载于:https://www.cnblogs.com/lixyvip/archive/2010/01/13/1646110.html

C语言笔记 -- 结构体成员前加 . 点_结构体成员前面加点-程序员宅基地

文章浏览阅读4.8k次,点赞24次,收藏46次。加 “.”的话可以不考虑赋值顺序,表示在这个结构体中选择这个变量来赋值,所以可以不考虑结构体中变量的顺序_结构体成员前面加点

随便推点

【Android项目实战 | 从零开始写app(十)】Okhttp+glide+json+ListView实现新闻模块数据解析并显示_android listview和http实现获取新闻列表-程序员宅基地

文章浏览阅读3.4k次,点赞13次,收藏20次。在上一篇: Android项目实战 | 从零开始写app(九)】Tablayout+ViewPager实现页面分类顶部标题页面联动切换 的基础上实现数据的填充展示由于首页会展示到推荐新闻列表,所以今天先把新闻模块的数据先请求下来,就跳着更吧,后面再继续完善首页~~这篇早早就写好了,奈何发布了几次老是说审核不通过,说内容违规???? 无可奈何~菜鸡一枚,写得不好,有问题的请指教~~文章导航一、【Android项目实战 | 从零开始写app(一)】 创建项目二、【Android项目实战 | 从零开_android listview和http实现获取新闻列表

ASP.NET MVC 5 一 入门-程序员宅基地

文章浏览阅读119次。ASP.NET MVC 5 一 入门 本系类教程将要构建ASP.NET MVC 5 Web 应用程序,使用的工具是VS2013 。现在有预览版可以下载了,点击下载VS2013 FOR WEB ISO文件。VS2012 还没用几天呢,2013就要出来,据说数据库..._.net mvc5的body属性

升级PowerShell至4.0版本-程序员宅基地

文章浏览阅读603次。为了更好的使用Cmder v1.2,不得不升级PowerShell为4.0。不知道Cmder的,可以点击这里:https://github.com/cmderdev/cmder和逆天神器 cmder。Powershell是运行在Windows机器上实现系统和应用程序管理自动化的命令行脚本环境。需要.NET环境的支持,同时支持.NET对象。当前PowerShell有5个版..._powershell v4

android cts问题分析,CTS问题分析6-程序员宅基地

文章浏览阅读1.3k次。CTS/GTS问题分析6遇到一个Android P相关的问题,和原来CTS/GTS 问题分析1的表现是一样的,但是将http://gerrit.pt.miui.com/#/c/387000/这个修复cp过来,发现不生效,仍然报错,因此记录一下问题初探测试命令: run gts -m GtsGmscoreHostTestCases -t com.google.android.gts.devicepo..._gts测试问题分析

dvi接口引脚定义_DVI、D系列端子插口针脚定义-程序员宅基地

文章浏览阅读1.9k次。P: 2009-05-10 23:35:263DVI D系列端子插口针脚定义,“WORD-BREAK处理方式:break-all幅度高达140%”,就像如果人们参加赛马[/ align >英文简介:插头,连接器———插头端子>,< /处理起来:“WORD-BREAK风格,就像如果人们参加赛马break-all幅度高达140%”[/ align >,D型端子EIAJ五D-c..._dvi接口音频针脚

android pay和hce区别,对比Apple Pay与安卓HCE的信令技术-程序员宅基地

文章浏览阅读683次。Apple Pay的发布,让从事安卓NFC应用开发者兴奋了一把,苹果对NFC的支持必将推动整个产业的发展,然而Apple Pay与安卓系统上的NFC支付有什么区别呢?特别是安卓系统上的HCE技术。近日,著名HCE方案商SimplyTapp CEO Doug Yeager就在博客中发表了文章,对比Apple Pay与HCE。博客对信令技术进行了简单的介绍,他认为“一个信令可以理解成一个证书的生命”,..._hce nfc apdu unionpay

推荐文章

热门文章

相关标签