无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5550|回复: 54
打印 上一主题 下一主题

[讨论] BCD多选项引导同一个wim传递参数的一个想法

  [复制链接]
跳转到指定楼层
1#
发表于 2022-5-13 02:34:32 来自手机 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
既然BCD是挂载到注册表上的,那BCD0000000里也有对应的选项,比如名称,guid,是否可以判断注册表中那个id被激活状态,来获取当前选项参数?

或者,是否有可能在BCD的每个选项上添加一个公共参数,选择不同选项时赋不同值,然后系统引导启动后,从注册表读取该值。

这些方面技术欠缺没法验证,只是瞎想,不知是否可行。
2#
发表于 2022-5-13 02:42:23 | 只看该作者
PE下没这个BCD0000000
回复

使用道具 举报

3#
 楼主| 发表于 2022-5-13 02:42:49 来自手机 | 只看该作者
手机打字太麻烦手误比较多
回复

使用道具 举报

4#
 楼主| 发表于 2022-5-13 02:49:20 来自手机 | 只看该作者
2012jiashanni 发表于 2022-5-13 02:42
PE下没这个BCD0000000

是精简掉了,还是本身就没有?
回复

使用道具 举报

5#
 楼主| 发表于 2022-5-13 02:50:18 来自手机 | 只看该作者
明天电脑上看看,有点不太理解
回复

使用道具 举报

6#
发表于 2022-5-13 04:06:35 | 只看该作者
有想法!
回复

使用道具 举报

7#
发表于 2022-5-13 05:35:57 来自手机 | 只看该作者
系统也没有这个注册表,所以这个想法意义不大。
回复

使用道具 举报

8#
发表于 2022-5-13 06:56:58 来自手机 | 只看该作者
id固定为好,特别是双启可通用。
回复

使用道具 举报

9#
发表于 2022-5-13 08:28:19 | 只看该作者

感谢分享
回复

使用道具 举报

10#
发表于 2022-5-13 09:00:13 | 只看该作者
帮顶
回复

使用道具 举报

11#
 楼主| 发表于 2022-5-13 09:26:07 | 只看该作者
看了一下,PE里确实没有bcd00000000,是不是在bcd配置文件里关掉了?还是PE系统本身不支持?
回复

使用道具 举报

12#
 楼主| 发表于 2022-5-13 09:28:40 | 只看该作者
szwp 发表于 2022-5-13 06:56
id固定为好,特别是双启可通用。

szwp老师有何高见?

我是想通过判断某个参数,来选择pecmd中命令执行方式,比如选择执行理顺盘符等。
回复

使用道具 举报

13#
 楼主| 发表于 2022-5-13 09:42:57 | 只看该作者
BCDEdit /bootdebug        /bootdebug 启动选项可启用或禁用当前或指定的 Windows 操作系统启动项目的启动调试

BCDEdit /dbgsettings        /dbgsettings 选项可设置或显示计算机的当前全局调试程序设置。 若要启用或禁用内核调试程序,请使用 BCDEdit /debug 选项。

BCDEdit /debug        /debug 启动选项可启用或禁用与指定的启动项目或当前启动项目关联的 Windows 操作系统的内核调试。

---------------------

这些设置项是否可以开启bcd参数传递呢?
回复

使用道具 举报

14#
发表于 2022-5-13 09:48:50 | 只看该作者
目前只找到通过boot.sdi读写信息的方法
回复

使用道具 举报

15#
发表于 2022-5-13 09:59:57 | 只看该作者
有个小工具可以写入和读取boot.sdi里的信息,不过我还没用起来。
回复

使用道具 举报

16#
 楼主| 发表于 2022-5-13 10:01:02 | 只看该作者
如果能在bcd里面开启注册表传递参数,那就方便太多了。
回复

使用道具 举报

17#
发表于 2022-5-13 10:13:51 | 只看该作者
lhc0688 发表于 2022-5-13 02:49
是精简掉了,还是本身就没有?

本身就没有 我很早就试想过 用bcd传递参数 然后启动一个自写程序来操作 但是发现PE没有这个注册表
回复

使用道具 举报

18#
发表于 2022-5-13 11:19:16 | 只看该作者
我没有找到用 bcd 传递信息的方法。
目前我只知道可以通过用不同的 boot.sdi 来传递信息。
以前写了一个小工具 sdicmd ,通过修改 boot.sdi 里面镜像的保留扇区来传递信息。
https://github.com/grub4dos/sdicmd
回复

使用道具 举报

19#
发表于 2022-5-13 11:55:14 | 只看该作者
本帖最后由 mdyblog 于 2022-5-13 12:22 编辑

挖深些。可以的。PE/网启 WIM/VHD/普通WIn  WIn2000/2003/XP/WIn7891011 都通用。
简单点用PECMD2012

PECMD  MOUN-udm  setbootcfg  C:\BOOT\BCD001  "值"  ["标签头"]
启动后系统中
//MOUN-udm  getbootcfg [-x[+|a]]  返回名 标签头      //-x[+|a]可[仅|全部]用动态配置   

PECMD  TEAM MOUN-udm  getbootcfg    retv 标签头| MESS %retv%
比如:
PECMD  MOUN-udm  setbootcfg  C:\BOOT\BCD001  "bootid=001"  
PECMD  MOUN-udm  setbootcfg  C:\BOOT\BCD002  "bootid=002"  
启动后系统中
PECMD  TEAM MOUN-udm  getbootcfg    retv bootid=| MESS %retv%


回复

使用道具 举报

20#
 楼主| 发表于 2022-5-13 12:02:43 | 只看该作者
mdyblog 发表于 2022-5-13 11:55
挖深些。可以的。PE/网启 也通用。
简单点用PECMD2012

命令没看太明白,但感觉意思是确实可以通过注册表传递,我研究下试试,先谢指点!
回复

使用道具 举报

21#
发表于 2022-5-13 12:03:56 | 只看该作者
lhc0688 发表于 2022-5-13 12:02
命令没看太明白,但感觉意思是确实可以通过注册表传递,我研究下试试,先谢指点!

PECMD2012  http://bbs.wuyou.net/forum.php?mod=viewthread&tid=205402&extra=page%3D1
PECMD HELP MOUN
回复

使用道具 举报

22#
发表于 2022-5-13 12:29:29 | 只看该作者
lhc0688 发表于 2022-5-13 09:28
szwp老师有何高见?

我是想通过判断某个参数,来选择pecmd中命令执行方式,比如选择执行理顺盘符等。

http://bbs.wuyou.net/forum.php?m ... d=430074&extra=
可以参考。
将bcdedit /enum {current} /v的结果放出来看下

点评

[attachimg]501212[/attachimg] 在PE里这个命令无效,是不是PE里缺少这个参数项?  详情 回复 发表于 2022-5-13 13:06
还是看不太懂: 1、这段程序是在哪里执行?ISO启动时?还是进PE之后?如果启动前,那怎么能执行呢?  详情 回复 发表于 2022-5-13 12:59
回复

使用道具 举报

23#
 楼主| 发表于 2022-5-13 12:59:02 | 只看该作者
szwp 发表于 2022-5-13 12:29
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=430074&extra=
可以参考。
将bcdedit /enum {curr ...

还是看不太懂:
1、这段程序是在哪里执行?ISO启动时?还是进PE之后?如果启动前,那怎么能执行呢?
回复

使用道具 举报

24#
发表于 2022-5-13 13:00:28 | 只看该作者
lhc0688 发表于 2022-5-13 12:59
还是看不太懂:
1、这段程序是在哪里执行?ISO启动时?还是进PE之后?如果启动前,那怎么能执行呢?

同一个wim的多选项引导后运行,比较区别。
回复

使用道具 举报

25#
 楼主| 发表于 2022-5-13 13:00:56 | 只看该作者
2、获取结果值也是用bcdedit吗?这个在pecmd里也能运行吗?
回复

使用道具 举报

26#
 楼主| 发表于 2022-5-13 13:06:36 | 只看该作者
szwp 发表于 2022-5-13 12:29
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=430074&extra=
可以参考。
将bcdedit /enum {curr ...



在PE里这个命令无效,是不是PE里缺少这个参数项?
回复

使用道具 举报

27#
发表于 2022-5-13 13:12:15 | 只看该作者
lhc0688 发表于 2022-5-13 13:06
在PE里这个命令无效,是不是PE里缺少这个参数项?

可以按id,再决定是否要整理盘符么?

点评

应该可以,不过这样ISO就需要手动编辑固定,不方便通用,不过问题应该也不大。  详情 回复 发表于 2022-5-13 13:19
回复

使用道具 举报

28#
发表于 2022-5-13 13:13:26 | 只看该作者
主要看同一个wim的多选项引导后的结果区别。

点评

区别这个应该是能明白的,只是跟注册表取值一样问题:PE中没有挂载bcd,也就是【bcdedit】没有可操作的【存储项】,这样有何办法解决?能解决的话,直接读注册表应该是一样道理了。  发表于 2022-5-13 13:22
回复

使用道具 举报

29#
 楼主| 发表于 2022-5-13 13:19:03 | 只看该作者
szwp 发表于 2022-5-13 13:12
可以按id,再决定是否要整理盘符么?

应该可以,不过这样ISO就需要手动编辑固定,不方便通用,不过问题应该也不大。
回复

使用道具 举报

30#
发表于 2022-5-13 13:20:35 | 只看该作者
lhc0688 发表于 2022-5-13 13:19
应该可以,不过这样ISO就需要手动编辑固定,不方便通用,不过问题应该也不大。

id固定为好

点评

如果能读取id,那应该也能同时读取 Description 值才对。  发表于 2022-5-13 13:30
问题是id也没法读取到啊,跟上面道理一样,这个有什么诀窍?  发表于 2022-5-13 13:29
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-12 05:40

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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