前言

优先看上一篇:【纯净的windows官方WinPE制作】

一般个人PC可自制启动盘启动PE做维护或者安装系统。这一篇主要针对批量部署、维护场景。

几种通过PXE启动的server工具(主要针对windows网络启动场景)

1、AOMEI PXE Boot Tool

官网:https://www.ubackup.com/pxetool.html

2、Serva

官网:https://vercot.com/~serva/default.html

3、hanewinshcp

官网:https://www.hanewin.net/dhcp-e.htm

4、WDS(Windows Deployment Services,windows部署服务)

官网:https://docs.microsoft.com/en-us/windows/win32/wds/windows-deployment-services-portal

5、Tiny PXE Server

官网:http://reboot.pro/files/file/303-tiny-pxe-server/

PXE Server部署

在实现PXE启动之前需要部署对应的服务。因环境限制,这里Server的环境使用CentOS6.3。

1、dhcp:yum install dhcp -y配置dhcp:vim /etc/dhcp/dhcpd.conf

# DHCP Server Configuration file.
#   see /usr/share/doc/dhcp*/dhcpd.conf.sample
#   see 'man 5 dhcpd.conf'authoritative;
ddns-update-style interim;
allow booting;
allow bootp;
ignore client-updates;
set vendorclass = option vendor-class-identifier;
default-lease-time 180;subnet xxxx netmask 255.255.255.0 {     //声明一个网段
}subnet xxxx netmask 255.255.255.0
{option routers             xxxx;    //网关option subnet-mask         255.255.255.0;    //子网range dynamic-bootp        xxxx xxxx;    //声明提供的IP地址范围filename "/pxelinux.0";    //pxe专用启动引导文件,在tftp的根目录next-server xxx;    //TFTP服务器地址,因都在一台机器部署,这里填本机
}

启动服务:/etc/init.d/dhcpd start

2、tftp-server:yum install tftp-server -y,默认安装根目录:/var/lib/tftpboot

3、守护进程xinetd:yum install xinetd -y,主要是管理tftp-server

配置xineted:vim /etc/xinetd.d/tftp

# default: off
# description: The tftp server serves files using the trivial file transfer \
#   protocol.  The tftp protocol is often used to boot diskless \
#   workstations, download configuration files to network-aware printers, \
#   and to start the installation process for some operating systems.
service tftp
{socket_type     = dgramprotocol        = udpwait            = yesuser            = rootserver          = /usr/sbin/in.tftpdserver_args     = -s /var/lib/tftpboot -m /var/lib/tftpboot/tftpd.remap -vvv --blocksize 1024disable         = noper_source      = 11cps         = 100 2
}/var/lib/tftpboot/tftpd.remap内容:gr \\ /

启动xineted:/etc/init.d/xinetd start

4、因其他场景需要,安装nginx:yum install nginx -y

配置nginx:/etc/nginx/conf.d/default.conf,监听ipv6参数加:listen [::]:80 ipv6only=on。

server {listen       80 default_server;listen [::]:80 ipv6only=on;server_name  _;access_log  /var/log/nginx/hybird.access.log  main;location /upload {root /data/www;autoindex on;dav_methods PUT DELETE MKCOL COPY MOVE;create_full_put_path on;dav_access group:rw all:r;}location / {root   /data/www;}
}

PXE网络启动WinPE(熟悉PXE原理)

1、从上一篇得到WinPE的iso文件:WinPE_amd64,这里我们用UltraISO(软碟通)提取解压后找到boot.wim:C:\WinPE_amd64\sources\boot.wim

2、这里推荐打包和编辑wim镜像的工具Dism++:https://www.chuyu.me/zh-Hans/

点击文件,挂载映像,点击打开会话,就可以自定义wim映像。

在挂载目录找到启动文件:C:\Users\Administrator\Desktop\mount_wim\Windows\Boot\PXE

3、在WinPE目录找到winpe.wim、BCD、boot.sdi

C:\Users\Administrator\Desktop\install_tools\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\en-us\winpe.wim

C:\Users\Administrator\Desktop\install_tools\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\Boot\BCD

C:\Users\Administrator\Desktop\install_tools\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\Media\Boot\boot.sdi

4、以上几个文件都放到PXE Server的tftp目录。

5、 启动文件

linux的启动文件是yum install syslinux后,syslinux复制的pxelinux.0:cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot

这里windows的pxe启动文件就是:pxeboot.n12。这里重命名并放到:/var/lib/tftpboot/Boot/startrom.0

bootmgr.exe放到/var/lib/tftpboot

6、配置文件生成

/var/lib/tftpboot/pxelinux.cfg是配置文件目录。配置文件可以代码生成或者是自定义。根据pxe找配置文件顺序规则(自定pxe官网寻找),这里命名为01-xxx(pxe会找对应的mac地址命名)。

windows的模板:

default 1
prompt 1
label 1
timeout 10
kernel Boot/startrom.0
append -

7、上述配置结束后启动流程

pxelinux.cfg/01-xxx—> /var/lib/tftpboot/Boot/startrom.0 —> /var/lib/tftpboot/bootmgr.exe —> / var/lib/tftpboot/Boot/BCD —> /var/lib/tftpboot/Boot/boot.sdi —> /var/lib/tftpboot/Boot/WinPE.wim —> winload.exe 执⾏PE2.0 的启动。

8、服务器从pxe启动即可。

不同文件的作用

startrom.0:也可以是pxeboot.0,实际是由pxeboot.com或者pxeboot.n12改名而来,这个文件对应WinXPPE中的startrom.n12文件(这里命名startrom.0沿用了xp的思想不推荐,可自定义)。这个文件主要作用是加载TFTP根目录下的bootmgr.exe文件。

bootmgr.exe:它也必须放到TFTP服务器的根目录下(与WinXPPE中的setupldr.exe对应)。它的作用主要是读取启动配置文件也就是BCD,根据BCD的配置进一步加载boot.sdi文件。

BCD:这是bootmgr的启动菜单配置文件,和windows启动菜单配置文件没有什么区别(它主要对应NT的boot.ini文件),由系统自带程序bcdedit.exe来进行配置和修改(PXE引导WinPE就用PE的bcdedit.exe)。

boot.sdi:boot.sdi是启动WIM必须的文件,没有会无法启动WIM文件。必须放到TFTP服务器/Boot目录下。可以“看做"空的ntfs镜像,虚拟X盘符的硬盘,WIM内核挂载到它上面。SDI格式相当于IMG格式,只是SDI格式在IMG文件前加了一个文件头。

WinPE.wim:这就是WinPE的主映像文件了,也要放到/Boot目录下。

应用场景

可以自定义PE和启动脚本,实现大批量的PXE启动WinPE进行系统安装和系统维护。

比如批量安装目标OS,基本思路是自定义PE里面的工具、自启动脚本,PXE启动PE后执行自脚本拉取windows系统的启动分区gho文件和系统分区的gho文件,使用ghost.exe进行ghost还原做大批量windows部署安装。详细参考ghost命令详解:http://www.upanok.com/jiaocheng/83.html

Ghost32.exe -clone,mode=pload,src=w:\boot.gho:1,dst=c:\:1 -fx -sure

Ghost32.exe -clone,mode=pload,src=w:\sys.gho:1,dst=c\:2 -fx -sure

个人目前有这些场景的实践经验,后面有机会再写一篇。

winPE的PXE引导,大批量维护和安装系统相关推荐

  1. Thinkpad X240修改bios引导,U盘安装系统

    Thinkpad X240修改bios引导,U盘安装系统 下载U盘启动制作工具 http://www.udashi.com/download/ (300多MB) 用一个干净的U盘,把下载的U盘制作工具 ...

  2. 基于pxe+dhcp+ks实现自动安装系统

    一.准备工作 1.添加一个网卡 2 .给这个新网卡配置IP 192.168.100.85/24 3. 修改新网卡的网络连接方式为vmnet3 [root@localhost ~]# mount /de ...

  3. star-cd linux安装,linux 使用PXE方式,kickstar网络安装系统

    软件需求:(可使用yum方式安装) 0.DHCP服务 1.xinet 2.kickstar包 3.tftp 4.vsftpd 5.启动文件.系统内核文件.系统镜像 [root@test ~]# cd ...

  4. 晨枫U盘维护工具的ISOLINUX模式可加载磁盘映像的探索及USB-ROM引导后安装系统的相关问题

    哎呀,标题似乎写的好乱,以后心情静下来在整理吧.乱七八糟的.~~~ --大头爸爸2010-12-9注 怎么说呢,为了突出这篇文章目的,废话少说,直接将今天一天的调试情况记录一下. 我的目的就是在&qu ...

  5. 通过PXE服务器批量安装系统

    通过PXE服务器批量安装系统 一.环境介绍 1.PXE服务器版本 2.挂载光盘 3.配置yum仓库 二.部署DHCP服务器 1.安装相关软件包 2.编辑DHCP配置文件 3.重启dhcp服务 4.放行 ...

  6. 计算机要学安装系统吗,新手学电脑系统安装,新手电脑系统安装的几种方法

    电脑系统怎么安装,对于新手来说有点迷茫,毕竟刚接触电脑系统,电脑系统安装的方法有很多,目前市面上电脑系统安装方法有光盘安装法.U盘安装法.硬盘安装法.一键重装安装法,那么新手电脑系统安装有几种方法呢? ...

  7. vasp能装在window系统里吗_Window安装系统详解

    Windows安装方式大致分为两种, 第一种是使用Microsoft提供的安装工具(其实也是一种维护系统,不过只可以用于安装) 第二种PE下安装(PE也是维护系统,不过PE专注的维护,安装系统只是其中 ...

  8. cobbler自动化安装系统及配置

    一.cobbler的作用及运行机制 1.cobbler的功能 Cobbler通过PXE的方式来快速安装系统,可以管理DHCP,DNS,TFTP.RSYNC以及yum仓库.构造系统ISO镜像.Cobbl ...

  9. 电脑店U盘pe引导iso镜像,双系统多系统必备

    电脑店U盘pe:官网链接 解压缩后,双击DianNaoDian.exe运行 插入u盘选择设备中选择U盘      注意备份U盘数据下面的全新制作会格式话U盘 然后等待制作完成即可 制作完成后 开机进b ...

最新文章

  1. 北大教授杨超、清华教授唐杰获首届“王选杰出青年学者奖”
  2. 汉芯一号、木兰语言再到天赐 OS,国产基础软件十年泣血,梦想何圆?
  3. 交换网络安全防范系列五之802.1x-基于端口的网络访问控制技术
  4. 人脸识别技术大总结——Face Detection Alignment
  5. 文件管理服务器数据库,会博通系统的海量数据库管理策略
  6. MySQL性能优化点记录
  7. jxl简析[ http://www.emlog.net/fei ]
  8. 地表地形对地下温度及地表热流的影响
  9. 输入一个正整数n,计算s=1-1/3+1/5-1/7…前n项之和
  10. 交互式编程之Golang基本配置(Jupyter-notebooks Golang)
  11. 距离之和最小 V3 51Nod - 1110(带权中位数或者爆搜)
  12. 广州橙优设计:学习UI需要那些?UI设计必须会的软件
  13. 电子计算机X线体层摄影,电子计算机X线体层摄影检查诊断乳腺肿块的价值
  14. 峰值信噪比公式_图像峰值信噪比的计算
  15. 记录:seekbar进度条宽度和滑块高度一致问题
  16. android反编译去壳,安卓apk查壳工具,逆向反编译必备
  17. GitLab 搭建 群组Runner
  18. 直线导轨防尘处理方案有哪些?
  19. C#简单开发的按键辅助
  20. 阿里百川4.0授权后,渠道页面授权免帐密实现方法

热门文章

  1. 小刀娱乐网:dedecms 会员中心调用会员最后登录时间 和上次登录ip
  2. 适用于自助设备的rk3568安卓主板配置详解
  3. 2003加入域提示“用户已存在”
  4. c++日期类(Date类)
  5. MATLAB MAT文件
  6. 提升g++的编译速度的第一选择:ccache
  7. 想成为单片机高手?这3步是必经之路
  8. SHT11的C语言,用SHT11 构成的温湿度监测系统
  9. java 匿名内部类存储泛型参数,即类型参数
  10. lenet 5 代码 matlab,LeNet5的一个MATLAB实现的代码解析(4)