无忧启动论坛

标题: 使用bcdedit把vhd添加到bcd 支持右键菜单操作 [打印本页]

作者: baby1277    时间: 2024-7-22 16:39
标题: 使用bcdedit把vhd添加到bcd 支持右键菜单操作
本帖最后由 baby1277 于 2024-7-27 11:03 编辑

           
还是搬出我的迷你PC,前后修改了几次,终于在不同系统不同固件上测试通过。
                              
以下是批处理的代码,粘贴出来供大家参考,如有改进的地方可以跟帖反馈。
         

  1. @echo off
  2. :: 右键菜单支持
  3. if defined vhdpath goto vhdFilesok
  4. :: 拖拽操作支持
  5. set vhdpath=%~1
  6. if defined vhdpath goto vhdFilesok
  7. :: 常规批处理窗口输入
  8. set /p vhdpath=请输入VHD文件完整路径后按回车键,PS:提示可以将VHD文件拖拽进来 :
  9. :: 检测路径错误
  10. for /f "delims=" %%i in ('echo %vhdpath%') do if not exist "%%~i" msg %username% /time:3 输入错误文件不存在! && exit
  11. :: 去掉路径的引号,记录文件夹名,并判断文件后缀名。
  12. : vhdFilesok
  13. for /f "delims=" %%i in ('echo %vhdpath%') do set vhdname=%%~ni && set vhdpath=%%~i && if /i not "%%~xi"==".vhd" if /i not "%%~xi"==".vhdx" msg %username% /time:3 错误,不是VHD文件! && exit
  14. :: 判断固件类型
  15. bcdedit /enum bootmgr |find /i "efi" && set exef=efi || set exef=exe
  16. :: 添加休眠条目恢复项
  17. for /f "tokens=2" %%i in ('bcdedit /create /d "%vhdname%_VHD" /application resume') do set id1=%%i
  18. bcdedit /set %id1% device vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  19. bcdedit /set %id1% path \windows\system32\winresume.%exef%
  20. bcdedit /set %id1% locale zh-cn
  21. bcdedit /set %id1% inherit {resumeloadersettings}
  22. bcdedit /set %id1% isolatedcontext Yes
  23. bcdedit /set %id1% allowedinmemorysettings 0x15000075
  24. bcdedit /set %id1% filepath \hiberfil.sys
  25. bcdedit /set %id1% bootmenupolicy Standard
  26. :: 添加操作系统条目
  27. for /f "tokens=2" %%i in ('bcdedit /create /d "%vhdname%_VHD" /application osloader') do set id2=%%i
  28. bcdedit /set %id2% device vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  29. bcdedit /set %id2% osdevice vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  30. bcdedit /set %id2% path \Windows\System32\winload.%exef%
  31. bcdedit /set %id2% systemroot \Windows
  32. bcdedit /set %id2% Locale zh-cn
  33. bcdedit /set %id2% inherit {bootloadersettings}
  34. bcdedit /set %id2% isolatedcontext Yes
  35. bcdedit /set %id2% allowedinmemorysettings 0x15000075
  36. bcdedit /set %id2% nx OptIn
  37. bcdedit /set %id2% bootmenupolicy Standard
  38. bcdedit /set %id2% resumeobject %id1%
  39. :: 将引导菜单放置最后
  40. bcdedit /displayorder %id2% -addlast
  41. msg %username% /time:3   添加%vhdname%_VHD引导菜单完成
复制代码



                                                                                                                         
修改bcd请慎重,可能会导致无法进入系统,请准备好启动U盘。

右键菜单支持请下载附件,希望大家回帖收藏支持下。       
  
         
















作者: baby1277    时间: 2024-7-22 16:39
本帖最后由 baby1277 于 2024-7-27 11:12 编辑

bcdedit 命令运行时吃CPU,卡的有点难过,大家注意。

之前用bcdedit /import 一次性导入卡的鼠标都动不了。

不知道我是不是个例,可能是我的启动U盘修复引导后造成的吧。






作者: baolizhu    时间: 2024-7-22 17:01
谢谢楼主分享,学习了。。。
作者: baolizhu    时间: 2024-7-22 17:11
@echo off
cd /d %~dp0
reg add "HKCR\Windows.VhdFile\shell\VHD2BCD" /v "" /t REG_SZ /d "向BCD添加引导菜单(&B)" /f
reg add "HKCR\Windows.VhdFile\shell\VHD2BCD" /v "icon" /t REG_SZ /d "shell32.dll,8" /f  
reg add "HKCR\Windows.VhdFile\shell\VHD2BCD\command" /ve /t REG_SZ /d "mshta vbscript:CreateObject(\"WScript.Shell\").Run(\"cmd /c set vhdpath=%%1 ^& call %SystemRoot%\VHD2BCD.bat\",0)(window.close)" /f
copy /y VHD2BCD.bat %SystemRoot%
作者: 1801403    时间: 2024-7-22 17:17
一套搞齐了。
作者: ddnflier    时间: 2024-7-22 17:26
学习了
作者: chinaqq    时间: 2024-7-22 17:53
look look look
作者: wenbieba    时间: 2024-7-22 18:14
添加到右键菜单方便多了,谢谢分享
作者: robertkof    时间: 2024-7-22 18:27
谢谢楼主分享,学习了。。。
作者: yyz2191958    时间: 2024-7-22 18:29
yyz2191958,如果您要查看本帖隐藏内容请回复
作者: yc2428    时间: 2024-7-22 18:32
谢谢分享
作者: 2012huguoliang    时间: 2024-7-22 18:40
感谢老铁 看看 好用不
作者: bilv    时间: 2024-7-22 18:50
BCD不能选择吧??硬盘有好几个BCD
作者: JOINT    时间: 2024-7-22 19:54
谢谢分享
作者: daixq021    时间: 2024-7-22 20:32
谢谢分享!收藏学习资料
作者: 2013Kents    时间: 2024-7-22 20:57
学习了
作者: promrhxq    时间: 2024-7-22 21:23
感谢分享好东东
作者: towlzj800801    时间: 2024-7-22 21:41
支持一下呗!
作者: qq27722    时间: 2024-7-22 21:42
谢谢楼主分享,学习了
作者: wn168cn@163.com    时间: 2024-7-22 21:43
感谢分享
作者: woaini    时间: 2024-7-22 22:06
感谢分享
作者: freesoft00    时间: 2024-7-22 23:32
感谢提供
作者: wang1126    时间: 2024-7-23 04:58
谢谢分享
作者: ly2389    时间: 2024-7-23 07:53
支持支持!!!!!!!!!!!!!!!
作者: xiaoxinTAT    时间: 2024-7-23 08:04
感谢分享!!!
作者: 深深的沼泽    时间: 2024-7-23 11:00
很棒的批处理
作者: 2267981144    时间: 2024-7-23 11:57
多谢无私提供分享!
作者: test2333    时间: 2024-7-23 12:34
右键直接添加到启动菜单确实方便,测试vhd系统的时候不需要再用bootice去手动添加引导项了
作者: kinyon    时间: 2024-7-23 12:51
这个不错,谢谢分享
作者: 乾坤大地    时间: 2024-7-23 13:52

作者: 乾坤大地    时间: 2024-7-23 13:53
本帖最后由 乾坤大地 于 2024-7-23 13:56 编辑

以下这个右键菜单也很方便http://bbs.wuyou.net/forum.php?mod=viewthread&tid=441358

作者: 进士小站    时间: 2024-7-23 14:15
感谢分享
下载了收藏
作者: 2010sya    时间: 2024-7-23 14:18
谢谢楼主分享,学习了。
作者: zts59    时间: 2024-7-23 14:27
测试VHD确实方便,保存备用,谢谢
作者: zylzylzylzyl    时间: 2024-7-23 16:10
这几天正在研究vhd,这个工具真及时,测试一下,感谢楼主分享
作者: ootd123    时间: 2024-7-23 20:20
谢谢分享
作者: MysteryHyw    时间: 2024-7-23 21:27
感谢分享
作者: handsome_xiang    时间: 2024-7-24 05:46
谢谢楼主分享,学习了。
作者: zhdg    时间: 2024-7-24 06:40
很方便实用
作者: helloman    时间: 2024-7-24 07:17
挺方便的,谢谢
作者: Hackxnet    时间: 2024-7-24 08:43
支持一下
作者: hhhqq    时间: 2024-7-24 08:51
使用bcdedit把vhd添加到bcd 支持右键菜单操作
作者: 2012zhanhome    时间: 2024-7-24 08:52
多谢楼主分享
作者: gutaiping2006    时间: 2024-7-24 08:56
学习学习,感谢分享
作者: towlzj800801    时间: 2024-7-24 09:28
感谢楼主分享
作者: 123hope    时间: 2024-7-24 09:40
本帖最后由 123hope 于 2024-7-24 09:47 编辑

这个很方便的样子。既然都上去了,也要下得来,如果有给卸下的功能就完整了。

作者: duboy    时间: 2024-7-24 10:19
学习一下,感谢楼主分享
作者: xffd    时间: 2024-7-24 11:37
牛气轰轰啊
作者: lyrgcy    时间: 2024-7-24 13:16
好东西,顶下。收下了
作者: bsdgsos    时间: 2024-7-24 15:37
批处理作品收藏
作者: ybapollo    时间: 2024-7-24 15:48

谢谢楼主分享
作者: vanlong416    时间: 2024-7-24 16:29
thanks 55555555555
作者: ppll-2030    时间: 2024-7-24 17:44
乾坤大地 发表于 2024-7-23 13:53
以下这个右键菜单也很方便http://bbs.wuyou.net/forum.php?mod=viewthread&tid=441358

你这个是加载,不是引导启动。
作者: mrzhonghb    时间: 2024-7-24 23:08
感谢分享
作者: misterton    时间: 2024-7-29 14:09
支持一下  方便
作者: mrzhonghb    时间: 2024-8-1 20:03
这个不错,谢谢分享
作者: bnn17    时间: 2024-8-3 23:29
Yes
作者: bnn17    时间: 2024-8-4 05:46
Bcdedit - запускается из под администратора. Простое перетаскивание файла на батник не спаботает. Внутри батника надо ввести скрипт "запуск от администратора". ИМХО.
Bcdedit - 以管理员身份运行。简单地将文件拖放到 botnik 上不起作用。您需要在 Bcdedit 中输入 "以管理员身份运行 "脚本。个人意见
作者: bnn17    时间: 2024-8-4 05:48
Bcdedit - 以管理员身份运行。简单地将文件拖放到 botnik 上不起作用。您需要在 Bcdedit 中输入 "以管理员身份运行 "脚本。个人意见
作者: baby1277    时间: 2024-8-4 11:37
bnn17 发表于 2024-8-4 05:48
Bcdedit - 以管理员身份运行。简单地将文件拖放到 botnik 上不起作用。您需要在 Bcdedit 中输入 "以管理员 ...

修改BCD肯定要管理员权限啊,普通用户不行的,绝大部分的批处理运行都需要管理员权限,不用奇怪。
作者: sun4008    时间: 2024-8-8 14:08

谢谢楼主分享
作者: a66    时间: 2024-8-10 11:44
下载测试
作者: 我是下错    时间: 2024-8-11 23:17
真棒!!
作者: 我是下错    时间: 2024-8-12 20:45
好东西
作者: 我是下错    时间: 2024-8-13 03:58
好东西
作者: fegr    时间: 2024-8-13 15:01
谢谢分享
作者: I.S.P.O    时间: 2024-8-26 23:37
感谢分享!
作者: zqjiang    时间: 2024-8-27 16:16
支持一下呗!
作者: mindmap138    时间: 2024-8-30 13:47
好東西




作者: j4tan    时间: 2024-9-2 11:45
谢谢分享,学习一下
作者: jlshnlhj    时间: 2024-9-2 16:15
学习一下。
作者: dongwu    时间: 2024-9-2 16:19
谢谢楼主分享
作者: wwwfufei    时间: 2024-9-2 16:53
看看

作者: 游戏皇帝    时间: 2024-9-3 17:59
学习学习
作者: 天山雪    时间: 2024-9-4 10:36
谢谢分享
作者: klz12    时间: 2024-9-6 10:19
谢谢分享
作者: qmqwa    时间: 2024-9-6 15:41
谢谢分享!
作者: owl0001    时间: 2024-9-8 14:02

谢谢楼主分享
作者: 2013kyj    时间: 2024-9-8 22:23
大佬请教一下, 批处理中的:    添加休眠条目恢复项
我用bootice没有找到这项呢, 这是干什么用的?
作者: zlq_hysy    时间: 2024-9-9 10:58
好工具,试试效果如何
作者: zxywan10000    时间: 2024-9-9 11:19
多谢多谢。
作者: 2011wolfsina    时间: 2024-9-9 12:11
支持1
作者: zying    时间: 2024-9-9 12:34
谢谢分享!!!!!!!!!!
作者: baby1277    时间: 2024-9-9 13:54
2013kyj 发表于 2024-9-8 22:23
大佬请教一下, 批处理中的:    添加休眠条目恢复项
我用bootice没有找到这项呢, 这是干什么用的?

估计是快速启动和休眠相关的吧,没有它无法启动系统,
正常的导菜单应包含 1:OSLOADER 所有操作系统项  2:RESUME 全部从休眠项中恢复,两者缺一不可。
bootice添加的VHD引导菜单一般没有2:RESUME 全部从休眠项中恢复,所以不能启动系统。
反正的用bootice添加的VHD从来就没有成功过,仔细研究了bcdedit命令后所以才写了这个工具。

作者: 旭东    时间: 2024-9-9 14:17
感谢分享了
作者: 慕然    时间: 2024-9-9 21:15
感谢分享

作者: 旭东    时间: 2024-9-9 22:31
感谢分享了
作者: martin313    时间: 2024-9-9 22:42
bootice 真是个好软件,可惜没更新了
作者: 2011baibai    时间: 2024-9-10 02:47

感谢分享
作者: bboys    时间: 昨天 18:44

感谢分享
作者: ls68057121    时间: 8 小时前
这个好呀




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3