如何将树莓派设置为一个PXE网络启动服务器【DIY】

夜杰吖_7143

夜杰吖_7143

2026-03-27

994人浏览

原创

树莓派可配置为pxe服务器实现网络启动:一、安装配置dhcp服务并启用pxe选项;二、部署tftp服务器并放置pxelinux.0等引导文件;三、配置http或nfs提供系统镜像;四、禁用ipv6提升兼容性;五、设置静态ip并确认ipv4转发关闭。

如何将树莓派设置为一个pxe网络启动服务器【diy】

如果您希望让多台计算机通过网络启动操作系统,而无需为每台设备单独安装系统,可以将树莓派配置为PXE(Preboot Execution Environment)服务器。以下是实现此目标的具体步骤:

一、安装并配置DHCP服务

DHCP服务用于为客户端分配IP地址,并告知其PXE启动所需的TFTP服务器地址和启动文件名。树莓派需运行一个DHCP服务器,且必须支持PXE扩展选项(option 66 和 option 67)。

1、更新系统软件包:sudo apt update && sudo apt upgrade -y

2、安装isc-dhcp-server:sudo apt install isc-dhcp-server -y

3、备份原始配置文件:sudo cp /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak

4、编辑DHCP主配置文件:sudo nano /etc/dhcp/dhcpd.conf

5、在文件中添加以下PXE专用配置段(替换eth0为您的实际网卡名,如usb0或wlan0):subnet 192.168.1.0 netmask 255.255.255.0 { range 192.168.1.100 192.168.1.200; option routers 192.168.1.1; option domain-name-servers 192.168.1.1; option tftp-server-name "192.168.1.1"; filename "pxelinux.0"; }

6、指定监听接口:sudo nano /etc/default/isc-dhcp-server,将INTERFACESv4行修改为:INTERFACESv4="eth0"

7、重启DHCP服务:sudo systemctl restart isc-dhcp-server

二、部署TFTP服务器并放置启动文件

TFTP(Trivial File Transfer Protocol)用于向PXE客户端快速传输引导程序和内核文件。树莓派需运行TFTP服务,并将syslinux的pxelinux.0、内核镜像及initrd置于指定目录。

1、安装tftpd-hpa服务:sudo apt install tftpd-hpa -y

2、创建TFTP根目录并设置权限:sudo mkdir -p /var/lib/tftpboot && sudo chmod -R 777 /var/lib/tftpboot

3、下载并解压syslinux工具集:wget https://mirrors.edge.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz && tar -xzf syslinux-6.03.tar.gz

4、复制pxelinux引导文件:sudo cp syslinux-6.03/bios/core/pxelinux.0 /var/lib/tftpboot/

5、创建pxelinux.cfg目录:sudo mkdir /var/lib/tftpboot/pxelinux.cfg

6、生成默认启动菜单配置:sudo nano /var/lib/tftpboot/pxelinux.cfg/default,写入标准菜单项(例如加载Debian installer)

7、重启TFTP服务:sudo systemctl restart tftpd-hpa

三、配置HTTP或NFS服务提供完整系统镜像

PXE引导后,客户端通常需从HTTP或NFS服务器加载Linux内核、initrd及根文件系统。树莓派可选用任一协议,但HTTP更轻量、兼容性更好;NFS则适合长期挂载完整发行版。

1、安装Apache2作为HTTP服务:sudo apt install apache2 -y

2、将ISO内容提取至Web目录:sudo mkdir -p /var/www/html/debian-installer

3、挂载Debian网络安装ISO并拷贝文件:sudo mount -o loop debian-12.5.0-amd64-netinst.iso /mnt && sudo cp -r /mnt/* /var/www/html/debian-installer/

4、设置内核与initrd路径:在pxelinux.cfg/default中指定kernel http://192.168.1.1/debian-installer/install.amd/vmlinuz与initrd http://192.168.1.1/debian-installer/install.amd/initrd.gz

5、若改用NFS,安装nfs-kernel-server:sudo apt install nfs-kernel-server -y

6、导出NFS共享目录:echo "/var/www/html/debian-installer *(ro,sync,no_subtree_check)" | sudo tee -a /etc/exports

7、应用NFS配置:sudo exportfs -ra && sudo systemctl restart nfs-kernel-server

四、禁用IPv6以避免PXE协商失败

部分旧式网卡固件在启用IPv6时会干扰DHCPv4+PXE流程,导致客户端获取IP后无法连接TFTP服务器。在树莓派上临时或永久禁用IPv6可提升兼容性。

1、临时禁用IPv6:echo 1 | sudo tee /proc/sys/net/ipv6/conf/all/disable_ipv6

2、永久禁用:编辑sysctl配置文件:sudo nano /etc/sysctl.conf

3、在文件末尾追加三行:net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1

4、加载新内核参数:sudo sysctl -p

5、验证状态:cat /proc/sys/net/ipv6/conf/all/disable_ipv6,输出应为1

五、调整树莓派网络接口为静态IP并启用IP转发

树莓派需作为局域网内的稳定服务节点,其自身IP不可变动;同时若需跨子网中继或桥接流量,须开启IPv4转发功能。本方案默认采用同一子网直连方式,但仍建议配置静态IP并确认转发关闭(除非另有路由需求)。

1、编辑DHCP客户端配置:sudo nano /etc/dhcpcd.conf

2、在文件末尾添加(根据实际网络调整):interface eth0 static ip_address=192.168.1.1/24 static routers=192.168.1.1 static domain_name_servers=192.168.1.1

3、重启网络服务:sudo systemctl restart dhcpcd

4、检查当前IP:ip -4 addr show eth0 | grep "inet "

5、确认IPv4转发处于关闭状态(PXE无需开启):cat /proc/sys/net/ipv4/ip_forward,输出应为0

6、若误启用,立即关闭:echo 0 | sudo tee /proc/sys/net/ipv4/ip_forward

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
edge是什么浏览器
edge是什么浏览器

Edge是一款由Microsoft开发的网页浏览器,是Windows 10操作系统中默认的浏览器,其目标是提供更快、更安全、更现代化的浏览器体验。本专题为大家提供edge浏览器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.21

2882

5

IE浏览器自动跳转EDGE如何恢复
IE浏览器自动跳转EDGE如何恢复

ie浏览器自动跳转edge的解决办法:1、更改默认浏览器设置;2、阻止edge浏览器的自动跳转;3、更改超链接的默认打开方式;4、禁用“快速网页查看器”;5、卸载edge浏览器;6、检查第三方插件或应用程序等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.03.05

2474

4

如何解决Edge打开但没有标题的问题
如何解决Edge打开但没有标题的问题

若 Microsoft Edge 浏览器打开后无标题(窗口空白或标题栏缺失),可尝试以下方法解决: 重启 Edge:关闭所有窗口,重新启动浏览器。 重置窗口布局:右击任务栏 Edge 图标 → 选择「最大化」或「还原」。 禁用扩展:进入 edge://extensions 临时关闭插件测试。 重置浏览器设置:前往 edge://settings/reset 恢复默认配置。 更新或重装 Edge:检查最新版本,或通过控制面板修复

2025.04.24

2912

6

硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

2023.10.19

3108

3

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

2025.10.17

4649

12

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2025.12.29

3729

9

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

2026.01.19

426

15

go中interface用法
go中interface用法

本专题整合了go语言中int相关内容,阅读专题下面的文章了解更多详细内容。

2025.09.10

3590

10

default gateway怎么配置
default gateway怎么配置

配置default gateway的步骤:1、了解网络环境;2、获取路由器IP地址;3、登录路由器管理界面;4、找到并配置WAN口设置;5、配置默认网关;6、保存设置并退出;7、检查网络连接是否正常。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.12.07

357

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
phpStudy极速入门视频教程
phpStudy极速入门视频教程

共6课时 | 54.6万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时 | 133.4万人学习