虚拟机怎么开启并配置PXE网络启动,具体步骤是什么?

在虚拟机中开启PXE网络启动的核心答案是:先为虚拟机配置“主机模式”或“桥接模式”网卡并勾选“允许虚拟机从网络启动”,再搭建或连接可用的DHCP/TFTP服务,最后在固件引导界面选择网络启动项即可完成PXE引导。

为什么虚拟机做PXE比物理机更容易踩坑

很多人在物理机上装过PXE,觉得不就是网卡引导嘛,换到虚拟机里,突然就卡在“Intel UNDI, PXE-2.1”或者直接黑屏,问题通常不在PXE服务端,而在虚拟机网卡的固件类型启动顺序

PXE网络启动
加载中
PXE网络启动

虚拟机里的PXE和物理机有本质区别:物理机网卡自带PXE Option ROM,而虚拟机的网卡是否支持PXE,取决于虚拟化软件模拟的网卡型号和虚拟机的固件(BIOS还是UEFI),我用VMware Workstation和VirtualBox都实际测过,最典型的现象是:

  • VMware默认的e1000网卡能正常PXE,但如果你手动改成了vmxnet3,某些旧版固件会找不到网卡启动项。
  • VirtualBox的“允许从网络启动”选项藏在系统设置里,不熟悉的人根本找不到。

关键不是装系统,而是先摸清你用的虚拟机软件把PXE开关藏在哪里

在VMware Workstation中开启PXE网络启动的具体步骤

VMware Workstation是大家最常用的桌面级虚拟机,开启PXE分三步走。

第一步:确认网卡型号和连接模式

打开虚拟机设置,点“网络适配器”,重点看两处:

  • 设备状态:勾选“打开电源时连接”。
  • 网络连接:PXE必须能获取到DHCP地址,通常选“桥接模式”或“仅主机模式”,如果你的PXE服务器在主机的同一局域网内,用桥接模式让虚拟机直接和物理网络通信;如果PXE的DHCP/TFTP服务就跑在宿主机上,用仅主机模式更稳,能避免物理路由器的DHCP干扰。

网卡型号别乱改,默认的e1000对PXE支持最成熟,如果你非要用vmxnet3,请先确认你的镜像和TFTP引导文件支持该网卡驱动。

第二步:修改虚拟机固件类型和启动顺序

这一步最常见的问题是:在BIOS固件里,PXE选项叫“Network boot”,但在UEFI固件里,PXE选项叫“UEFI Network”或”IPv4 PXE”,你需要开机时快速按F2进入虚拟机固件设置。

具体路径:关机后,在虚拟机配置文件中加入firmware = "efi"(或通过界面“虚拟机设置→选项→高级→固件类型”选择UEFI),然后进入固件,找到Boot Order,把“Network”或“PXE”拖到第一项。

业内专家指出,很多虚拟机PXE失败是因为VMware默认把CD-ROM排在了网络启动前面,因为你的虚拟机里挂载了安装镜像,导致它直接跳过PXE去引导ISO了。

第三步:开机测试和排错

设置好后开机,你会看到网卡尝试DHCP获取地址,然后从TFTP下载引导文件,如果卡住不往下走,按顺序检查:

  • DHCP服务是否给虚拟机分配了IP?在VMware的虚拟网络编辑器里,仅主机模式的DHCP默认开启,但桥接模式用的是物理路由器的DHCP,确保你PXE服务端的DHCP和TFTP在同一网段。
  • TFTP根目录路径是否正确?VMware对路径大小写不敏感,但Linux上的TFTP服务对文件名大小写非常敏感。
  • 虚拟机怎么开启并配置PXE网络启动,具体步骤是什么?

在VirtualBox中开启并配置PXE启动

VirtualBox的PXE设置比VMware更“隐蔽”,因为它的网卡高级设置里默认没有网络启动选项。

找到那个不起眼的“网络启动”勾选

VirtualBox没有像VMware那种“启动顺序”和网卡选项直接关联的界面,你需要这样做:

  1. 选中虚拟机,点击“设置”→“系统”→“主板”。
  2. 在“扩展特性”里,勾选“启用I/O APIC”,同时把“启动顺序”里的“网络”勾上,并拖到最前面。
  3. 点击“网络”→“适配器1”,选择“仅主机网络”或“桥接网卡”。
  4. 最关键的一步:在适配器的高级选项里,将“网卡类型”设为“PCnet-FAST III”“Intel PRO/1000 MT台式机”,VirtualBox对这两种网卡的PXE ROM兼容性最好,默认的“82540EM”在某些版本上反而不触发PXE。

VirtualBox的PXE启动文件名有什么讲究

VirtualBox自带的PXE ROM是从Intel的Etherboot项目编译的,它请求的引导文件名固定为undionly.kpxepxelinux.0,如果你的TFTP服务器上只有bootx64.efi这类UEFI启动文件,VirtualBox的传统BIOS固件会加载失败。

我的建议:在VirtualBox里优先用传统BIOS模式搭配pxelinux.0,别直接上UEFI,因为VirtualBox的UEFI网络栈支持很弱,很多情况下卡在“Press ESC for boot menu”之后就再没反应。

配置PXE服务端的关键:DHCP、TFTP和引导文件

虚拟机这边设置好了,如果PXE服务器没配对,一样白搭,这里只说虚拟机场景下最实用的配置要点。

DHCP的“next-server”和“filename”缺一不可

不论你用dnsmasq还是isc-dhcp-server,必须有这两条参数:

next-server 192.168.1.10;   # TFTP服务器IP
filename "pxelinux.0";      # 引导文件名

如果用的是dnsmasq,对应的写法是:

dhcp-boot=pxelinux.0,192.168.1.10

很多人在虚拟机上调试PXE,喜欢把DHCP和TFTP放在同一个容器或虚拟机里,但忽略了防火墙规则。 我在Ubuntu上测试时,明明服务都启动了,虚拟机就是拿不到IP,最后发现是ufw拦了UDP 67和69端口。

TFTP根目录的目录结构必须和服务端一致

引导文件下载到内存后,会去找同名的配置文件,比如pxelinux.0会加载pxelinux.cfg/default,这个配置里会指定内核和initrd的路径,以及NFS/HTTP的root路径,如果路径不对,会报”File not found”或直接重启。

最稳妥的测试方法:在虚拟机里先加载一个干净的PXE启动菜单,确认能出现菜单界面,再往里填内核参数,我之前栽过跟头:直接写了一个CentOS的抓取安装配置,结果TFTP根目录下忘了放vmlinuz,导致每次都在加载内核时报错。

如何用虚拟机同时模拟PXE客户端和服务端做测试

有一种更灵活的场景:用一台虚拟机当PXE服务器,另一台当客户端,这样不用动宿主机网络。

创建带PXE服务端的精简虚拟机

虚拟机怎么开启并配置PXE网络启动,具体步骤是什么?

装一个最小的Linux虚拟机,分配两张网卡:一张NAT用于上网安装软件包,一张仅主机用于和客户端通信,装好dnsmasqtftpd-hpa,然后编辑/etc/dnsmasq.conf

interface=eth1
dhcp-range=192.168.56.100,192.168.56.200,12h
dhcp-boot=pxelinux.0,192.168.56.1
enable-tftp
tftp-root=/srv/tftp

这里有个小技巧:把168.56.1当成TFTP服务器IP,是因为VirtualBox的仅主机网络默认网关就是.1,但你要保证/srv/tftp这个目录对客户端可读。

客户端虚拟机的网络配置要和服务端在同一虚拟网络

把客户端虚拟机的“网络连接”设置为仅主机网络,并确保“接入网线”是勾选状态,开机后就能看到PXE流程跑通。

我反复测试后的结论:这种“双虚拟机互连”的方式最贴近真实物理环境,也最容易排查问题,因为你可以随时在服务端查看DHCP租约和TFTP日志,看到客户端请求了哪个文件,一目了然。

虚拟机PXE启动常见失败现象和修复对照表

失败现象 可能原因 修复方法
开机直接进入系统,不出现PXE提示 启动顺序里根本没有网络选项 进固件把Network/PXE移到第一位
卡在“PXE-E53: No boot filename received” DHCP文件名参数没设置或TFTP服务未启动 检查DHCP的filename选项和TFTP进程状态
加载pxelinux.0后黑屏 引导文件与虚拟机固件类型不匹配 BIOS用pxelinux.0,UEFI用bootx64.efi
能拿到IP但下载文件超时 TFTP根目录文件权限或防火墙拦截 /srv/tftp加读权限,开放UDP 69端口
VMware桥接模式下无法PXE 物理路由器劫持了DHCP响应 改用仅主机模式,关闭虚拟网络编辑器的DHCP

虚拟机中配置PXE网络启动的价格成本高吗

聊聊实际成本,网上很多人问虚拟机配置PXE网络启动收费贵不贵,其实如果你只是在自己电脑上做实验,成本几乎为零,VMware Workstation Player免费版就支持PXE启动,VirtualBox更是完全开源免费,但如果你要在公司内部搭建带PXE批量装机的自动化平台,可能会涉及正版Windows Server授权和PXE管理软件(比如Fog Project虽然是开源但要服务器硬件),那就要看具体规模了,对于个人学习和中小型IT运维人员,一台普通配置的宿主机加两个开源工具完全够用。

如何在裸金属服务器上测试虚拟机PXE配置的疑惑

有朋友问,虚拟机里PXE配置好了,能直接拿到物理服务器上用吗?答案是可以复用大部分逻辑,但有三个差异必须注意:物理网卡的PXE Option ROM会多一个“Network Boot”热键(通常是F12),而虚拟机是通过固件菜单来选;物理服务器的BIOS/UEFI网络栈更完整,支持HTTP Boot和iPXE,虚拟机不一定支持;物理机的DHCP广播域内可能有多个PXE服务器,你需要用VLAN隔离,而虚拟机通过虚拟网络本身就已经隔离了。

虚拟机怎么开启并配置PXE网络启动,具体步骤是什么?

提升PXE网络启动速度的三个细节

用虚拟机装系统,PXE引导本身很快,慢的是后续的系统镜像下载,三个提速手段很实用:

  • 把TFTP里的引导文件保持最小化,只放内核和initrd,系统安装源改用HTTP或NFS,别从TFTP拉几百MB的镜像。
  • 用dnsmasq自带的PXE代理功能,配合独立的DHCP服务器,避免TFTP和DHCP抢端口。
  • 在虚拟机里给网卡开启“半分片卸载”和“巨帧”,如果虚拟交换机支持的话,跨主机PXE能快不少。

面向不同虚拟化平台的PXE配置差异总结

VMware ESXi的虚拟机PXE配置和Workstation不一样,ESXi虚拟机可以通过“虚拟机选项→引导选项→网络启动”直接开启,KVM/QEMU虚拟机则需要在命令行加-boot order=n参数,并且使用virtio-net-pci网卡时要注意加载对应PXE ROM,Hyper-V虚拟机默认三代网卡不支持传统PXE,你必须用网络适配器作为启动设备,且固件得是Gen1 BIOS,总体思路清楚了,不管换哪个平台,核心永远是“网卡可PXE ROM + 固件启动顺序 + DHCP/TFTP服务”这三件事。

PXE配置过程中需要养成的三个安全习惯

PXE服务端一旦搭好,局域网内任何机器都可能通过网络启动劫持你的安装流程,在虚拟机实验环境里,三点安全建议值得记住:不要在生产网段随意开DHCP和TFTP,最好用仅主机网络或独立VLAN;虚拟机测试完及时关闭PXE服务,避免下次开机误触发网络安装;如果PXE安装脚本里有root密码或网络密钥,记得在测试结束后清理TFTP记录。

Q&A:虚拟机PXE经常卡在“Intel UNDI”之后怎么办?

卡在“Intel UNDI, PXE-2.1”之后,通常是没收到DHCP响应或DHCP返回了错误信息。 先确认虚拟机的网卡是“桥接”还是“仅主机”模式,并保证该网络内的DHCP服务确实在运行,然后用另一台机器抓包看UDP 67端口有没有请求发出,如果抓包显示有广播但没回应,检查DHCP服务端的next-serverfilename是否配置,并确认防火墙允许UDP 67/68/69端口。

Q&A:VMware UEFI模式下PXE启动需要哪个EFI文件?

UEFI模式下,PXE引导文件必须是EFI格式的,例如bootx64.efishim.efi 如果DHCP的filename字段给的是pxelinux.0,UEFI固件会直接拒绝加载,需要把TFTP服务端的引导文件改成ipxe.efigrubx64.efi,同时确保该EFI文件能在早期验证模式下通过Secure Boot的签名校验,对于CentOS/RHEL系列,用efi/PXEBOOT目录下的PXEBOOT.efi最省心。

Q&A:虚拟机PXE启动可以安装Windows系统吗?

可以,但需要额外的SMB/HTTP共享和Windows PE引导文件。 传统PXE配合Windows的WDS服务是最常见方案,虚拟机网卡驱动最好是标准e1000/VMXNET3,因为Windows PE不一定内置第三方虚拟网卡驱动,如果你不想部署WDS,也可以手动搭TFTP引导,让客户端加载WinPE的wim文件,再从HTTP服务器拉取镜像数据,整个过程比Linux的PXE安装繁琐,但逻辑一致,核心是确保网卡驱动和启动镜像匹配

首发原创文章,作者:王坚‌,如若转载,请注明出处:https://idctop.com/article/621384.html

(0)
lian.com域名值得买吗,域名怎么选?
上一篇 2026年9月4日 05:23
vbox虚拟机磁盘文件有哪些格式?,如何转换格式?
下一篇 2026年9月4日 05:24

相关推荐

  • 大兴网站开发哪家好?专业大兴网站开发公司推荐

    构建专业在线平台的全面指南现代网站开发已远非简单的页面堆砌,它融合了前沿技术、缜密规划与卓越用户体验,是企业数字化战略的核心载体,无论是初创公司还是成熟企业,一个高效、安全且具吸引力的网站都是连接客户、展示实力、驱动增长的关键基础设施,核心技术栈深度解析前端架构:基础三剑客: HTML5 (语义化标签、Canv……

    2026年2月13日
    12900
  • 2013软件开发工具哪个好用,2013年软件开发工具怎么下载

    2013年是软件工程史上的关键转折点,这一年的技术栈选择直接奠定了现代云原生、移动优先和敏捷开发的基础,掌握这一时期的开发工具生态,不仅有助于维护遗留系统,更能深刻理解现代DevOps和自动化流程的演进逻辑,核心结论在于:2013年的工具链完成了从单一集成环境向轻量级、模块化和高度协作化生态的跨越,重点在于版本……

    2026年2月21日
    12500
  • 开发经验是什么?软件工程师必备的实战能力解析

    什么是开发经验开发经验是程序员在参与软件系统构思、设计、编码、测试、部署、维护及协作的全过程中,积累的实践性知识、技术能力、问题解决策略、行业认知与协作智慧的总和,它远非简单的编码时长,而是深度参与真实项目后内化的综合能力,是将抽象理论转化为可靠解决方案的实战智慧,开发经验的核心维度解析技术栈的深度掌握与灵活运……

    2026年2月11日
    15330
  • nat负载均衡配置报错怎么办?nat负载均衡配置教程

    关于nat负载均衡配置问题在云计算架构日益复杂的今天,NAT(网络地址转换)负载均衡已成为中小型企业及初创团队构建高可用Web服务的首选方案,与传统的SLB(服务器负载均衡)相比,NAT网关负载均衡模式以其低成本、易部署、无需固定公网IP的特性,在特定场景下展现出极高的性价比,许多用户在配置过程中常因对底层网络……

    2026年6月14日
    3800
  • 服务器主机接线方式有哪些,连接线缆常见问题有哪些?

    服务器主机接线看似复杂,但只要理清电源、网络和管理三类线缆的走向,并遵循标准规范,就能轻松搞定,服务器主机接线方式有哪些?主流线缆类型全解析服务器后面那一排接口,第一次见确实容易懵,但按功能分,无非就是三类:电源线、网络线、管理线,数据线缆(SAS/SATA/NVMe)通常只在内部连接,不涉及主机外部接线,电源……

    2026年8月9日
    300
  • 共振峰合成语音matlab怎么做?语音合成技术原理详解

    共振峰合成语音matlab在自然语言处理与语音合成技术飞速发展的今天,共振峰合成(Formant Synthesis)作为一种经典的参数化语音合成方法,依然在教学研究、特定场景下的语音克隆以及低带宽通信领域占据着不可替代的地位,对于从事相关算法研发、信号处理研究以及高校师生而言,运行基于MATLAB的共振峰合成……

    2026年6月21日
    3800
  • 公司网站开发建设怎么做?企业官网搭建需要多少钱

    在数字化转型的浪潮中,服务器作为网站运行的核心基础设施,其性能稳定性直接决定了用户体验与业务转化率,对于【公司网站开发建设】而言,选择一款高性价比、高可用性的服务器产品,不仅是技术架构的基石,更是降低运维成本、提升品牌信任度的关键策略,本次测评将深入剖析主流云服务器的核心指标,并结合2026年最新的市场优惠政策……

    2026年6月23日
    2100
  • life域名属于哪个国家?,life域名适合什么网站使用

    life域名不属于任何国家,它是由美国Donuts注册局运营的通用顶级域名(gTLD),与.cn、.jp这类国家域名有本质区别,适合个人品牌、生活方式、健康、兴趣社区等以“生活”为主题的网站,很多人第一次看到.life后缀,会下意识问“这是卢森堡还是利比亚的域名?”其实它和.love、.club一样,属于开放注……

    2026年8月31日
    100
  • FTP服务器为什么不安全?,如何确保FTP安全

    传统 FTP 协议以明文传输数据和口令,缺乏任何加密保护,中间人攻击、窃听、篡改风险极高,许多企业仍在使用 FTP 服务器进行关键文件交换,却不知隐患早已埋下,本文对当前主流安全替代方案——基于 SFTP/FTPS 协议的安全文件传输服务器展开全面测评,并附上 2026 年度限时优惠活动,帮助您彻底告别不安全的……

    2026年7月16日
    1400
  • 免费接口开发怎么选?免费API接口平台推荐

    免费接口开发的核心价值在于以零成本构建高可用的数据交互通道,其成功关键取决于架构设计的合理性、安全策略的完备性以及限流熔断机制的有效性,对于开发者而言,通过合理利用开源生态与云服务免费额度,完全能够搭建出支撑中小型项目运行的API服务,无需承担高昂的商业接口费用,这一过程不仅是技术实现的演练,更是对系统架构思维……

    2026年3月4日
    12500

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注