系统远程安装

一、现有如下需求:

1.分行有20台左右瘦客户机,一台文员机;

2.在总部可以通过控制台(控制软件)统一管理控制这20台瘦客户机,文员机可以通过远程桌面控制

3.现需要统一给分行这20台瘦客户机升级系统

二、解决思路

1.将新系统(Ghost文件)先发送到分行文员机(通过FTP)。

2.20台瘦客户机通过控制台下发批处理,批处理动作:先从瘦客户机压缩出一个8G左右的盘,用于放新系统Ghost文件;再在瘦客户机

创建一个WinPE启动项,系统重启后进入WinPE,自动调用Ghost64应用程序执行系统Ghost;

三、实施

第一步:文员机搭建FTP(这步简单,系统自带FTP或下载一个FTP软件都可以),设置FTP用户名,密码分别为test,test1;

新系统Ghost文件放在FTP根目录的SystemISO文件夹下,命名为sys.gho。

第二步:瘦客户机压缩8G盘脚本

:diskpart
rem 1.将硬盘改为两个分区,一个系统分区,一个8G的用于放系统的备用分区
rem 2.只对中文系统存在一个硬盘且只有主要,扩展,逻辑这三种分区作过测试
rem 3.处理流程:第一步获取磁盘信息保存到diskpart.txt文本,第二步从文本中筛选出分区信息,删除非第一分区,恢复分区以外的其它分区,再进行扩盘,压缩,新建

::开启windows磁盘管理相关服务
net start defragsvc
::导出磁盘列表放到diskpartLog.txt echo
>diskpart1.script select disk 0 echo>>diskpart1.script list partition echo>>diskpart1.script exit diskpart /s diskpart1.script >diskpartLog.txt ::根据磁盘列表信息,删除非第一分区,恢复分区以外的其他分区(即只保留C盘系统分区) echo>diskpart2.script select disk 0 for /f "tokens=1,2,3,4" %%a in (diskpartLog.txt) do if %%a == 分区 (if not %%d==大小 (if not %%C==恢复 (if %%b gtr 1 (echo>>diskpart2.script select partition=%%b echo>>diskpart2.script delete partition noerr)))) for /f "tokens=1,3" %%a in (diskpartLog.txt) do if %%a == 分区 (if %%b==扩展的 (echo>>diskpart2.script select partition=0 echo>>diskpart2.script delete partition noerr)) ::先整合然后压缩一个8G的D盘 echo>>diskpart2.script select partition=1 echo>>diskpart2.script extend noerr echo>>diskpart2.script shrink desired=8000 noerr echo>>diskpart2.script create partition primary noerr echo>>diskpart2.script format fs=ntfs label="D" quick noerr echo>>diskpart2.script assign letter=d noerr echo>>diskpart2.script Exit diskpart <diskpart2.script >>diskpartLog.txt del /f /q *.script

第三步:制作WinPE.wim系统并添加Ghost.exe应用程序

1)先官网下载Windows ADK及对应的Windows PE加载项(要联网下载,需要点时间),安装完成后,右键以管理员身份运行“部署和镜像工具环境”,输入

”copype amd64 D:\WinPE“ 复制WinPE文件(64位WinPE)到D盘WimPE目录。

2)这里我们主要要用到的是Windows PE启动镜像boot.wim,它位于上一步所获得的WinPE文件夹下,路径为:D:\WinPE\media\sources\boot.wim,接下来是操作

这个PE启动镜像文件boot.wim,主要操作两个,一个是将Ghost64.exe应用程序复制进去,再一个是编辑这个PE的启动脚本(startnet.cmd)让PE启动后自动运行Ghost64.exe程序,执行系统恢复。

先挂载boot.wim:

复制Ghost64.exe应用程序到PE中

编辑PE启动脚本

编辑完startnet.cmd后记得,保存退出。

重新封装启动镜像boot.wim

 boot.wim封装好后,复制一份到文员电脑FTP的根目录下SystemISO文件夹下,并改成Win10PE.wim;

第四步:在现有系统中添加WinPE启动项

bcdedit /create {ramdiskoptions}
bcdedit /set {ramdiskoptions} ramdisksdidevice partition=C:
bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
::以上是在现有系统BCD存储中创建WinPE启动所需的{ramdiskoptions}对象,没有这个启动WinPE会蓝屏
for /f "tokens=2" %%a in ('bcdedit /create /d "Win10PE" /application osloader') do ( bcdedit /set %%a device ramdisk=[C:]\Boot\Win10PE.wim,{ramdiskoptions} bcdedit /set %%a path \windows\system32\winload.exe bcdedit /set %%a osdevice ramdisk=[C:]\Boot\Win10PE.wim,{ramdiskoptions} bcdedit /set %%a systemroot \windows bcdedit /set %%a winpe yes bcdedit /set %%a detecthal yes bcdedit /set %%a inherit {bootloadersettings} bcdedit /set %%a ems yes bcdedit /displayorder %%a /addfirst bcdedit /default %%a bcdedit /timeout 2)

好了,到这里基本都完成了,最后附上全部脚本代码:

@echo off&setlocal enabledelayedexpansion&title AutoInstallSystem

rem:设置开关用于防误操作
if not [%1] == [yes] (goto :eof)

:diskpart
rem 1.将硬盘改为两个分区,一个系统分区,一个8G的用于放系统的备用分区
rem 2.只对中文系统存在一个硬盘且只有主要,扩展,逻辑这三种分区作过测试
rem 3.处理流程:第一步获取磁盘信息保存到diskpart.txt文本,第二步从文本中筛选出分区信息,删除非第一分区,恢复分区以外的其它分区,再进行扩盘,压缩,新建分区;

if not exist c:\autoinstallSys (mkdir c:\autoInstallSys)
cd /d C:\autoInstallSys
net start defragsvc
echo>diskpart1.script select disk 0
echo>>diskpart1.script list partition
echo>>diskpart1.script exit
diskpart /s diskpart1.script >diskpartLog.txt

echo>diskpart2.script select disk 0
for /f "tokens=1,2,3,4" %%a in (diskpartLog.txt) do if %%a == 分区 (if not %%d==大小 (if not %%C==恢复 (if %%b gtr 1 (echo>>diskpart2.script select partition=%%b
echo>>diskpart2.script delete partition noerr))))

for /f "tokens=1,3" %%a in (diskpartLog.txt) do if %%a == 分区 (if %%b==扩展的 (echo>>diskpart2.script select partition=0
echo>>diskpart2.script delete partition noerr))

echo>>diskpart2.script select partition=1
echo>>diskpart2.script extend noerr
echo>>diskpart2.script shrink desired=8000 noerr
echo>>diskpart2.script create partition primary noerr
echo>>diskpart2.script format fs=ntfs label="D" quick noerr
echo>>diskpart2.script assign letter=d noerr
echo>>diskpart2.script Exit
diskpart <diskpart2.script >>diskpartLog.txt
del /f /q *.script

:ftp
rem:1.先D盘创建一个目录用于保存gho文件,WinPE文件,Log文件
rem:2.通过FTP获取文件
if not exist D:\autoInstallSys\sysISO (mkdir D:\autoInstallSys\sysISO)
if not exist D:\autoInstallSys\WinPE (mkdir D:\autoInstallSys\WinPE)
if not exist D:\autoInstallSys\Logs (mkdir D:\autoInstallSys\Logs)
xcopy C:\autoInstallSys\diskpartLog.txt D:\autoInstallSys\Logs /q /y
for /f "tokens=15" %%a in ('ipconfig ^| findstr /i .254') do (
set ip=%%a
echo>ftp.script open !ip:254=10!
::上面这部操作是获取文员电脑的IP地址并打开FTP
echo>>ftp.script test echo>>ftp.script test1 echo>>ftp.script binary echo>>ftp.script cd SystemISO echo>>ftp.script prompt off echo>>ftp.script lcd D:\autoInstallSys\sysISO echo>>ftp.script get sys.gho echo>>ftp.script lcd D:\autoInstallSys\WinPE echo>>ftp.script get Win10PE.wim echo>>ftp.script close echo>>ftp.script bye ftp -s:ftp.script > D:\autoInstallSys\Logs\ftpLog.txt del /f /q *.script) :sysInstall rem:先简单验证文件是否存在 if not exist D:\autoInstallSys\sysISO\sys.gho (Echo Not Find sys.gho! > D:\autoInstallSys\Logs\sysInstallLog.txt&goto :eof) if not exist D:\autoInstallSys\WinPE\Win10PE.wim (Echo Not Find Win10PE.wim! >> D:\autoInstallSys\Logs\sysInstallLog.txt&goto :eof) xcopy D:\autoInstallSys\WinPE\Win10PE.wim C:\Boot /q /y bcdedit /create {ramdiskoptions} bcdedit /set {ramdiskoptions} ramdisksdidevice partition=C: bcdedit /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi for /f "tokens=2" %%a in ('bcdedit /create /d "Win10PE" /application osloader') do ( bcdedit /set %%a device ramdisk=[C:]\Boot\Win10PE.wim,{ramdiskoptions} bcdedit /set %%a path \windows\system32\winload.exe bcdedit /set %%a osdevice ramdisk=[C:]\Boot\Win10PE.wim,{ramdiskoptions} bcdedit /set %%a systemroot \windows bcdedit /set %%a winpe yes bcdedit /set %%a detecthal yes bcdedit /set %%a inherit {bootloadersettings} bcdedit /set %%a ems yes bcdedit /displayorder %%a /addfirst bcdedit /default %%a bcdedit /timeout 2) shutdown /r /f /t 1 goto :eof

附上几个相关链接:

Windows多启动数据配置工具bcdedit命令详解

GHOST使用以及常用命令详解

WinPE:装载和自定义

FTP命令详解(含操作实例)

 

转载于:https://www.cnblogs.com/Mst5u/p/10674982.html

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值