无忧启动论坛

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

[原创] 使用bcdedit把vhd添加到bcd 支持右键菜单操作

    [复制链接]
跳转到指定楼层
1#
发表于 2024-7-22 16:39:15 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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盘。

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


游客,如果您要查看本帖隐藏内容请回复













点评

辛苦了  发表于 2024-7-22 18:30

评分

参与人数 2无忧币 +3 收起 理由
lyrgcy + 1
yyz2191958 + 2 赞一个!

查看全部评分

2#
 楼主| 发表于 2024-7-22 16:39:41 | 只看该作者
本帖最后由 baby1277 于 2024-10-3 23:14 编辑

不支持路径中有空格或者符号
回复

使用道具 举报

3#
发表于 2024-7-22 17:01:43 | 只看该作者
谢谢楼主分享,学习了。。。
回复

使用道具 举报

4#
发表于 2024-7-22 17:11:56 | 只看该作者
@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%
回复

使用道具 举报

5#
发表于 2024-7-22 17:17:10 | 只看该作者
一套搞齐了。
回复

使用道具 举报

6#
发表于 2024-7-22 17:26:00 | 只看该作者
学习了
回复

使用道具 举报

7#
发表于 2024-7-22 17:53:31 | 只看该作者
look look look
回复

使用道具 举报

8#
发表于 2024-7-22 18:14:41 | 只看该作者
添加到右键菜单方便多了,谢谢分享
回复

使用道具 举报

9#
发表于 2024-7-22 18:27:07 | 只看该作者
谢谢楼主分享,学习了。。。
回复

使用道具 举报

10#
发表于 2024-7-22 18:29:42 | 只看该作者
yyz2191958,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

11#
发表于 2024-7-22 18:32:54 | 只看该作者
谢谢分享
回复

使用道具 举报

12#
发表于 2024-7-22 18:40:10 | 只看该作者
感谢老铁 看看 好用不
回复

使用道具 举报

13#
发表于 2024-7-22 18:50:18 | 只看该作者
BCD不能选择吧??硬盘有好几个BCD
回复

使用道具 举报

14#
发表于 2024-7-22 19:54:39 | 只看该作者
谢谢分享
回复

使用道具 举报

15#
发表于 2024-7-22 20:32:03 | 只看该作者
谢谢分享!收藏学习资料
回复

使用道具 举报

16#
发表于 2024-7-22 20:57:37 | 只看该作者
学习了
回复

使用道具 举报

17#
发表于 2024-7-22 21:23:49 | 只看该作者
感谢分享好东东
回复

使用道具 举报

18#
发表于 2024-7-22 21:41:11 | 只看该作者
支持一下呗!
回复

使用道具 举报

19#
发表于 2024-7-22 21:42:18 | 只看该作者
谢谢楼主分享,学习了
回复

使用道具 举报

20#
发表于 2024-7-22 21:43:35 | 只看该作者
感谢分享
回复

使用道具 举报

21#
发表于 2024-7-22 22:06:15 | 只看该作者
感谢分享
回复

使用道具 举报

22#
发表于 2024-7-22 23:32:46 | 只看该作者
感谢提供
回复

使用道具 举报

23#
发表于 2024-7-23 04:58:48 | 只看该作者
谢谢分享
回复

使用道具 举报

24#
发表于 2024-7-23 07:53:34 | 只看该作者
支持支持!!!!!!!!!!!!!!!
回复

使用道具 举报

25#
发表于 2024-7-23 08:04:15 | 只看该作者
感谢分享!!!
回复

使用道具 举报

26#
发表于 2024-7-23 11:00:55 | 只看该作者
很棒的批处理
回复

使用道具 举报

27#
发表于 2024-7-23 11:57:49 | 只看该作者
多谢无私提供分享!
回复

使用道具 举报

28#
发表于 2024-7-23 12:34:59 | 只看该作者
右键直接添加到启动菜单确实方便,测试vhd系统的时候不需要再用bootice去手动添加引导项了
回复

使用道具 举报

29#
发表于 2024-7-23 12:51:15 | 只看该作者
这个不错,谢谢分享
回复

使用道具 举报

30#
发表于 2024-7-23 13:52:45 | 只看该作者
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-26 00:13

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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