一、  环境说明:

客户端:CPU:双核 内存:4GB 内存 80GB   ip地址:DHCP

服务端1:CPU:双核 内存:1GB 内存 20GB   ip地址:192.168.40.254     设备标识:Centos7 X64

服务端2:CPU:四核 内存:8GB 内存 120GB   ip地址:172.16.20.200     设备标识:Windows7 X64

网络端:CPU:四核 内存:4GB 内存 80GB   ip地址:192.168.40.1       设备标识:软路由

二、  安装步骤

准备WinPE镜像

服务端2在网站上自行下载Windows Automated Installation Kit工具

下载链接:https://www.microsoft.com/en-us/download/details.aspx?id=5753

安装这个工具之前需要注意:启用windows7 X64--Windows功能—启用或关闭Windows功能---勾选”.NET Framerwork 3.5(包含2.0和3.0)”—点击确定

用bandzip解压缩工具解压出来ISO压缩包,然后执行StartCD.exe,并如下图所示安装软件:

之后就是一直next----next-----done的节奏

键盘win键调出开始菜单,然后以管理员执行如下程序,并且执行以下命令

copype amd64 C:\winPE_amd64

copy "C:\Program Files\Windows AIK\Tools\PETools\amd64\winpe.wim" C:\winpe_amd64\ISO\Sources\Boot.wim

copy "C:\Program Files\Windows AIK\Tools\amd64\Imagex.exe" C:\winpe_amd64\ISO\

oscdimg -n -bC:\winpe_amd64\etfsboot.com C:\winpe_amd64\ISO C:\winpe_amd64\winpe_amd64.iso

制作完成后,将做好的镜像文件保存,备用:镜像文件存储位置----C:\winpe_amd64\winpe_amd64.iso

准备Windows7原版镜像

https://msdn.itellyou.cn/  下载你喜欢的windows7系统即可,然后备用:cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso

务端1搭建前环境优化

关于镜像上传服务器:

下载rz、sz工具并且配合Xshell或者SecureCRT软件进行文件上传下载功能:

rz、sz工具下载:yum –y install lrzsz

使用rz命令进行上传客户端操作

[root@localhost ~]# cd /

[root@localhost /]# ls

bin   dev  home  lib    media  opt   root  sbin  sys  usr

boot  etc  lib64  mnt    proc  run   srv   tmp  var

[root@localhost /]# mkdir /windows

[root@localhost /]# mkdir /iso

[root@localhost /]# cd /iso

[root@localhost iso]# rz

开始 zmodem 传输。  按 Ctrl+C 取消

[root@localhost iso]# ls

cn_windows_7_ultimate_with_sp1_x64_dvd_u_677408.iso

挂在镜像:

[root@localhost iso]# mount -o loop /iso/cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso  /mnt/

挂载的文件全部复制到共享目录 /windows:

[root@localhost / ]# cp -rf /mnt/* /windows/

[root@localhost / ]# cd /windows

[root@localhost windows]# ls

autorun.inf  bootmgr      efi        sources  upgrade

boot         bootmgr.efi  setup.exe  support

关于PXE服务器环境优化:

临时关闭SELinux并且关闭防火墙

[root@localhost windows]# systemctl stop firewalld
[root@localhost windows]# setenforce 0
 
  1. 服务端1搭建dhcp服务器

下载dhcp

[root@localhost windows]# yum –y install dhcp

设置dhcp服务器

[root@localhost windows]# vim /etc/dhcp/dhcpd.conf

设置:

#

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.example

#   see dhcpd.conf(5) man page

#

subnet 192.168.40.0 netmask 255.255.255.0 {

range dynamic-bootp 192.168.40.200 192.168.40.250;

option broadcast-address 192.168.40.255;

option routers 192.168.40.1;

option subnet-mask 255.255.255.0;

next-server 192.168.40.254;

filename "pxelinux.0";

}

从上而下解释:

设置dhcp服务器网段和子网掩码,再设置ip地址动态范围,设置广播地址,设置路由地址,设置子网掩码,设置tftp服务器地址,最后设置下bootlocader文件名

启动dhcp服务并纳入开机自启

[root@localhost windows]# systemctl enable dhcp && systemctl start dhcp

  1. 服务端1搭建tftp服务器

下载tftp

[root@localhost windows]# yum –y install tftp

设置tftp服务器(简单文本传输)

[root@localhost windows]# 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             = dgram

protocol                = udp

wait                    = yes

user                    = root

server                  = /usr/sbin/in.tftpd

server_args             = -s /var/lib/tftpboot

disable                 = yes

per_source              = 11

cps                     = 100 2

flags                   = IPv4

}

将disable=yes改为disable=no 意思是启用tftp

启动tftp服务并纳入开机自启

[root@localhost windows]# systemctl enable xinetd && systemctl start xinetd

查询tftp状态:

[root@localhost windows]# netstat -a| grep tftp
udp6       0      0 [::]:tftp               [::]:*
          [::]:*
  1. 服务端1安装syslinux服务(pxe)

安装

[root@localhost windows]# yum -y install syslinux

将pxelinux0、memdisk、menu.c32复制到tftp默认共享目录

[root@localhost windows]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/
[root@localhost windows]# cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
[root@localhost windows]# cp /usr/share/syslinux/memdisk /var/lib/tftpboot/

创建默认的pxe启动配置菜单,winpe_amd64.iso是windows7_x64的pe镜像

[root@localhost windows]# mkdir /var/lib/tftpboot/pxelinux.cfg
[root@localhost windows]# vim /var/lib/tftpboot/pxelinux.cfg/default
UI menu.c32
label 1
menu label ^1) Install Windows 7 x64
KERNEL memdisk
INITRD winpe_amd64.iso
APPEND iso raw

将WinPE镜像上传到PXE服务器上

[root@localhost windows]# cd /var/lib/tftpboot
[root@localhost tftpboot]# rz
[root@localhost tftpboot]# ls
memdisk  menu.c32  pxelinux.0  pxelinux.cfg  winpe_amd64.iso
[root@localhost tftpboot]# cd /windows
  1. 服务端1安装samba服务

安装

[root@localhost windows]# yum -y install samba
[root@localhost windows]# vim /etc/samba/smb.conf
[global]
workgroup = PXESERVER
server string = Samba Server Version %v
log file = /var/log/samba/log.%m
max log size = 50
idmap config * : backend = tdb
cups options = raw
netbios name = pxe
map to guest = bad user
dns proxy = no
public = yes
## For multiple installations the same time - not lock kernel
kernel oplocks = no
nt acl support = no
security = user
guest account = nobody
[install]
comment = Windows 7 Image
path = /windows
read only = no
browseable = yes
public = yes
printable = no
guest ok = yes
oplocks = no
level2 oplocks = no
locking = no
验证配置文件并且启动服务

[root@localhost windows]# testparm

[root@localhost windows]# systemctl start smb && systemctl enable start

在服务端2查看服务状态:

开始安装

  1. 启动需要安装系统的电脑,delete进入bios设置,打开pxe网络引导,并设置优先启动顺序,F10保存并重启
  2. 系统重启后进入网络引导,向局域网发送获取广播,寻找dhcp服务器,并获取分配的ip,跳转到tftp服务器,开始pxe引导
  3. 之后一直到安装界面,选择 “Install Windows 7 x64”,加载内核及winpe镜像

进入winpe命令行,挂载smb共享,并开始安装windows7系统

命令备注:

net use z: \\192.168.40.254\install

setup.exe

发现已经可以进行手动安装了。

PXE批量装windows(半自动版本)的更多相关文章

  1. 批量自动更新SVN版本库 - Windows

    开发过程中每天都要从SVN代码库里一个一个的update各个项目代码,不仅效率实在是低,也不符合程序员的"懒"精神,由于是在Windows环境做开发,自然就想到了使用bat来实现自 ...

  2. Windows 10 版本 1507 中的新 AppLocker 功能

    要查看 Windows 10 版本信息,使用[运行]> dxdiag  回车 下表包含 Windows 10 的初始版本(版本 1507)中包括的一些新的和更新的功能以及对版本 1511 的 W ...

  3. Ansible 批量管理Windows Server服务器

    Ansible批量管理Windows Server         Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具,  它用Python写成,类似于saltstack和Puppe ...

  4. Mac OS安装Windows各版本时注意事项(2014年后的Mac机相信会有这些问题)

    2014年后的Mac Mini安装Windows时候,会遇上更种坑,我这几天不断失败及尝试更种版本,各有心得体会,我写下来是为了避免大家遇到像我这种问题. (2014年之前的Mac Mini是否这样, ...

  5. 为什么MacBook装Windows这么火?

    Mac到底要不要装Windows?一直以来这都是个很有争议性的话题.只要你经常浏览国内一些知名Mac论坛,就会发现那里不仅有各种Mac装Windows教学贴.讨论区,而且时不时还会冒出关于“Mac装不 ...

  6. ubuntu14.04 desktop 32-bit kvm装windows xp

    经过这几天来的折腾,总算是在ubuntu14.04用kvm装上了xp, 看不少的的贴,也绕了不少的圈,总的来说,非常感谢CSDN上的"上善若水75",看着他写的一个分类" ...

  7. zlib开发笔记(四):zlib库介绍、编译windows vs2015x64版本和工程模板

    前言   Qt使用一些压缩解压功能,介绍过libzip库编译,本篇说明zlib库.需要用到zlib的msvc2015x64版本,编译一下.   版本编译引导 zlib在windows上的mingw32 ...

  8. U盘启动盘的制作--用U盘硬装Windows系统、或是重装Windows系统

    借助IT天空的优启通U盘启动盘的制作--用U盘装Windows系统.或是重装Windows系统之U盘启动盘的制作 1.==================================== 2.== ...

  9. 20160303 - 升级 Windows 10 版本 1511 后,文件夹默认打开方式为 cmd 的修复

    问题描述:升级 Windows 10 版本 1511 (OS 内部版本 10586.122)后,文件夹的默认打开方式变成了cmd.双击任何一个文件夹,显示相关的提示错误信息如下: [Window Ti ...

随机推荐

  1. 全链路追踪体验—最简陋TraceId的生成

    对于后端开发来说,排查问题是常有的事情.而排查问题时最常用的就是看日志,看一次调用中经过了哪些系统,是那个系统出问题了.这就需要业务日志中关联调用链的TraceId信息,从而在应用出现问题时,能够通过 ...

  2. Halcon C#开发OpenFramegrabber卡死问题

    之前用Halcon12开发的时候,Hdevelop打开相机正常,但是用C#开发的时候,就出现了问题. 1.换库,甚至将x64中dll全部拷贝到debug中,始终不行 2.看到有说卸载360的,更是离谱 ...

  3. 硬核解析MySQL的MVCC实现原理,面试官看了都直呼内行

    1. 什么是MVCC MVCC全称是Multi-Version Concurrency Control(多版本并发控制),是一种并发控制的方法,通过维护一个数据的多个版本,减少读写操作的冲突. 如果没 ...

  4. Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2、PGP下载安装与密钥生成发布

    文章目录: Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):1.JIRA账号注册 Taurus.MVC-Java 版本打包上传到Maven中央仓库(详细过程):2.PGP ...

  5. 【面试题】JS使用parseInt()、正则截取字符串中数字

    JS使用parseInt()和正则截取字符串中数字 点击打开视频讲解更加详细 parseInt() 函数 定义和用法 parseInt() 函数可解析一个字符串,并返回一个整数. 当参数 radix ...

  6. kafka的auto.offset.reset详解与测试

    1. 取值及定义 auto.offset.reset有以下三个可选值: latest (默认) earliest none 三者均有共同定义: 对于同一个消费者组,若已有提交的offset,则从提交的 ...

  7. Python数据科学手册-Pandas:层级索引

    一维数据 和 二维数据 分别使用Series 和 DataFrame 对象存储. 多维数据:数据索引 超过一俩个 键. Pandas提供了Panel 和 Panel4D对象 解决三维数据和四维数据. ...

  8. 【学习笔记】GBDT算法和XGBoost

    前言 这一篇内容我学了足足有五个小时,不仅仅是因为内容难以理解, 更是因为前面CART和提升树的概念和算法本质没有深刻理解,基本功不够就总是导致自己的理解会相互在脑子里打架,现在再回过头来,打算好好总 ...

  9. 将 Docker Engine 节点从 dockershim 迁移到 cri-dockerd

    官网地址:https://kubernetes.io/zh-cn/docs/tasks/administer-cluster/migrating-from-dockershim/migrate-doc ...

  10. 转载---Beats:如何使用Filebeat将MySQL日志发送到Elasticsearch

    在今天的文章中,我们来详细地描述如果使用Filebeat把MySQL的日志信息传输到Elasticsearch中.为了说明问题的方便,我们的测试系统的配置是这样的: 我有一台MacOS机器.在上面我安 ...