无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: slore
打印 上一主题 下一主题

[原创] (2022-02-02 更新) Re:WIN10XPE - 从零开始构建的全功能PE

    [复制链接]
1351#
 楼主| 发表于 2019-9-6 08:44:30 | 只看该作者
liuzhaoyzz 发表于 2019-9-6 08:27
wimbuilder2很灵活啊,解决的方法很多。我就觉得main.bat直接搞注册表或者写批处理容易懂。wimbuil ...


变量是启动管理的main.bat设置的,不知道的直接写X:\PEMetrial\AutoRuns\Startup也可以就是长了点儿。
我回头看看有啥Sample的补丁包,或者readme添加吧。

以后这些会自动生成选项,使用者没必要在意路径。。。
回复

使用道具 举报

1352#
发表于 2019-9-6 09:43:57 | 只看该作者
slore 发表于 2019-9-5 16:51
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=378234&extra=page%3D3

ljycslg的wifidriver.zip ...

大佬,如果我把wifidriver 放到02-APP做成一个插件,main.bat 怎么写加载的命令呢?
回复

使用道具 举报

1353#
发表于 2019-9-6 11:34:49 | 只看该作者
集成第三方软件,快捷方式有汉字部分 全部乱码。

点评

将pecmd.ini改为ANSI编码  发表于 2019-9-6 12:43
自己先手动修改pecmd.ini吧。奇怪,你们不用PETools加载创建快捷方式麽。  发表于 2019-9-6 11:46
pecmd.ini是utf8编码,是有问题。改用LUA启动管理,等我下周更新下吧。  发表于 2019-9-6 11:45
回复

使用道具 举报

1354#
发表于 2019-9-6 13:13:18 | 只看该作者
吼吼吼吼
回复

使用道具 举报

1355#
发表于 2019-9-6 14:49:11 | 只看该作者
不知道为啥 做出来后一直蓝屏
我是这样选择的




点评

跟我一樣... 一開始缺2個檔 rdyboost.sys iorate.sys 補上後就變開機藍屏 critical process died 實在是不知問題在哪  详情 回复 发表于 2019-9-9 10:03
回复

使用道具 举报

1356#
发表于 2019-9-6 14:52:35 | 只看该作者
wentianlanon 发表于 2019-9-6 11:34
集成第三方软件,快捷方式有汉字部分 全部乱码。

只测了2个软件 就直接写在main.bat里面。
回复

使用道具 举报

1357#
发表于 2019-9-6 15:30:01 | 只看该作者
本帖最后由 5603572 于 2019-9-6 16:16 编辑

大佬大佬,我按你下面这个方法,能给把我Netdrive.dll 这个网卡驱动正确的解压到X:\Windows\System32 目录下,但是我测试PE登录的时候不会自动识别到无线网卡,除非我手动在设备管理器里面把无线网卡的驱动指定到目录才能识别。
说明驱动包里面是能够识别我的网卡的,问题就是怎么让PE启动的时候就自动根据网卡识别了

我看到解压到这个位置:

-----------------------------------------------------------
推荐制作独立补丁的方法:
02-Apps\
     网卡驱动\
        X_PF\
             Netdrive.dll
        main.html (啥也不用写)
        main.bat

main.bat

  1. call X2X
  2. echo "X:\Program Files\7-Zip\7z.exe" x "X:\Program Files\Netdrive.dll" -o"X:\Windows\System32" >> "%X_OSInit%\ExtractWifiDrivers.bat"
复制代码

点评

试试我的作法如何:首先把 Netdrive.dll 用解压缩工具解开成为 FileRepository 文件夹,把此文件夹改名 Netdrive,再用 “CAB文件打包工具 PECAB” 最大压缩打包成 Netdrive.cab,手工改名成 Netdrive.dll 放回 Syst  详情 回复 发表于 2019-9-6 20:56
回复

使用道具 举报

1358#
发表于 2019-9-6 19:32:05 | 只看该作者
请教大佬,桌面那个 shultdown.bat 怎么设置不要生成?

点评

工程目录下的X文件夹,你搜下删除该文件就行了。  发表于 2019-9-6 19:59
回复

使用道具 举报

1359#
发表于 2019-9-6 19:42:51 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-9-6 19:53 编辑

MSDN itellyou下载的cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409
用wimbuilder2选择full或者default模式构建,启动的时候失败,截图如下:

这是怎么回事?我以为wimbuilder2能通杀所有wim版本。
2019-09-06 19:44:43,INFO      [WIN10XPE] --- 构建信息
2019-09-06 19:44:46,INFO      [WIN10XPE] --- MOUNT [_Factory_\target\WIN10XPE\winre.wim:1] -* [_Factory_\target\WIN10XPE\mounted]
2019-09-06 19:45:53,INFO      [WIN10XPE] --- UNMOUNT [_Factory_\target\WIN10XPE\mounted] /commit
2019-09-06 19:49:11,INFO      [WIN10XPE] --- EXPORT [_Factory_\target\WIN10XPE\winre.wim:1] -* [_Factory_\target\WIN10XPE\build\boot.wim]


Windows 10 x64-2019-09-06-18-32-03.png (46.63 KB, 下载次数: 110)

Windows 10 x64-2019-09-06-18-32-03.png

Windows 10 x64-2019-09-06-18-32-14.png (18.12 KB, 下载次数: 107)

Windows 10 x64-2019-09-06-18-32-14.png

Windows 10 x64-2019-09-06-18-32-21.png (39.89 KB, 下载次数: 109)

Windows 10 x64-2019-09-06-18-32-21.png

点评

如果什么也不改的话,卡在左上角那个进入system界面,full和default是一样的结果。 我改了默认以admin登录,就是上面的样子。  详情 回复 发表于 2019-9-7 07:44
你这选择的是demand?什么也没改?win10,其他版本需要的文件不一定相同。  发表于 2019-9-6 19:58
回复

使用道具 举报

1360#
发表于 2019-9-6 20:56:39 | 只看该作者
5603572 发表于 2019-9-6 15:30
大佬大佬,我按你下面这个方法,能给把我Netdrive.dll 这个网卡驱动正确的解压到X:\Windows\System32 目录 ...

试试我的作法如何:首先把 Netdrive.dll 用解压缩工具解开成为 FileRepository 文件夹,把此文件夹改名 Netdrive,再用 “CAB文件打包工具 PECAB” 最大压缩打包成 Netdrive.cab,手工改名成 Netdrive.dll 放回 System32 文件夹。PECMD.INI 加入如下代码:

IFEX %SystemRoot%\System32\Netdrive.dll,FILE %SystemRoot%\System32\Netdrive.dll->Netdrive.cab
TEAM DEVI *devclass:Net $%SystemRoot%\System32\Netdrive.cab,,%TEMP%\DRVTEMP | FILE  -force -q %TEMP%\DRVTEMP

执行后就可以自动安装。若配合我全系列 PE 的 WiFi 自动连线功能,连线成功后任务栏就会显示出扇形圆标。

点评

Netdrive.dll可以在哪里下载到?  详情 回复 发表于 2019-9-7 11:55
我按你的方法实测了,还是没能识别到无线网卡,难道是因为笔记本有2个网卡,所以只识别了一个主网卡?  详情 回复 发表于 2019-9-6 21:36
感谢大佬,我去测试下!  发表于 2019-9-6 21:02
回复

使用道具 举报

1361#
发表于 2019-9-6 21:36:44 | 只看该作者
WAIGO 发表于 2019-9-6 20:56
试试我的作法如何:首先把 Netdrive.dll 用解压缩工具解开成为 FileRepository 文件夹,把此文件夹改名 N ...

我按你的方法实测了,还是没能识别到无线网卡,难道是因为笔记本有2个网卡,所以只识别了一个主网卡?

点评

我的可以……  详情 回复 发表于 2019-9-6 22:34
回复

使用道具 举报

1362#
发表于 2019-9-6 22:34:45 | 只看该作者
5603572 发表于 2019-9-6 21:36
我按你的方法实测了,还是没能识别到无线网卡,难道是因为笔记本有2个网卡,所以只识别了一个主网卡?

我的可以……
回复

使用道具 举报

1363#
发表于 2019-9-7 07:44:39 | 只看该作者
liuzhaoyzz 发表于 2019-9-6 19:42
MSDN itellyou下载的cn_windows_10_enterprise_2016_ltsb_x64_dvd_9060409
用wimbuilder2选择full或者defa ...

如果什么也不改的话,卡在左上角那个进入system界面,full和default是一样的结果。
我改了默认以admin登录,就是上面的样子。
回复

使用道具 举报

1364#
发表于 2019-9-7 10:57:19 | 只看该作者
感谢分享,期待早日成熟、完善!
回复

使用道具 举报

1365#
发表于 2019-9-7 11:55:26 来自手机 | 只看该作者
WAIGO 发表于 2019-9-6 20:56
试试我的作法如何:首先把 Netdrive.dll 用解压缩工具解开成为 FileRepository 文件夹,把此文件夹改名 N ...

Netdrive.dll可以在哪里下载到?
回复

使用道具 举报

1366#
发表于 2019-9-7 16:28:33 | 只看该作者


提几个BUG
1、drvinst.exe禁止数字签名,好像不是很完美,显卡不能安装,网卡可以,
不知道是什么原因。

2、桌面右键不能新建文本文档,不知道注册表在哪?可否提供一下。

3、文本没有默认关联,修改了几次注册表也没有生效。

4、原版喇叭图标是否可以默认不隐藏,没有有点不习惯。

内置了3卡驱动加载安装






同一台台式电脑,一样的驱动,只安装了网卡驱动。





同一台台式电脑,手工制作的17763,同样安装3卡驱动很好





点评

提几个BUG drvinst_patch\main.bat, 修改安装测试驱动, 进PE, 右键安装该驱动, 如果提示安装成功, 则驱动没有问题. 是不是你的显卡驱动本身有问题?或者试试不要安装基本显卡驱动? 新的20H1的话, 记事本  详情 回复 发表于 2019-9-8 23:41
这两个问题我可以答复你。 把shellNEW_txt_bat_reg.reg放到\WimBuilder2-20190901\Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns目录下面,重新构建即可。 这个注册表:右击新建bat、reg、txt文件  详情 回复 发表于 2019-9-8 09:49
回复

使用道具 举报

1367#
发表于 2019-9-7 21:55:42 | 只看该作者
总感觉用wimbuilder2构建的PE进入桌面速度很慢,特别是admin身份登录的PE,虚拟机估计一分钟才能进入桌面,有没有办法加快进入桌面的速度?

点评

提前开服务。没专门测定过。Admin是慢些。  发表于 2019-9-7 22:01
回复

使用道具 举报

1368#
发表于 2019-9-8 09:49:26 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-9-8 10:10 编辑
2011mtw35 发表于 2019-9-7 16:28
提几个BUG
1、drvinst.exe禁止数字签名,好像不是很完美,显卡不能安装,网卡可以,
不知道是什么原 ...


2、桌面右键不能新建文本文档,不知道注册表在哪?可否提供一下。

3、文本没有默认关联,修改了几次注册表也没有生效。


这两个问题我可以答复你。

把shellNEW_txt_bat_reg.reg放到\WimBuilder2-20190901\Projects\WIN10XPE\_CustomFiles_\PEMaterial\Autoruns目录下面,重新构建即可。

这个注册表干的事情:右击新建bat、reg、txt文件,在所有文件右击中增加“用记事本编辑”的菜单,如果不喜欢可以自己修改,灵活掌握吧。
如果双击打开txt文件正常,下面的部分可以删除:

  1. [HKEY_CLASSES_ROOT\.txt]
  2. @="txtfile"
  3. "Content Type"="text/plain"
  4. "PerceivedType"="text"

  5. [HKEY_CLASSES_ROOT\txtfile\shell\open\command]
  6. @="notepad.exe "%1""
复制代码


这个注册表不但适用于PE,还适用于正常的操作系统。如果发现无效,稍微等几秒,或者直接F5刷新下桌面或者资源管理器就行了(注册表初始化慢)。
建议slore大神在新版中放进WimBuilder2里面。

shellNEW_txt_bat_reg.rar

725 Bytes, 下载次数: 10, 下载积分: 无忧币 -2

点评

能不能帮忙破解一个drvinst.exe,看了老大的帖子不会破解。  详情 回复 发表于 2019-9-8 11:58
注册表关联了记事本,但桌面右键还没有新建文本文档 [attachimg]400595[/attachimg] [attachimg]400596[/attachimg]  详情 回复 发表于 2019-9-8 11:54
回复

使用道具 举报

1369#
发表于 2019-9-8 11:54:34 | 只看该作者
liuzhaoyzz 发表于 2019-9-8 09:49
这两个问题我可以答复你。

把shellNEW_txt_bat_reg.reg放到\WimBuilder2-20190901\Projects\WIN ...


注册表关联了记事本,但桌面右键还没有新建文本文档







点评

默认的default构建方案都有新建文本文档的呀,你的怎么会没有?是不是注册表改动了? 你自己在PE里面检查注册表指向的那几个键值。 [HKEY_CLASSES_ROOT\.txt\ShellNew] "NullFile"="" "filename"="*.txt" 破  详情 回复 发表于 2019-9-8 12:17
回复

使用道具 举报

1370#
发表于 2019-9-8 11:58:13 | 只看该作者
liuzhaoyzz 发表于 2019-9-8 09:49
这两个问题我可以答复你。

把shellNEW_txt_bat_reg.reg放到\WimBuilder2-20190901\Projects\WIN ...

能不能帮忙破解一个drvinst.exe,看了老大的帖子不会破解。
回复

使用道具 举报

1371#
发表于 2019-9-8 12:17:53 | 只看该作者
2011mtw35 发表于 2019-9-8 11:54
注册表关联了记事本,但桌面右键还没有新建文本文档

默认的default构建方案都有新建文本文档的呀,你的怎么会没有?是不是注册表改动了?
你自己在PE里面检查注册表指向的那几个键值。
[HKEY_CLASSES_ROOT\.txt\ShellNew]
"NullFile"=""
"filename"="*.txt"

破解drvinst没用过,slore大神有帖子说到过,你自己研究下吧。

点评

导入注册表也没有,奇怪了 [attachimg]400598[/attachimg] [attachimg]400599[/attachimg]  详情 回复 发表于 2019-9-8 12:31
回复

使用道具 举报

1372#
发表于 2019-9-8 12:31:49 | 只看该作者
liuzhaoyzz 发表于 2019-9-8 12:17
默认的default构建方案都有新建文本文档的呀,你的怎么会没有?是不是注册表改动了?
你自己在PE里面检 ...


导入注册表也没有,奇怪了






点评

应该和你制作的版本有关  发表于 2019-9-8 12:34
回复

使用道具 举报

1373#
发表于 2019-9-8 13:29:23 | 只看该作者
搞不清楚了,看你的截图,右击新建bat、reg都有了呀,奇怪的很。
回复

使用道具 举报

1374#
发表于 2019-9-8 13:40:00 | 只看该作者
為什麼我用這工具做出來的都不能開機??
但現有的10PE不是沒MTP就是沒SMB
可悲啊Q口Q

点评

确认下你ISO的版本, WimBuilder2的版本. 建议使用 构建(日志) 方式, 将 构建日志上传看看.  发表于 2019-9-8 23:43
回复

使用道具 举报

1375#
发表于 2019-9-8 14:17:56 | 只看该作者
看 了两天的帖子,也没有明白,自己添加的工具。怎么在桌面,任务栏,开始菜单和所有程序添加图标的介绍!

点评

和改别人的PE一样。你编辑pecmd.ini文件即可。  发表于 2019-9-8 20:54
工具只生成一个内核,很多东西需要自己diy的,  详情 回复 发表于 2019-9-8 16:17
回复

使用道具 举报

1376#
发表于 2019-9-8 16:17:30 | 只看该作者
wchongy 发表于 2019-9-8 14:17
看 了两天的帖子,也没有明白,自己添加的工具。怎么在桌面,任务栏,开始菜单和所有程序添加图标的介绍!

工具只生成一个内核,很多东西需要自己diy的,
回复

使用道具 举报

1377#
发表于 2019-9-8 19:41:53 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-9-8 20:31 编辑

        问下slore大神,以H:\WimBuilder2-20190901\Projects\WIN10XPE\za-Slim\main_Ultra.bat为例,

  1. if not "x%opt[slim.ultra]%"=="xtrue" goto :EOF
复制代码

批处理是怎么取得main.html中复选框slim.ultra的选中或者是没有选中的状态的?用的是js获取的吗?
H:\WimBuilder2-20190901\assets\js\menu_click.js?
H:\WimBuilder2-20190901\assets\js\page_patches.js?
获取之后是怎么传递到批处理的变量的?是自动传递还是人工预设?这个slim.ultra名字的定义有什么讲究吗?
怎么我参考这个代码,写了个补丁,这一句好像有问题啊,if not "x%opt[slim.ultra]%"=="xtrue" goto :EOF。
我在H:\WimBuilder2-20190901\_Factory_\tmp\WIN10XPE\_patches_opt.bat中,看到set "opt[slim.ultra]=false"有这个定义,意思是说,如果我写一个带有复选框的补丁slim.ultra2,还必须预先定义这个复选框是否是选中/没有选中的初始状态?wimbuilder2实际运行中勾选或者不勾选能够自己查询到吗?
我试了在这一句前面加上
  1. echo "x%opt[slim.ultra2]%"
  2. pause
复制代码

结果就只是显示了一个x,似乎变量opt[slim.ultra2]没有定义。
我的疑惑是这个opt[slim.ultra2]变量是怎么和main.html对接的?
23楼的这个我不明白,知其然不知其所以然。
http://wuyou.net/forum.php?mod=r ... &fromuid=298214

我看到main.html中定义了slim.ultra2

  1. <fieldset>
  2. <legend><input type="checkbox" name="slim.ultra2" class="opt_item" /> Ultra-Slim(experimental)</legend>
  3. <div style="margin:3px;font-size:.8em;">
  4.   <span>
  5.     Remove more system files(infrequently used, unavailable) to make wim in small size.
  6.   </span>
  7. </div>
  8. </fieldset>
复制代码




点评

网页中class设定了,opt_item自动传递到批处理。 标准方法preset中设置默认值。 可以省略。但是传递到P处理中,自己要注意。 设定页面必须在 补丁页面点一下,这个变量会变成true'false。如果你一次都没点开  详情 回复 发表于 2019-9-8 20:43
回复

使用道具 举报

1378#
 楼主| 发表于 2019-9-8 20:43:09 | 只看该作者
本帖最后由 slore 于 2019-9-8 20:50 编辑
liuzhaoyzz 发表于 2019-9-8 19:41
问下slore大神,以H:\WimBuilder2-20190901\Projects\WIN10XPE\za-Slim\main_Ultra.bat为例,


...


网页中class设定了,opt_item自动传递到批处理。
标准方法preset中设置默认值。

可以省略。但是传递到P处理中,自己要注意。

设定页面必须在 补丁页面点一下,这个变量会变成true'false。如果你一次都没点开,这个变量是空。

如果
默认是不选中,必须到页面选择打勾,
if x变量==xtrue逻辑处理打勾的情况。
这样没选是xfalse,页面没打开是x,都能处理。

如果默认是选中(html中设置checked),不想使用时
必须点开页面去掉对勾,那么你批处理中就用
if not x变量==false处理逻辑。


slim.xxxx的名字,没有要求,随便写。
写成我这种格式,排序,还有分页面比较容易看。


html页面到批处理中,是自动的。是用js自动处理的。
回复

使用道具 举报

1379#
发表于 2019-9-8 20:58:57 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-9-8 21:00 编辑

我发现一个问题,就是html页面里面,checkbox的name值不能和具体的文字内容搞成一样的,否则就会导致js获取到错误的变量值。
<fieldset>
<legend><input type="checkbox" name="shellnewtxt" class="opt_item"  checked /> shell new bat_reg_txt file</legend>
<div style="margin:3px;font-size:.8em;">
  <span>
    Rhigt click to create bat_reg_txt file.
  </span>
</div>
</fieldset>

就是上面两个红色的部分不能相同,否则就会获取错误。
"x%opt[shellnewtxt]%"=="xtrue"
我想要的是:opt[shellnewtxt]
结果却是:opt[右击新建bat、reg、txt文件]

在构建日志页面,如果相同,再有在zh-CN中中英文对接下,就会获取中文名字。

  1. patch_name = "右击新建bat、reg、txt文件";
  2. patch_selected = true;

  3. patch_i18n = {
  4.   "shell new bat_reg_txt file":"右击新建bat、reg、txt文件",
  5.   "Rhigt click to create bat_reg_txt file.":"右击新建bat、reg、txt文件。"
  6. }
复制代码


点评

另外关于右键菜单,其实我以前在私人订制里面有一个文本框。 .txt.reg这种格式,这样可以自己追加项目,比你用 复选框 要好。  详情 回复 发表于 2019-9-8 21:36
"> shell new bat_reg_txt file 新建菜单  详情 回复 发表于 2019-9-8 21:33
回复

使用道具 举报

1380#
发表于 2019-9-8 21:31:32 | 只看该作者
本帖最后由 liuzhaoyzz 于 2019-9-8 21:34 编辑

用LUA启动器+winxshell作为shell,penetwork似乎运行不了,提示见附图。
是不是如果用winxshell作为shell的话,就不需要penetwork了?
上网没问题。

是不是如果用winxshell作为shell的话,就不需要startisback了?

都是颠覆性的啊。

Windows 10 x64-2019-09-08-21-29-51.png (1.14 MB, 下载次数: 105)

Windows 10 x64-2019-09-08-21-29-51.png

点评

开始菜单用不了,StartIsBack,只支持开源的Classic Shell, winxshell内核不补充文件直接运行,PENetwork需要些explorer也要用的内核dll,所以运行不了。补充了dll就可以。 选择winxshell是要简单,小内核,快速  详情 回复 发表于 2019-9-8 21:42
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-6-11 09:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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