江南一根葱 发表于 2020-10-1 13:51:16

如何用批处理简单地从bcd里解析变量得到某些参数

本帖最后由 江南一根葱 于 2020-10-1 14:03 编辑

我要建立好几个菜单,来引导同一个wim,但每个菜单进去肯定要不同的功能,就想到通过Bcd里添加变量(项),赋于不同值来实现
比如
菜单1.netcopy ,在bcd写了个变量,netcopyclient,值是1
菜单2.netghost,在bcd写了个变量,netghostclient,值是1
用批处理是通过解析注册表简单的方式么?有没有那种“一句话命令"就能达到效果的。

my9823 发表于 2020-10-1 17:31:59

虽然不懂批处理,但我知道命令行软件叫sed,还有awk

jjbj66 发表于 2020-10-1 19:45:31

学习

9zhmke 发表于 2020-10-1 20:59:44

批处理需要解释环境,Bcd貌似不能运行批处理,你说的是BCD配置吧?这就不太懂了

Anson4 发表于 2020-10-1 21:10:33

我提个建议:通过使用不同的boot.sdi(给X盘设置不同的卷标),启动后检测该卷标即可。

江南一根葱 发表于 2020-10-1 22:27:03

我想用这个方法是,影子(Shadow Defender)是通过bcd里的某个项来控制开机后保护、不保护两种状态的

9zhmke 发表于 2020-10-2 20:10:58

你到综合版问这个问题试试,只要有文件或注册表里存放的位置什么的参数,批处理弄出来也应该很容易

nttwqz 发表于 2020-10-6 14:58:49

上学语文学的不好,没明白楼主什么意思,小白如是说。。。

江南一根葱 发表于 2020-10-7 10:06:06

本帖最后由 江南一根葱 于 2020-10-7 10:07 编辑

nttwqz 发表于 2020-10-6 14:58
上学语文学的不好,没明白楼主什么意思,小白如是说。。。
就是一批菜单,启动pe
A功能
B功能
C功能
D功能
都是同个bcd上启动的同个wim文件,pe启动后要知道它将做什么
就是从A启动,做A的事,比如启动ghost
       从B启动,做B的事,比如启动ghostsrv
目前我能想到的是菜单标题里加些杂货,进pe再bcdedit读出,不过不清楚pe里能不能得到是从哪项启动的性息在linux中,就是 cat /proc/cmdline 得到相关性息

nttwqz 发表于 2020-10-7 17:12:42

江南一根葱 发表于 2020-10-7 10:06
就是一批菜单,启动pe
A功能
B功能


好想法,这在一定程度上实现了多卷wim启动,不过如何知道当前系统是从bcd中哪一项启动的呢?尝试半天,一无所获。

记得有个日志参数bootlog yes,之后会在Win下生成ntbtlog.txt,可判断此文件是否存在来区分,两个以上不行。pe未测试是否有效。

从目前来看,前面盘符法比较简单。

不知道bootice的作者对此有没有研究。

junyee 发表于 2020-10-8 08:50:38


使用高级模式添加自定义参数,
然后结合GUID 应该可以实现楼主要的效果.

窄口牛 发表于 2020-10-8 09:38:23

nttwqz 发表于 2020-10-7 17:12
好想法,这在一定程度上实现了多卷wim启动,不过如何知道当前系统是从bcd中哪一项启动的呢?尝试半天,一 ...

每个卷放一个专门的不同的文件,不行?

nttwqz 发表于 2020-10-8 20:03:48

窄口牛 发表于 2020-10-8 09:38
每个卷放一个专门的不同的文件,不行?

什么意思?我是说,WIM多卷启动没有原生支持。要是支持,楼主大可已一个WIM多能几个卷,实现不同的功能,有节省空间。

窄口牛 发表于 2020-10-8 20:14:35

那我理解有问题了

my9823 发表于 2020-10-9 19:59:48

5楼的提议可行。毕竟boot.sdi很小,bcd中不同功能指定不同sdi,启动后能用pecmd脚本获取x盘的卷标不,执行行不同操作不?

江南一根葱 发表于 2020-10-9 20:44:16

my9823 发表于 2020-10-9 19:59
5楼的提议可行。毕竟boot.sdi很小,bcd中不同功能指定不同sdi,启动后能用pecmd脚本获取x盘的卷标不,执行行 ...

好像是可行,不过工作量有点大

我要获取的东西有点多,
页: [1]
查看完整版本: 如何用批处理简单地从bcd里解析变量得到某些参数