一、  环境说明:

客户端: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. HTML初学者小知识

    引用js <script src="链接/js代码位置" type="text/javascript"></script> 引用css ...

  2. Java开发学习(二十八)----拦截器(Interceptor)详细解析

    一.拦截器概念 讲解拦截器的概念之前,我们先看一张图: (1)浏览器发送一个请求会先到Tomcat的web服务器 (2)Tomcat服务器接收到请求以后,会去判断请求的是静态资源还是动态资源 (3)如 ...

  3. IDEA整合Docker

    创建项目 1.使用 IDEA 构建一个 SpringBoot 项目 2.编写一个helloController @RestController public class HelloController ...

  4. KingbaseES中的参数查看与修改

    KingbaseES数据库的配置参数都在kingbase.conf文件中,这些参数有些是直接修改就可以生效,有些需要重启数据库才能生效,而有些根本就不能修改.数据库把这些参数分为以下几类: inter ...

  5. 【读书笔记】C#高级编程 第二十五章 事务处理

    (一)简介 事务的主要特征是,任务要么全部完成,要么都不完成. (二)概述 事务由事务管理器来管理和协调.每个影响事务结果的资源都由一个资源管理器来管理.事务管理器与资源管理器通信,以定义事务的结果. ...

  6. B树-查找

    B树系列文章 1. B树-介绍 2. B树-查找 3. B树-插入 4. B树-删除 查找 假设有一棵3阶B树,如下图所示. 下面说明在该B树中查找52的过程 首先,从根结点出发,根结点有两个键40和 ...

  7. RabbitMQ之消息模式简单易懂,超详细分享~~~

    前言 上一篇对RabbitMQ的流程和相关的理论进行初步的概述,如果小伙伴之前对消息队列不是很了解,那么在看理论时会有些困惑,这里以消息模式为切入点,结合理论细节和代码实践的方式一起来学习. 正文 常 ...

  8. 阿里云服务器如何使用phpmailer发送邮件

    原因是因为阿里云把25端口给禁用了,所以,普通方式发送不了,解决办法就是在阿里云安全组中把465端口打开,然后再才能发送邮件.亲测成功,贴出引用代码 function emailTo($user,$c ...

  9. 记一次TIME_WAIT网络故障

    文章转载自:https://blog.51cto.com/dngood/988968

  10. 初试 Ceph 存储之块设备、文件系统、对象存储

    转载自:https://cloud.tencent.com/developer/article/1010543 1.Ceph 存储介绍 Ceph 是一个开源的分布式存储系统,包括对象存储.块设备.文件 ...