无忧启动论坛

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

[教程] Win10 添加winpe启动菜单批处理

  [复制链接]
跳转到指定楼层
1#
发表于 2020-12-1 09:18:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 nyjy_hx 于 2020-12-1 10:27 编辑

批处理结合 7z 压缩工具实现从ISO文件中提取指定文件到指定目录 并用bcdedit 向启动菜单中写入winpe启动菜单
需要winpe iso文件   7z.exe  7z.dll 放到批处理目录 就可以
期中WIM  SDI 文件是在ISO文件中 批处理中的名字 请根据自己的情况修改 紫色是安装后的路径及文件名    红色是ISO文件中的文件名 可以放在ISO文件内任意目录中 应坛友要求 关键位置增加注释 方便自行调试
下面放出 批处理内容供大家参考学习


echo off
title 凌云WINPE工具箱安装程序
rem 定义窗体大小 前景色及背景色
mode con cols=60 lines=30 & color 9f

cls
rem *******以下区域为参数设置区域**********
rem 定义启动菜单名称
set m_title=凌云WINPE工具箱

rem 定义安装路径  默认就是系统盘盘符
set m_path=C:

rem 定义启动菜单等待时间 单位秒
set m_time=5

rem 定义安装类型,如果不是UEFI启动类型请改成任意字符串
set m_mode=UEFI

rem *******以上区域为参数设置区域**********

rem 判断程序是否安装过 主要用作删除用  注意这里是判断系统是否存在lype\lype.sdi这个文件 这个文件下面会说怎么来的
if exist %m_path%\lype\lype.sdi (goto m_uninstall)

rem ******以下是安装主界面************
:m_main
echo 当前选择安装路径:  %m_path%
echo.
echo 启动菜单名称: %m_title%
echo.
echo 启动菜单等待时间: %m_time% 秒
echo.
echo 系统启动类型为: %m_mode%
echo.
echo 请确认以上信息是否正确,正确请按Y继续,否则请修改批处理中对应信息。
echo.
set /p input=请选择[y/n]:
if not "%input%"=="y" (goto m_quit)
rem ******以上是安装主界面 显示您的配置信息 等待用户输入y 后开启安装 按其他键就会退出程序************



rem ******以下是安装主程序********************
:m_install

rem ******调用7z.exe 将efi.iso文件中的  lype.sdi 和 lyw1064_cj.wim 释放到  C:\LYPE目录下  EFI.ISO就是您的WINPE文件  lype.sdi 和 lyw1064_cj.wim 可以在EFI.ISO中任意位置,这两个文件是您的PE 启动文件需要自己找到并做对应修改  %m_path%\lype 这个目录就是安装目录 可以自定义
7z.exe e efi.iso -o%m_path%\lype  -r lype.sdi -y
7z.exe e efi.iso -o%m_path%\lype  -r lyw1064_cj.wim -y

rem 根据您的配置 设定 启动菜单等待时间
bcdedit /timeout %m_time% >null

rem 增加两个ID 这里使用固定ID 目的是为了删除时方便避免误删或删除错误
set id1={b38a9fc1-5690-11da-b795-fffffffffe3a}>null
set id2={b38a9fc1-5690-11da-b795-fffffffffe3b}>null

rem 根据您自己定义的 启动菜单名来增加启动条目
bcdedit /create %id2% /d "%m_title%" /device>null

bcdedit /set %id2% ramdisksdidevice partition="%m_path%">null

rem 设定SDI文件位置和名字根据您的SDI文件及安装目录进行设置
bcdedit /set %id2% ramdisksdipath \lype\lype.sdi>null
bcdedit /create %id1% /d "%m_title%" /application osloader>null

rem 设定WIM文件位置和名字根据您的SDI文件及安装目录进行设置
bcdedit /set %id1% device ramdisk="[%m_path%]\lype\lyw1064_cj.wim",{ramdiskoptions}>null
bcdedit /set %id1% osdevice ramdisk="[%m_path%]\lype\lyw1064_cj.wim",{ramdiskoptions}>null
bcdedit /set %id1% path \windows\system32\boot\winload.exe>null
if "%m_mode%" == "UEFI" (bcdedit /set %id1% path \Windows\system32\boot\winload.efi)>null
bcdedit /set %id1% description "%m_title%">null
bcdedit /set %id1% locale zh-CN>null
bcdedit /set %id1% inherit {bootloadersettings}>null
bcdedit /set %id1% systemroot \windows>null
bcdedit /set %id1% detecthal Yes>null
bcdedit /set %id1% winpe Yes>null
bcdedit /set %id1% ems no>null
bcdedit /displayorder %id1% /addlast>null

rem 对安装后的lype目录增加隐藏属性
attrib +h %m_path%\lype>null
echo 已经成功将PE工具箱安装到本地硬盘,按任意键退出安装程序!!
pause>null
exit

:m_uninstall
cls
echo 检测到您已安装过本PE工具箱,重复安装会导致系统混乱!!
echo.
echo 建议您卸载后重新运行本程序!!!
echo.
set /p m_input=是否卸载[y/n]:
if %m_input%==y (goto m_uni)
exit

:m_quit
EXIT

:m_uni
cls
rem 卸载程序 主要是删除文件  %m_path%\lype\ 就是上面您自己的安装目录 根据您的喜好自己改吧
del /f /s /q %m_path%\lype\*.*>null
rd /s /q %m_path%\lype>null

rem 由于上面我们使用的是自定义 固定的ID名  所以这里在删除时才能保证删除的就是我们自己增加的条目
bcdedit /delete {b38a9fc1-5690-11da-b795-fffffffffe3a}>null
bcdedit /delete {b38a9fc1-5690-11da-b795-fffffffffe3b}>null
echo PE工具箱已从本机删除,如需安装可以再次运行本程序!!!
pause>null



2#
发表于 2020-12-1 09:29:59 | 只看该作者
感谢分享,存在风险,谨慎操作。尤其是品牌机如华硕、Dell、联想...
回复

使用道具 举报

3#
 楼主| 发表于 2020-12-1 09:44:00 | 只看该作者
程序调试模式   记事本打开 将 >null 替换成空格  删除echo off 然后运行程序 就可以看到程序运行结果 及出错提示了!!

点评

批处理中的名字 请根据自己的情况修改 哪些名字?请颜色去一下,以提高自己调试成功率。  详情 回复 发表于 2020-12-1 09:52
回复

使用道具 举报

4#
发表于 2020-12-1 09:52:58 | 只看该作者
nyjy_hx 发表于 2020-12-1 09:44
程序调试模式   记事本打开 将 >null 替换成空格  删除echo off 然后运行程序 就可以看到程序运行结果 及出 ...

批处理中的名字 请根据自己的情况修改
哪些名字?请用字体颜色区分一下,以提高自己调试成功率。
回复

使用道具 举报

5#
发表于 2020-12-1 09:58:18 | 只看该作者
谢分享
回复

使用道具 举报

6#
发表于 2020-12-1 10:20:36 | 只看该作者
Thank you so much
回复

使用道具 举报

7#
 楼主| 发表于 2020-12-1 10:25:52 | 只看该作者
已经在关键位置增加注释  方便大家自己进行调试。。。如有疑问可以跟帖提问哦!!!
回复

使用道具 举报

8#
发表于 2020-12-1 11:02:31 | 只看该作者
谢分享
回复

使用道具 举报

9#
发表于 2020-12-1 11:18:09 | 只看该作者
折腾过bcdedit一段时间,直接使用{ramdiskoptions}不好,会和其它选项冲突,,可以配置其它名称的项的
回复

使用道具 举报

10#
发表于 2020-12-1 13:32:22 | 只看该作者
谢谢分享,学习了!
回复

使用道具 举报

11#
发表于 2021-1-7 19:48:14 | 只看该作者
感谢分享
回复

使用道具 举报

12#
发表于 2021-2-24 23:10:39 | 只看该作者
谢谢分享
回复

使用道具 举报

13#
发表于 2021-2-26 16:20:47 来自手机 | 只看该作者
高手风范 看不懂
回复

使用道具 举报

14#
发表于 2021-7-10 07:23:48 来自手机 | 只看该作者
这个加不了sdi文件

点评

提取IOS中的sdi 路径不同会提取不到 楼主有说明  发表于 2022-3-27 23:04
回复

使用道具 举报

15#
发表于 2023-1-11 09:47:35 | 只看该作者
感谢分享
回复

使用道具 举报

16#
发表于 2023-1-13 14:40:53 | 只看该作者
看看楼主提供的教程,学习一下Win10 添加winpe启动菜单批处理的方法啊
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-30 22:06

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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