受够了二逼的PE下手动运行分区工具分区,然后运行安装工具安装系统。找了一圈没找到好用的pe下自动分区安装的工具,于是自己写个脚本并测试通过。
技术有限,暂时使用cmd写的,python的还在测试。
此示例仅限于未分区单磁盘,此示例并不包括完整的搭建过程!!
一:搭建网络启动环境准备启动文件
推荐使用pxe,ipxe,2种,多个选择好点。避免某种一启动不了。
Syslinuxs包含pxe启动文件。back.png chain.c32 ldlinux.c32 libcom32.c32 libutil.c32 lpxelinux.0 memdisk poweroff.c32 reboot.c32 vesamenu.c32 pxelinux.cfg文件夹default文件
写配置文件,其中ipxe最好自己编译一下,内置菜单。避免手动选择。
make bin/ipxe.pxe EMMBD=auto.ipxe
IPXE内置菜单示例auto.ipxe:
#!ipxe
dhcp
chain tftp://${next-server}/menu.ipxe ||chain http://${dhcp_server} /menu.ipxe
内置菜单大致意思是读取引导tftp服务器中的menu.ipxe如果没用就读取dhcp服务器中的静态文件共享服务器80端口的menu.ipxe。menu.ipxe自己按需制作。
pxe菜单,pxelinux.cfg文件夹下default文件
示例default文件镜像文件存在192.168.1.123:88,自己按需修改。
Default vesamenu.c32
Menu color border 0 #0000 #0000 none
MENU BACKGROUND back.png
Prompt 0
Timeout 1000
MENU TITLE High Speed Download Iso File
LABEL Boot From Http WIN10PE
MENU LABEL Boot From Http WIN10PE Network
Kernel memdisk
Append raw iso initrd=http://192.168.1.123:88/win10pe.iso
使用nginx或者其它搭建静态pxe或者ipxe能走http协议高速下载,
使用dnsmasq或者其它搭建tftp及dchp服务。
Windows下面有成品方案,自己搭建就行了。
总结:
网络启动必要条件运行DHCP服务的东西什么都可以,我是使用openwrt路由器,(用途:分配DHCP地址,通告tftp地址),启动文件(syslinux中提取lpxelinux.0,ipxe引导文件,引导菜单写法官方文档写的很详细,自己查看)。
非必要条件:一个跑静态文件服务的随便什么都可以,曾经用安卓手机运行过,只是速度一言难尽(运行nginx或者其它类似的,提供http高速下载pe或者其它需要的启动镜像文件使用),否则就只能使用低速的tftp协议下载所需启动镜像文件。
二:PE内置脚本
使用dism安装,命令行模式。
1:使用diskpart命令获取磁盘编号,分区。
命令行下处理档很麻烦,(示例文件仅分esp分区和C盘)大致思路如下:
diskpart /s list.txt >diskinfo.txt (文档内容list disk)先列出磁盘,然后输出到一个diskinfo.txt,再从diskinfo.txt获取磁盘编号。作为变量写入分区的parttition.txt,partition.txt为分区脚本。实例:
select disk 0
clean
convert gpt
create partition efi size=300
format quick fs=fat32
assign letter=”S”
create partition primary size=51200
format quick fs=ntfs label="Windows"
assign letter="W"
exit
获取磁盘编号的命令:
for /f "tokens=2" %i in (k:\disklist.txt)do (set num=%i && echo select disk %num% >x:\part.txt )
这里有2种方法,一种是用echo > 和echo >>分批写入。另外一种是事先写好,然后比较select disk这行是否相同,不同就替换,或者直接替换。
运行diskpart /s partition.txt实现自动分区。
2:调用dism命令安装。
镜像目录自己想办法,网络启动直接挂载内网共享,
挂载内网4570tnetboot共享到z盘示例:
net use z: \\4570t\netboot
dism /apply-image /imagefile:z:\10.esd /index:1 /applydir:w:
3:使用bcdboot命令修复引导。
bcdboot w:\windows /s s: /f all /l zh-cn
如果完整的方案、配置文件或者服务端或者成品都可以联系我。
新脚本自动识别已安装系统分区、引导分区、并自动安装指定目录下指定镜像文件(尽量无人至少安装,安装成功后自动重启)已经在测试中。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://ahzsys.cn/948/
共有 0 条评论