Ubuntu PXE无盘服务器部署

适合多机同配置部署方式

一、最小化安装Ubuntu,启用root,更新系统,安装软件(Server和Cliect)

二、Server软件安装

1、安装HTTP服务器,这里使用的是apache2

# sudo apt-get install apache2

2、安装DHCP、TFTP服务器,dnsmasq同时实现了DHCP、TFTP、DNS三种服务器

# sudo apt-get install dnsmasq

安装后报53端口冲突:直接忽略该报错就行,后面会通过绑定端口解决

3、安装nfs-server

# sudo apt-get install nfs-kernel-server

三、Cliect软件安装

1、安装nfs-server

# sudo apt-get install nfs-common

四、Server环境部署

1、准备相关文件

tftpd的默认服务根目录是/var/ftpd(无文件夹需手动创建)

说明:文件initrd、vmlinuz由Cliect生成上传,command.lst、crypto.lst、fs.lst和terminal.lst来自 ubuntu安装包,bootx64.efi、grubx64.efi 来自shim.signed 和grub-efi-amd64-signed安装包。

2、文件initrd、vmlinuz

修改/etc/initramfs-tools/initramfs.conf

BOOT=nfs

MODULES=netboot

### 如何在 Ubuntu 上搭建 PXE 服务器 #### 安装必要的软件包 为了成功设置 PXE 启动环境,在 Ubuntu 中需安装几个关键组件。这些组件包括 TFTP 服务、DHCP 服务以及 NFS 或 HTTP 用于分发操作系统镜像。 对于 DHCP 和 TFTP 服务,可以执行如下命令来安装 isc-dhcp-server 及 tftpd-hpa: ```bash sudo apt-get update && sudo apt-get install isc-dhcp-server tftpd-hpa ``` 针对文件共享部分,如果选择通过 NFS 提供内核与初始化磁镜像,则还需安装 `nfs-kernel-server`[^3]。 #### 配置 DHCP 服务器 编辑 `/etc/dhcp/dhcpd.conf` 文件以定义网络参数并指定引导加载程序的位置。确保为客户端指定了合适的网关、DNS 地址以及其他必要选项,并声明默认启动文件名(通常是 pxelinux.0 或者 bootx64.efi 对于 UEFI 系统)。 #### 设置 TFTP 服务器 TFTP 是传输小型文件的关键协议之一,特别是当涉及到远程计算机的预启动环境中。创建或确认存在 `/var/lib/tftpboot/` 目录作为 TFTP 的根路径,并将所需的启动映像复制至此位置。例如,syslinux 的 pxelinux.0 应放置在此处以便被客户机访问[^1]。 #### 准备启动菜单和配置 下载适用于目标操作系统的 vmlinuz (Linux 内核) 和 initrd.img (初始 RAM 文件系统),并将它们同样放入 TFTP 根目录中。之后,根据所使用的引导管理器版本(如 syslinux),构建相应的启动菜单文件,通常位于 `/var/lib/tftpboot/pxelinux.cfg/default` 下面。 #### 处理 EFI 环境下的特殊需求 对于支持 UEFI 的现代硬件平台来说,除了传统的 BIOS 方式的 PXE 支持外,还需要额外准备适合 UEFI 架构的 GRUB 加载器及其签名模块。这可以通过解压官方提供的 .deb 包获得所需文件,并将其置于适当位置以满足不同架构的需求[^2]。 完成上述步骤后重启相关服务使更改生效,并测试整个过程是否能够顺利工作。注意调整防火墙规则允许必需端口通信,比如 UDP 69(TFTP), TCP/UDP 67,68(DHCP).
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值