自动部署win7(未完成)
程序员文章站
2024-03-22 16:58:04
...
制作winpe镜像(windows端操作)
下载windows7版本的adk
百度搜索adk
选择windows 7 版本的adk
下载adk
安装adk
解压KB3AIK_EN.iso文件,解压后的文件如图所示
双击StartCD.exe
启动adk命令行
win开始
输入deploy搜索,选择Deployment Tools Command Prompt
定制WINPE ISO
定制Win PE ISO所用命令及相关配置
copype amd64 C:\winpe
imagex /mountrw c:\winpe\winpe.wim 1 c:\winpe\mount
echo ping -n 7 -l 69 192.168.1.199 >> C:\winpe\mount\Windows\System32\startnet.cmd
echo net use z: \\192.168.1.199\share >> C:\winpe\mount\Windows\System32\startnet.cmd
echo Z: >> C:\winpe\mount\Windows\System32\startnet.cmd
#win是包含windows 7 ISO解压文件的父目录
echo cd win >> C:\winpe\mount\Windows\System32\startnet.cmd
echo setup.exe /unattend:Autounattend.xml >> C:\winpe\mount\Windows\System32\startnet.cmd
imagex /unmount c:\winpe\mount /commit
copy c:\winpe\winpe.wim c:\winpe\ISO\sources\boot.wim
#"-bC"中间没有空格
oscdimg -n -bC:\winpe\etfsboot.com c:\winpe\ISO c:\winpe\winpe_cobbler_amd64.iso
解释一下上面的几行命令:
1:使用copype命令创建C:\winpe目录,并在该目录下生成Win PE预安装所需的文件。
2:使用imagex命令挂载c:\winpe\winpe.wim文件到c:\winpe\mount目录下,以便后续进行修改,因为Windows系统的很多核心文件都被打包压缩在这个文件里面,所以我们需要挂载才能读写修改。除了imagex这个工具可以完成修改之外,另一个工具DIMS也能做到,如果你熟悉该工具,则可以使用DIMS来做。
3:echo命令修改挂载后的wim文件,向C:\winpe\mount\Windows\System32\startnet.cmd文件中写入一些脚本命令。其中第5行用于测试脚本有无执行,可以删去。剩下的几行是对samba共享文件的加载并执行,具体会在后续第三步samba文件共享那里详细解释。需要注意的是,这里用到的IP地址是我Cobbler Server服务器的地址,具体请根据你自己的服务器地址进行更改。至于为什么是写入到startnet.cmd文件中,是因为Win PE第一次运行时固定使用 Wpeinit 和 Startnet.cmd 运行启动脚本。但是对于Wpeinit我多次测试却没有成功过,因此选择将命令脚本写入到startnet.cmd文件中(startnet.cmd是Win PE ISO镜像自带的脚本文件)。
一个问题:写入到脚本中的命令用到了Cobber Server端的IP地址,这个IP地址被硬编码到了Win PE ISO镜像中,一个可行的办法是在这里不直接写入具体命令,而是调用另外一个脚本,这个被掉的脚本可以放在其他地方,以方便后续修改。
4:完成修改后,提交保存修改并去除挂载。
5:拷贝修改后的winpe.wim到指定目录并重命名。
6:生成Win PE ISO镜像工具,路径及名称为C:\winpe\winpe_cobbler_amd64.iso。
搭建pxe服务器(CentOS服务器操作)
yum -y install dhcp tftp-server httpd syslinux
systemctl enable --now httpd tftp dhcpd
说明:这里由于dhcpd服务还未配置,加入开机自启动会报错。
mkdir -p /var/www/html/win7/os/x86_64/
mount /dev/sr1 /var/www/html/win7/os/x86_64/
启动httpd服务
systemctl start httpd
配置dhcp服务
cp /usr/share/doc/dhcp-4.2.5/dhcpd.conf.example /etc/dhcp/dhcpd.conf
vim /etc/dhcp/dhcpd.conf
option domain-name-servers 180.76.76.76,114.114.114.114;
subnet 192.168.194.0 netmask 255.255.255.0 {
range 192.168.194.160 192.168.194.200;
option routers 192.168.194.2;
next-server 192.168.194.148;#tftp服务器的地址
filename "pxelinux.0";
}
启动dhcpd服务
systemctl enable dhcpd
systemctl start dhcpd
配置tftp
cd /var/lib/tftpboot/
cp /usr/share/syslinux/{pxelinux.0,menu.c32,memdisk} /var/lib/tftpboot/
cp /usr/share/syslinux/menu.c32 /var/lib/tftpboot/
上一篇: Linux下安装Hadoop集群(2.部署Hadoop)
下一篇: Kylin之BI工具集成
推荐阅读
-
自动部署win7(未完成)
-
SHELL脚本一键自动化部署源码mysql5.7
-
eclipse-indigo 中 user libraries 自动部署 WEB-INF/lib 配置 博客分类: AccumulationTime eclipselibuser libraries
-
docker整合jenkins实现自动部署
-
saltstack (一)安装部署自动化 博客分类: saltstack saltsatck自动化部署下发工具
-
基于 Putty 的自动部署(Linux)
-
Jenkins自动构建部署项目到远程服务器上
-
springcloud服务器搭建-自动化部署docker+jenkins
-
自动修改war配置文件,自动部署 部署
-
Java使用自动化部署工具Gradle中的任务设定教程