无忧启动论坛

 找回密码
 注册
搜索

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

查看数: 8403 | 评论数: 40 | 收藏 1
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2022-5-13 02:34

正文摘要:

既然BCD是挂载到注册表上的,那BCD0000000里也有对应的选项,比如名称,guid,是否可以判断注册表中那个id被激活状态,来获取当前选项参数? 或者,是否有可能在BCD的每个选项上添加一个公共参数,选择不同选项时 ...

回复

szwp 发表于 2022-5-13 19:03:16
没明白为啥要用ISO方式。U盘和硬盘处理方式可以一样的。
lhc0688 发表于 2022-5-13 18:11:31
江南一根葱 发表于 2022-5-13 17:46
都挂载了bcd的话,直接bcdedit /enum不就行了

挂载的这个是死的,好像没用
江南一根葱 发表于 2022-5-13 17:46:26
都挂载了bcd的话,直接bcdedit /enum不就行了

点评

挂载的这个是死的,好像没用  详情 回复 发表于 2022-5-13 18:11
szwp 发表于 2022-5-13 15:31:38
光盘的BCD是不会因为选择不同引导项而改变的,从里面获取不到{current},还是硬盘PE好玩,想要利用同一wim也可以玩wimboot的vhdpe。

点评

是想解决U盘PE,硬盘用PE简单。  发表于 2022-5-13 16:29
ddnflier 发表于 2022-5-13 14:25:11
回复必须要厚道~~~!!
lhc0688 发表于 2022-5-13 14:22:46
我感觉好像是有可能了,只是要怎么操作才能得到传入的值,这个实在是没办法搞通;

如果bcd启动时能用批处理写数据到文件的话,比如【启动参数.txt】,那直接读取也就可以了,不知道该怎么操作;
hoder 发表于 2022-5-13 13:54:36
用bootice添加就行了,除了guid不能一样(自己改几个数字),其它可以相同。
lhc0688 发表于 2022-5-13 13:39:57
PE启动后,为何ISO光驱是不可读的呢?有没办法让光驱变为可读?这样就可以先:bcdedit /store 指定bcd,然后就可以读取数据了吗?
szwp 发表于 2022-5-13 13:31:13
在硬盘上多建几个引导项玩。
szwp 发表于 2022-5-13 13:20:35
lhc0688 发表于 2022-5-13 13:19
应该可以,不过这样ISO就需要手动编辑固定,不方便通用,不过问题应该也不大。

id固定为好
lhc0688 发表于 2022-5-13 13:19:03
szwp 发表于 2022-5-13 13:12
可以按id,再决定是否要整理盘符么?

应该可以,不过这样ISO就需要手动编辑固定,不方便通用,不过问题应该也不大。
szwp 发表于 2022-5-13 13:13:26
主要看同一个wim的多选项引导后的结果区别。
szwp 发表于 2022-5-13 13:12:15
lhc0688 发表于 2022-5-13 13:06
在PE里这个命令无效,是不是PE里缺少这个参数项?

可以按id,再决定是否要整理盘符么?
lhc0688 发表于 2022-5-13 13:00:56
2、获取结果值也是用bcdedit吗?这个在pecmd里也能运行吗?
szwp 发表于 2022-5-13 13:00:28
lhc0688 发表于 2022-5-13 12:59
还是看不太懂:
1、这段程序是在哪里执行?ISO启动时?还是进PE之后?如果启动前,那怎么能执行呢?

同一个wim的多选项引导后运行,比较区别。
lhc0688 发表于 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之后?如果启动前,那怎么能执行呢?
szwp 发表于 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的结果放出来看下
mdyblog 发表于 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
lhc0688 发表于 2022-5-13 12:02:43
mdyblog 发表于 2022-5-13 11:55
挖深些。可以的。PE/网启 也通用。
简单点用PECMD2012

命令没看太明白,但感觉意思是确实可以通过注册表传递,我研究下试试,先谢指点!
mdyblog 发表于 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%


wintoflash 发表于 2022-5-13 11:19:16
我没有找到用 bcd 传递信息的方法。
目前我只知道可以通过用不同的 boot.sdi 来传递信息。
以前写了一个小工具 sdicmd ,通过修改 boot.sdi 里面镜像的保留扇区来传递信息。
https://github.com/grub4dos/sdicmd
2012jiashanni 发表于 2022-5-13 10:13:51
lhc0688 发表于 2022-5-13 02:49
是精简掉了,还是本身就没有?

本身就没有 我很早就试想过 用bcd传递参数 然后启动一个自写程序来操作 但是发现PE没有这个注册表
lhc0688 发表于 2022-5-13 10:01:02
如果能在bcd里面开启注册表传递参数,那就方便太多了。
江南一根葱 发表于 2022-5-13 09:59:57
有个小工具可以写入和读取boot.sdi里的信息,不过我还没用起来。
江南一根葱 发表于 2022-5-13 09:48:50
目前只找到通过boot.sdi读写信息的方法
lhc0688 发表于 2022-5-13 09:42:57
BCDEdit /bootdebug        /bootdebug 启动选项可启用或禁用当前或指定的 Windows 操作系统启动项目的启动调试

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

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

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

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

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

闽公网安备 35020302032614号

GMT+8, 2025-8-12 09:52

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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