无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
12
返回列表 发新帖
楼主: 江南一根葱
打印 上一主题 下一主题

[分享] 从"五秒制作完成网络骨头版pe"瞎改的从原版iso制作网络骨头版pe批处理0422

    [复制链接]
31#
发表于 2021-2-10 22:58:06 | 显示全部楼层
江南一根葱 发表于 2021-2-10 22:38
mpssvc应该无关的,我试了下net stop等提示是没有启动windows defender firewall服务
大概有点思路了, ...

好的,我刚才去给娃冲奶了。明天再折腾
回复

使用道具 举报

32#
发表于 2021-2-11 09:59:24 来自手机 | 显示全部楼层
  2021-2-10 15:21
pe
wpeutil disablefirewall

winre.wimcmdwin10wimre.wim
回复

使用道具 举报

33#
发表于 2021-2-11 10:01:37 | 显示全部楼层
江南一根葱 发表于 2021-2-10 15:21
问下这种迷你pe是不是无法关闭防火墙
wpeutil disablefirewall报错,

早上找了一个win10原生的没做任何改动的winre.wim进cmd输入这个命令也报错,是不是win10原生的winre.wim不支持这个命令了?

点评

嗯,估计只能从install.wim搞出那些相关的dll了,不过7z貌似不能命令行解压原版包install.wim里面的文件,手工倒是可以提取,,好不科学,暂时只能手工, netsh add helper添加dll这种,应该可以补注册表解决的吧  详情 回复 发表于 2021-2-11 11:06
回复

使用道具 举报

34#
发表于 2021-2-11 11:09:16 | 显示全部楼层
江南一根葱 发表于 2021-2-11 11:06
嗯,估计只能从install.wim搞出那些相关的dll了,不过7z貌似不能命令行解压原版包install.wim里面的文件 ...

wimlib就可以直接从install.wim里按列表提取想要的文件

点评

如果是直接操作install.wim,用7z也是可以的,就是得从iso里解出来或挂载iso了。。 要是7z能直接操作iso里的install.wim就好了  详情 回复 发表于 2021-2-11 11:11
回复

使用道具 举报

35#
发表于 2021-3-2 21:48:56 | 显示全部楼层
江南一根葱 发表于 2021-3-2 21:44
上次那个防火墙的问题,
[HKEY_LOCAL_MACHINE\CurrentControlSet001\Services\mpssvc]
"Start"=dword:0 ...

3是按需手动加载,那后续怎么搞呢?

点评

我手工修复键值使用一直正常了, 如果要弄关了防火墙的一键制作批处理,是不是得从boot.wim里翔出注册表,挂载注册表单元,修改,卸载单元,再把注册表射回wim?  详情 回复 发表于 2021-3-5 17:44
回复

使用道具 举报

36#
发表于 2021-3-5 15:44:34 | 显示全部楼层
lps4290 发表于 2021-3-5 14:58
下面继续简化语句之后就一步生成excel.txt了,不知道两们老大有没测试过这种写法,
可惜虽然减少了临时 ...

如果觉得for慢,可以引进sed.exe,这个第三方的sed.exe可以一次性添加delete —force —recursive这个操作瞬间完成,缩短很多时间。

点评

好的,找时间试试。 另外,刚刚在语句列表中发现一个 2\drivers ,应该是手误吧?  详情 回复 发表于 2021-3-5 19:14
回复

使用道具 举报

37#
发表于 2021-3-5 18:03:59 | 显示全部楼层
江南一根葱 发表于 2021-3-5 17:44
我手工修复键值使用一直正常了,
如果要弄关了防火墙的一键制作批处理,是不是得从boot.wim里翔出注册表 ...

你手工改动这个键值是在进pe桌面之前就改的吗?进pe桌面之后改行不行?
回复

使用道具 举报

38#
发表于 2021-3-5 19:06:30 | 显示全部楼层
lps4290 发表于 2021-3-5 18:58
当然可以。win10x86_64.txt 格式看附件。主要是那两大段换成一个FOR,其余语句不变,耗时几乎不变。下面 ...

这样简洁,改一改可以用来精简install.wim制作精简系统了
回复

使用道具 举报

39#
发表于 2021-3-5 19:06:34 | 显示全部楼层
lps4290 发表于 2021-3-5 18:58
当然可以。win10x86_64.txt 格式看附件。主要是那两大段换成一个FOR,其余语句不变,耗时几乎不变。下面 ...

这样简洁,改一改可以用来精简install.wim制作精简系统了
回复

使用道具 举报

40#
发表于 2021-3-5 19:12:54 | 显示全部楼层
lps4290 发表于 2021-3-5 18:58
当然可以。win10x86_64.txt 格式看附件。主要是那两大段换成一个FOR,其余语句不变,耗时几乎不变。下面 ...

用第三方sed.exe来替换掉for语句速度将大大加快,三秒制作完成pe,十几秒制作完成一个精简系统都不成问题!
回复

使用道具 举报

41#
发表于 2021-3-5 19:17:36 | 显示全部楼层
lps4290 发表于 2021-3-5 19:14
好的,找时间试试。

另外,刚刚在语句列表中发现一个 2\drivers ,应该是手误吧?

不是手误,早期的批处理里查找drivers会连带查找driverstore,所以加了2\,后期的批处理没有这个问题了
回复

使用道具 举报

42#
发表于 2021-3-5 22:33:55 | 显示全部楼层
江南一根葱 发表于 2021-3-5 20:51
这个好像会跑一大堆的
echo delete --force --recursive " 会比较耗时间,echo off的话貌似会不成功,-- ...

用第三方sed.exe跑这个很快,可以省掉for语句的时间

点评

我109楼的语句并不是用FOR直接一步生成excel.txt,所以总耗时并没有明显增加,不用sed.exe问题也不大。多了一个FOR仅用来读取 一次win10x86_64.txt(实际只有两行),取两次值这个FOR就完成任务了,其余流程差别不  详情 回复 发表于 2021-3-6 10:09
回复

使用道具 举报

43#
发表于 2021-3-6 10:38:12 | 显示全部楼层
lps4290 发表于 2021-3-6 10:09
我109楼的语句并不是用FOR直接一步生成excel.txt,所以总耗时并没有明显增加,不用sed.exe问题也不大。
...

超级棒,感谢你的费心修改!辛苦了!第一个批处理下面这句也可以删掉,改用sed.exe更快:for /f "delims=" %%i in (List.txt) do echo delete --force --recursive "%%i">>excel.txt

其实两个批处理都改用sed.exe替代for循环找都能省一下时间,不过pe制作上五秒和再少两秒也差不多。


后面你如果有兴趣直接用install.wim制作精简windows系统的wim可以加sed.exe命令行跑跑看,那个应该能省更多时间!我的想法是十秒内把一个原生的install.wim制作完成一个极限精简版的install.wim系统精简版!

点评

[attachimg]476227[/attachimg] [attachimg]476228[/attachimg] 没错,就是这个生成excel.txt有for最耗时,无论是用两位老大原来的批处理,还是用我 楼上简化过的,在我这里始终要7秒多,不过估计顶多能再  详情 回复 发表于 2021-3-6 19:33
回复

使用道具 举报

44#
发表于 2021-3-6 20:18:56 | 显示全部楼层
lps4290 发表于 2021-3-6 19:33
没错,就是这个生成excel.txt有for最耗时,无论是用两位老大原来的批处理,还是用我
楼上简化 ...

winxshell的功能太多我也只是用到一点皮毛,winxshell的开发者slore曾经说过关于winxshell的一些东西如下:WinXShell 公开参数一览:

wxs-open:system | 打开我的电脑属性
wxs-open:printers | 打开打印机设置窗口
wxs-open:networkconnections | 打开网络连接设置窗口
wxs-open:devicesandprinters | 打开设备和打印机设置窗口
wxs-open:wifi | 打开无线网络连接界面
wxs-open:volume | 打开音量控制界面

ms-settings:taskbar | 打开任务栏设置界面
ms-settings:dateandtime | 打开时间和日期设置界面ms-settings:display | 打开显示设置界面
ms-settings:personalization | 打开个性化设置界面
ms-settings:network | 打开网络连接设置界面(高版本Windows有效)
-console | 调试窗口
-ui -jcfg XXXXX\YYYY\ZZZ.jcfg | 启动UI组件
-winpe      | Windows PE 环境标识
-code luacode | 执行单行lua代码
-file luafile | 执行lua脚本文件

WinXShell 公开对象一览(-code, -script 时使用):

app 程序对象。
app:info(opt)  | 获取程序信息
app:call(...)  | 调用WinXShell内置函数
app:jcfg(opt)  | 获取jcfg配置文件设定信息
app:print(str) | 打印信息到调试窗口

对象方法参数说明:
app:info(opt)  | 获取程序信息
opt可以指定以下值。
'cmdline'  | 命令行参数(字符串)
'winver'   | Windows版本号(字符串)
'langid’  | 系统语言编号(字符串)
'locale'   | 系统语言名称(字符串)
'path'     | 程序模块路径(字符串)

对象方法参数说明:
app:call(...)  | 调用WinXShell内置函数
... 可指定函数及参数如下。
'getresolutionlist' | 获取可用分辨率列表(字符串)
'cd', path                 | 切换当前工作目录到指定位置
'desktop::updatewallpaper'       | 刷新系统壁纸
'desktop::getwallpaper'          | 获取系统壁纸文件路径
'desktop::setwallpaper', file    | 更改系统壁纸
'volume::mute', 0or1             | 禁音/解除禁音
'volume::ismuted'                | 获取禁音状态
'volume::getlevel'               | 获取当前音量大小
'volume::setlevel', 0to100       | 更改当前音量大小
'volume::getname'                | 获取当前音频设备名称
'gettickcount'                   | 获取系统启动时间(秒单位)
'sleep', imsec                   | 等待imsec毫秒
'play', wavfile                  | 播放WAV格式音频文件
'putenv', var, val               | 设置环境变量
'envstr', str                    | 展开字符串中的环境变量(字符串)
'resstr', resstr                 | 展开字符串中的系统字符串资源
'run', file                      | 启动程序或者文件
'exitcode', code                 | 指定程序的退出码
'exit', code                     | 直接退出程序

--------------------------------------------------------
System 系统对象。
System:GetSettings(key) | 获取系统设定
System:SetSettings(key, val) | 更改系统设定
System:SysColorTheme(mode) | 更改系统颜色主题(mode = 'light' | 'dark')
System:AppsColorTheme(mode) | 更改应用颜色主题(mode = 'light' | 'dark')
System:Reboot() | 重启计算机
System:Shutdown() | 关闭计算机


对象方法参数说明:
System:GetSettings(key) | 获取系统设定
key可以指定以下值。
'AppsColorTheme' | 应用程序颜色主题
'SysColorTheme'  | 系统颜色主题
'ShellColorPrevalence'  | 外壳外观颜色
'WindowColorPrevalence' | 系统外观颜色
'Colors.Transparency'   | 使用透明色

System:SetSettings(key, val) | 更改系统设定
key可以指定以下值。
'ShellColorPrevalence'  | 外壳外观颜色
'WindowColorPrevalence' | 系统外观颜色
'Colors.Transparency'   | 使用透明色

--------------------------------------------------------
Screen 屏幕对象。
Screen:Get(...) | 获取屏幕信息
Screen:GetX() | 获取屏幕分辨率宽度
Screen:GetY() | 获取屏幕分辨率高度
Screen:GetRotation() | 获取屏幕旋转状态
Screen:Disp([w, h]) | 设置屏幕分辨率。不指定宽度和高度时,自动使用最大分辨率。
Screen:DispTest(arr) | 按照指定的分辨率列表逐个尝试设置屏幕分辨率,直到设置成功为止。

--------------------------------------------------------
Taskbar 任务栏对象。
Taskbar:IsReady(sec) | 指定sec秒内判断任务栏是否准备就绪(sec为-1时,直到任务栏准备好为止)
Taskbar:WaitForReady() | 等待任务栏加载完毕(内部调用Taskbar:IsReady(-1)方法)
Taskbar:GetSetting(key) | 获取任务栏设定
Taskbar:SetSetting(key, value, type) | 更改任务栏设定
Taskbar:CombineButtons(value[, update]) | 更改任务栏合并按钮选项(value ='always' | 'auto'), update为0时,不立即生效
Taskbar:UseSmallIcons(value[,update]) | 更改任务栏使用小图标选项(value ='always' | 'auto'), update为0时,不立即生效
Taskbar:AutoHide(value) | 更改任务栏自动隐藏选项(value = 0 | 1)。
Taskbar:Pin(target[, name[, param[, icon[, index[, showcmd]]]]]) | 固定命令到任务栏

--------------------------------------------------------
Startmenu 开始菜单对象。
Startmenu:Pin(target[, name[, param[, icon[, index[, showcmd]]]]]) | 固定命令到开始菜单

--------------------------------------------------------
FolderOptions 文件夹选项对象。
FolderOptions:Get(opt) | 获取文件夹选项。
FolderOptions:Set(opt, val) | 更改文件夹选项。

对象方法参数说明:
opt可以指定以下值。
'ShowAll'          | 显示隐藏文件
'ShowExt'          | 显示隐藏已知文件类型的扩展名
'ShowSuperHidden'  | 显示系统隐藏文件

WinXShell 可使用的库:

Lua5.4内置库: os, math, io等
https://www.lua.org/manual/5.4/

winapi 扩展库
https://github.com/stevedonovan/winapi

WinXShell 公开函数一览(-code, -script 时使用):

HideWindow(class, title) | 隐藏指定窗口。
CloseWindow(class, title) | 关闭指定窗口。
CloseShellWindow() | 关闭外壳窗口(外壳窗口不存在时,将等待外壳窗口出现后再关闭)。
os_ver_info() | 获取 ProductName, CSDVersion 信息(注册表)。
cpu_info() | 获取 CPU 信息(注册表)。
mem_info() | 获取系统可用内存(硬件以外),总内存大小,当前可用内存。
res_str(file, id) | 获取指定字符串资源。
win_copyright() | 获取 Windows 许可证说明。
call_dll(...) | 调用 dll 中的公开函数。
reg_read(key, values) | 读取注册表信息。
reg_write(key, name, value[, type]) | 写入注册表信息。未指定type时, 当作 REG_SZ 类型。
exec(option, cmd) | 执行命令。 option 可指定 /wait - 等待执行命令结束, /hide - 隐藏,/min - 最小化。
link(lnk, target, param, icon, index, showcmd) | 创建快捷方式。
wxsUI(ui[, jcfg[, opt[, app_path]]]) | 打开指定的UI组件。
PinToStartMenu(target[, name[, param[, icon[, index[, showcmd]]]]]) | 别名。固定命令到开始菜单。

点评

非常感谢分享,我先收藏后面慢慢看  详情 回复 发表于 2021-3-6 21:14
回复

使用道具 举报

45#
发表于 2021-3-6 20:22:40 | 显示全部楼层
lps4290 发表于 2021-3-6 19:33
没错,就是这个生成excel.txt有for最耗时,无论是用两位老大原来的批处理,还是用我
楼上简化 ...

你如果对winxshell或者pe有什么不明白的,可以直接到slore大神的贴下询问,我以前发帖问slore大神任何事情他都会给我详尽的解答。winxshell的开发者是我在这个论坛遇到的最友善的大神之一!
回复

使用道具 举报

46#
发表于 2021-3-6 20:26:00 | 显示全部楼层
lps4290 发表于 2021-3-6 19:33
没错,就是这个生成excel.txt有for最耗时,无论是用两位老大原来的批处理,还是用我
楼上简化 ...

pe只有回收站的问题其实是正常的,如果要加上我的电脑等就要动config里的def那个注册表配置文件了,pe我偏好桌面上图标越少越好,进文件夹我都是点击一下pe任务栏上的资源管理器图标进入。
回复

使用道具 举报

47#
发表于 2021-3-16 18:59:23 | 显示全部楼层
江南一根葱 发表于 2021-2-10 15:21
问下这种迷你pe是不是无法关闭防火墙
wpeutil disablefirewall报错,


五秒制作完成网络骨头版pe(二):一键批处理增删削减winre.WIM包同时修改注册表的方法
坛友@江南一根葱说他有一种多播网克一次性批量给大量电脑安装系统的方法,但是要求进pe桌面之前就把防火墙改为手动,这样才能顺利进行。
最近得空实验了下,找到了一个无需挂载注册表配置文件直接在进pe桌面之前修改注册表的方法,这样我们就可以利用这种方法制作任意类型的pe,或精简版,或网络版,或全能版,或带第三方工具版都能简单修改批处理一两处地方就能制作成功!

具体的方法也很简单,就是利用微软原生的pe里的winpeshl.ini文件,在里面加上第一行有效命令如下:
[LaunchApps]
%SystemRoot%\regedit.exe, /s %SystemRoot%\FireWall.reg
%ProgramFiles%\WinXShell.exe -winpe

然后我创建一个FireWall.REG文件如下即可:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\system\CurrentControlSet\Services\mpssvc]
"Start"=dword:00000003

运用上面这种方法可以调整pe里的很多东西比如下面再加上一项就是将windows10pe的我的电脑图标显示在pe桌面上:
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\HideDesktopIcons\NewStartPanel]
"{20D04FE0-3AEA-1069-A2D8-08002B30309D}"=dword:00000000  


大家可以照本宣科的按照这个方法给pe增加第三方驱动或者工具比如imdisk或者7ZIP什么的,定制符合自己心意的pe!

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-2 08:59

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表