pxe引导安装windows虚拟机

老刘

PXE引导安装Windows虚拟机完整实战指南

在虚拟机实验室或批量部署场景里,反复挂载ISO、手动点击安装界面既费时又容易出错。PXE网络引导能让虚拟机直接从局域网拉取启动文件和安装镜像,实现无人值守或半自动安装Windows。下面从原理讲到落地操作,覆盖新手零基础到进阶优化,全程优先免费工具。

一、PXE是什么,为什么适合虚拟机装Windows

PXE(Preboot Execution Environment)是网卡自带的预启动环境。机器通电后先从网卡获取IP,再通过TFTP下载启动程序(通常是NBP或iPXE),最后挂载网络共享里的WinPE或安装源,完成系统安装。

对虚拟机来说优势很明显:

  • 不需要每台虚拟机都挂ISO,节省存储和操作时间。
  • 一台PXE服务器可同时服务多台虚拟机。
  • 方便做标准化镜像,后期加应答文件还能全自动装机。
  • 虚拟交换机隔离后,不影响物理网络。

适用场景包括VMware Workstation/ESXi、VirtualBox、Hyper-V里的Windows虚拟机批量创建,也适合家用NAS或小型机房快速部署测试环境。

二、环境准备清单(免费为主)

硬件与网络:

  • 一台能稳定运行的物理机或宿主机(Windows 10/11或Linux均可),内存建议8GB以上。
  • 虚拟机软件已安装(以VMware Workstation为例,VirtualBox操作类似)。
  • 局域网互通,建议单独建一个虚拟网络(Host-Only或自定义NAT),避免干扰家里路由器DHCP。

软件工具(全部免费):

  • TinyPXE Server(Windows下一键式,适合新手)或DNSmasq + iPXE(Linux下更灵活)。
  • Windows 10/11官方ISO(从微软官网下载,选企业版或专业版方便后续KMS激活测试)。
  • WinPE制作工具:Windows ADK + Windows PE add-on(微软免费提供)。
  • 可选:7-Zip解压ISO,Rufus或Ventoy备用。

准备目录结构(以Windows宿主机为例):

D:\PXE\
├── TFTP\          # 启动文件放这里
├── Share\         # Windows安装源
│   └── Win11\
└── WinPE\         # 自制启动环境

三、方案一:Windows下用TinyPXE快速搭建(新手首选)

  1. 下载并解压TinyPXE Server到D:\PXE\TinyPXE,无需安装。
  2. 管理员身份运行tftpd32.exe或TinyPXE主程序。
  3. 基本配置:
    • 勾选DHCP Server。
    • IP Pool起始地址设成192.168.100.100,数量50即可(与虚拟网络匹配)。
    • Boot File填pxelinux.0或ipxe.efi(后面会放文件)。
    • TFTP Root指向D:\PXE\TFTP。
  4. 把iPXE的ipxe.efi、undionly.kpxe等启动文件放进TFTP目录(GitHub搜ipxe/ipxe下载预编译版本)。
  5. 制作简易启动菜单:在TFTP下建pxelinux.cfg/default文件,内容示例:
    DEFAULT winpe
    LABEL winpe
    KERNEL ipxe.lkrn
    APPEND dhcp && chain http://192.168.100.1/boot.ipxe
  6. 用ADK制作WinPE:
    • 安装Windows ADK和PE插件。
    • 命令行执行:
      copype amd64 D:\PXE\WinPE
      MakeWinPEMedia /ISO D:\PXE\WinPE D:\PXE\WinPE.iso
    • 把WinPE.iso里的boot.wim、bootmgr等文件复制到TFTP和Share对应位置。
  7. 解压Windows ISO到D:\PXE\Share\Win11,确保有sources\install.wim。
  8. 共享文件夹:右键Share → 属性 → 共享 → 高级共享,勾选共享,权限给Everyone读取。记下路径\192.168.100.1\Share。
  9. 启动TinyPXE,观察日志窗口有DHCP Discover和TFTP请求即表示服务正常。

四、方案二:Linux下用dnsmasq + iPXE(更稳定,进阶推荐)

适合Ubuntu/CentOS宿主机或专门的Linux虚拟机当PXE服务器。

  1. 安装依赖:
    sudo apt update
    sudo apt install dnsmasq tftp-hpa apache2 pxelinux syslinux-common -y
  2. 配置dnsmasq(/etc/dnsmasq.conf):
    interface=eth0
    dhcp-range=192.168.100.50,192.168.100.150,12h
    dhcp-boot=ipxe.efi
    enable-tftp
    tftp-root=/var/lib/tftpboot
  3. 准备启动文件:
    sudo mkdir -p /var/lib/tftpboot
    sudo cp /usr/lib/PXELINUX/pxelinux.0 /var/lib/tftpboot/
    # 下载iPXE并编译或使用预编译ipxe.efi放入目录
  4. 用Apache提供HTTP下载(比TFTP快):
    sudo mkdir /var/www/html/win
    sudo cp -r /path/to/extracted/Win11/* /var/www/html/win/
  5. 写iPXE脚本(/var/www/html/boot.ipxe):
    #!ipxe
    kernel http://192.168.100.1/wimboot
    initrd http://192.168.100.1/boot.wim
    boot
  6. 重启服务:
    sudo systemctl restart dnsmasq apache2
    sudo systemctl enable dnsmasq

Linux方案的好处是资源占用低,可长期挂着当装机服务器,还能加Nginx加速大文件传输。

五、虚拟机端配置PXE启动

以VMware Workstation为例(VirtualBox在系统设置→网络→启用PXE,启动顺序选网络):

  1. 新建虚拟机时先不装系统,选“稍后安装操作系统”。
  2. 虚拟机设置:
    • 内存至少4GB,硬盘50GB以上。
    • 网络适配器:选择“自定义”→ VMnet1(Host-Only),或与PXE服务器同一网段的虚拟网络。
    • 勾选“启动时进入固件”方便调试,或直接改BIOS启动顺序:Network → Hard Disk。
  3. 对于UEFI虚拟机,确保网卡驱动支持,启动文件用ipxe.efi;传统BIOS用undionly.kpxe。
  4. 开启虚拟机,按F12或自动进入网络启动。屏幕应出现DHCP获取IP → TFTP下载 → 进入WinPE桌面。

进入WinPE后打开命令提示符,映射网络驱动器:

net use Z: \\192.168.100.1\Share /user:guest
Z:
cd Win11
setup.exe

按正常流程分区、安装即可。想全自动可提前把autounattend.xml放进Share根目录,setup会自动读取。

六、常见问题与排查顺序

  • 虚拟机拿不到IP:检查虚拟网络是否与PXE服务器同一子网,TinyPXE/dnsmasq的DHCP是否冲突(关掉物理路由器DHCP测试)。
  • TFTP超时:防火墙放行UDP 69端口,TFTP Root路径权限确认Everyone可读。
  • 启动后黑屏或找不到boot.wim:确认架构匹配(x64用amd64的WinPE),文件名大小写在Linux下敏感。
  • 安装过程中网络断开:WinPE里加网卡驱动(用dism注入),或改用HTTP方式代替纯TFTP。
  • 多台虚拟机同时装卡顿:把安装源改到HTTP或SMB,并限制并发数量。
  • UEFI安全启动报错:虚拟机设置里临时关闭Secure Boot。

日志位置:TinyPXE主窗口实时显示;Linux看/var/log/syslog或journalctl -u dnsmasq。

七、进阶优化与避坑建议

  1. 加入应答文件实现全自动:用Windows System Image Manager做autounattend.xml,指定产品密钥、分区、用户名,装完直接进桌面。
  2. 多系统菜单:在iPXE脚本里加chain或menu,同时支持Windows 10/11、WinPE、Linux live。
  3. 性能提升:把install.wim转成install.esd可减小体积;用千兆虚拟交换机;WinPE里启用PowerShell方便脚本化。
  4. 安全注意:PXE服务器只开在隔离虚拟网,生产环境务必加MAC过滤或密码保护共享。
  5. 备份与回滚:装好一台虚拟机后做快照或导出OVF模板,后续克隆比重新PXE更快。
  6. 混合环境:物理机和虚拟机共用同一套PXE服务器时,注意网卡驱动差异,建议准备通用驱动包。

按照以上步骤,一台普通电脑半小时内就能搭好可用的PXE环境,之后创建Windows虚拟机只需点开机,剩下的交给网络。实际操作中先从单台虚拟机验证通,再扩展到批量,能少走很多弯路。

文章版权声明:文章内容均来源于各大短视频平台搜集以及修改和删减新增,如有侵权或者违规,请联系站长进行删除,如需转载或复制请以超链接形式并注明出处。

发表评论

快捷回复: 表情:
AddoilApplauseBadlaughBombCoffeeFabulousFacepalmFecesFrownHeyhaInsidiousKeepFightingNoProbPigHeadShockedSinistersmileSlapSocialSweatTolaughWatermelonWittyWowYeahYellowdog
验证码
评论列表 (暂无评论,1人围观)

还没有评论,来说两句吧...

目录[+]