虚拟机怎么开启并配置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.kpxe或pxelinux.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用于上网安装软件包,一张仅主机用于和客户端通信,装好dnsmasq和tftpd-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-server和filename是否配置,并确认防火墙允许UDP 67/68/69端口。

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

UEFI模式下,PXE引导文件必须是EFI格式的,例如bootx64.efi或shim.efi。 如果DHCP的filename字段给的是pxelinux.0,UEFI固件会直接拒绝加载,需要把TFTP服务端的引导文件改成ipxe.efi或grubx64.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

相关推荐

  • 分布式数据库怎么选型,函数选型有哪些注意事项?

    在分布式数据库选型过程中,函数选型是决定业务平滑迁移和长期运维效率的核心环节,提前评估目标库的SQL函数兼容性可以避免后期大量应用改造,分布式数据库选型场景:函数需求决定技术路线不同业务场景对数据库函数的需求差异很大,选型时如果不先梳理清楚自己的函数清单,很容易在迁移后遇到功能缺失或性能瓶颈,OLTP场景:聚合……

    2026年8月12日
    1000
  • 小米手机开发者选项怎么打开?2026最新开启教程

    要开启小米手机(MIUI系统)的开发者选项,最核心的操作是:连续点击“MIUI版本号”7次,这个操作会激活隐藏的开发者菜单,为你解锁一系列高级设置和调试功能,开启开发者选项的详细步骤进入“设置”应用: 在你的小米手机主屏幕或应用抽屉中找到齿轮图标的“设置”应用并打开,找到“我的设备”: 在设置菜单顶部,通常会看……

    程序开发 2026年2月11日
    22600
  • 德国AkileCloudVPS测评,实测体验与数据对比,德国VPS推荐,德国VPS租用

    德国AkileCloud VPS测评:实测体验与数据对比在云计算市场竞争日益激烈的当下,选择一款稳定、高速且性价比高的VPS(虚拟专用服务器)至关重要,AkileCloud作为近年来在德语区乃至欧洲市场崭露头角的服务商,凭借其位于德国法兰克福的核心节点和极具竞争力的定价策略,吸引了大量开发者、跨境电商从业者以及……

    2026年5月25日
    7300
  • 虚拟机底层协议有哪些,不同场景怎么选型优化?

    虚拟机底层协议不是单一协议,而是CPU虚拟化指令、内存映射(EPT/NPT)、I/O半虚拟化(virtio)、设备直通(VFIO/SR-IOV)等一组协议的集合;选型优化要按计算、网络、存储场景分别侧重直通、半虚拟化或全虚拟化,虚拟机底层协议有哪些?先分清半虚拟化和全虚拟化区别虚拟机底层协议按资源类型切成三块……

    2026年9月10日
    1100
  • 公司数据中台技术文档是什么?数据中台建设方案

    在数字化转型的深水区,数据中台已不再仅仅是技术的堆砌,而是企业核心竞争力的载体,构建一个高可用、低延迟、易扩展的数据中台,底层服务器的选型与性能表现直接决定了上层业务应用的稳定性与响应速度,本文基于真实的压力测试环境,对主流云服务器在数据中台典型场景下的表现进行深度测评,旨在为技术决策者提供客观、详实的数据支撑……

    2026年6月24日
    1800
  • SSL证书绿锁红锁有何区别?网站ssl证书怎么选择

    SSL证书绿色锁红色锁区别在数字化时代,网站的安全标识——浏览器地址栏左侧的锁形图标,已成为用户判断网站可信度的第一视觉标准,许多站长和运维人员常困惑于“绿色锁”与“红色锁”背后的技术差异及其对业务的影响,这不仅是显示颜色的不同,更代表了SSL/TLS证书类型、验证级别以及加密强度的根本区别,本文将基于实际部署……

    2026年7月11日
    17300
  • 保存列表控件数据出错怎么办?如何持久化存储列表数据

    关于保存列表控件数据的问题在构建高并发、数据密集型的Web应用时,前端列表控件(List Control)的数据持久化与后端服务器的交互效率,往往是决定用户体验与系统稳定性的关键瓶颈,许多开发者在初期选型时,往往忽视了服务器架构对“列表数据保存”这一具体场景的性能影响,导致在数据量激增时出现接口响应延迟、内存溢……

    2026年6月2日
    3900
  • 教育智能时代如何共同探索?教育智能化发展趋势

    共同探索教育智能时代在人工智能重塑教育生态的今天,算力已成为驱动个性化学习、智能批改、虚拟实验室及大规模并发在线课堂的核心引擎,对于教育机构、SaaS服务商及高校而言,选择一套稳定、高效且具备成本优势的服务器架构,不仅是技术选型的问题,更是决定用户体验与业务扩展上限的关键战略决策,本文将基于真实的高负载测试场景……

    2026年6月19日
    2500
  • Vultr法国套餐怎么选?VPS服务器租用多少钱

    Vultr法国套餐推荐在欧洲云计算市场中,Vultr凭借其全球分布的节点和灵活的计费模式占据了重要地位,对于需要低延迟访问欧洲大陆用户、部署跨境电商站点或进行欧洲区游戏服搭建的技术人员而言,Vultr的法国节点(Paris)是一个极具性价比的选择,本文将深入剖析Vultr法国服务器的性能表现、套餐优势及2026……

    2026年7月6日
    14300
  • iOS开发屏幕适配怎么做?iPhone刘海屏适配方案有哪些?

    实现iOS界面在不同设备上的完美呈现,核心在于构建一套基于相对布局的响应式UI体系,这套体系以Auto Layout为基石,辅以Size Classes进行多维度适配,并结合动态字体与矢量资源管理,从而彻底摆脱对具体屏幕尺寸的依赖,开发者应优先考虑约束的优先级管理与组件的弹性,而非硬编码坐标,这是解决多设备碎片……

    2026年2月25日
    17500

发表回复

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