一、  环境说明:

客户端: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. 1.6_HTML基础属性

    name 属性 name 属性用于指定标签元素的名称. <a> 标签内必须提供 href 或 name 属性. <a name="value"> id 属性 ...

  2. Linux驱动开发十六.input系统——3.系统自带的input驱动

    前面两章我们通过input子系统构建了一个按键类型的输入设备的驱动,其实Linux的内核还提供了一套基于GPIO的按键驱动程序,和LED设备一样,我们只需要在编译内核的过程中进行配置然后在设备树中定义 ...

  3. Postman中的Pre-request Scrip详解

    Postman中的Pre-request Scrip详解 一.Pre-request Scrip的简介 1.Pre-request Script是在请求发送之前需要执行的代码片段: 2.请求参数中包含 ...

  4. Gitea 1.17.1 正式发布 | 08 累积更新

    Gitea 1.17.1 已正式发布.在这个小的版本更新中我们合并了 35 个 PR,没有包含功能性的更改,但我们强烈建议用户升级到此版本以获得重要的修复补丁. 致谢:感谢报告问题的安全研究人员,同时 ...

  5. 放弃 Electron,拥抱 WebView2!JavaScript 快速开发独立 EXE 程序

    Electron 不错,但也不是完美的. Electron 带来了很多优秀的桌面软件,但并不一定总是适合我们的需求. 多个选择总是好事! 我使用 Electron 遇到的一些麻烦 1.Electron ...

  6. Windows 11 新材质 Mica Alt 效果展示

    本文是 WinUI 3 踩坑记 的一部分,该系列发布于 GitHub@Scighost/WinUI3Keng,若内容出现冲突以 GitHub 上的为准. 微软在 2022-09-02 更新了官方文档, ...

  7. CAP 6.2 版本发布通告

    前言 今天,我们很高兴宣布 CAP 发布 6.2 版本正式版,在这个版本中我们主要做了一些功能优化,以及针对目前已经发现的几个 BUG 进行了修复了. 那么,接下来我们具体看一下吧. 总览 可能有些人 ...

  8. Django 之必知必会三板斧

    一.HttpResponse 在django.http 模块中定义了HttpResponse 对象的API,HttpRequest 对象由Django 自动创建,不调用模板,直接返回数据. 1 在 a ...

  9. 彻底掌握Makefile(二)

    彻底掌握Makefile(二) 前言 在前面的文章彻底掌握Makefile(一)当中,我们简要的介绍了一些常见的makefile使用方法,在本篇文章当中我们将继续介绍一些makefile当中的常见用法 ...

  10. 不能获取到镜像,ImagePullBackoff或者Pending

    Pending 应用长时间处于 Pending 状态时,也可以按照这个办法查看镜像的下载进度. 安装 Kubernetes 过程中,或者向 Kubernetes 部署应用的过程中,有可能会碰到 Ima ...