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

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

   火... [复制链接]
发表于 2024-7-22 16:39:15 | 显示全部楼层 |阅读模式
本帖最后由 baby1277 于 2026-4-26 16:35 编辑

           
还是搬出我的迷你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 path1=%%~fi
  14. set path2=%path1: =%
  15. set path3=%path2:(=%
  16. if not "%path3%"=="%path1%" msg %username% /time:3 错误,路径不能存在空格和特殊符号。&&exit
  17. for /f "delims=" %%i in ('echo %vhdpath%') do (
  18. set vhdnpath2=%%~dpni
  19. set vhdpath=%%~i
  20. set vhdname=%%~ni
  21. set vhdnx=%%~xi
  22. if /i not "%%~xi"==".vhd" if /i not "%%~xi"==".vhdx" msg %username% /time:3 错误,不是VHD文件! && exit
  23. )
  24. :exit1
  25. :: 判断固件类型
  26. bcdedit /enum bootmgr |find /i "efi" && set exef=efi || set exef=exe
  27. :: 添加休眠条目恢复项
  28. for /f "tokens=2" %%i in ('bcdedit /create /d "%vhdname%" /application resume') do set id1=%%i
  29. bcdedit /set %id1% device vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  30. bcdedit /set %id1% path \windows\system32\winresume.%exef%
  31. bcdedit /set %id1% locale zh-cn
  32. bcdedit /set %id1% inherit {resumeloadersettings}
  33. bcdedit /set %id1% isolatedcontext Yes
  34. bcdedit /set %id1% allowedinmemorysettings 0x15000075
  35. bcdedit /set %id1% filepath \hiberfil.sys
  36. bcdedit /set %id1% bootmenupolicy Standard
  37. :: 添加操作系统条目
  38. for /f "tokens=2" %%i in ('bcdedit /create /d "%vhdname%" /application osloader') do set id2=%%i
  39. bcdedit /set %id2% device vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  40. bcdedit /set %id2% osdevice vhd=[%vhdpath:~0,2%]%vhdpath:~2%
  41. bcdedit /set %id2% path \Windows\System32\winload.%exef%
  42. bcdedit /set %id2% systemroot \Windows
  43. bcdedit /set %id2% Locale zh-cn
  44. bcdedit /set %id2% inherit {bootloadersettings}
  45. bcdedit /set %id2% isolatedcontext Yes
  46. bcdedit /set %id2% allowedinmemorysettings 0x15000075
  47. bcdedit /set %id2% nx OptIn
  48. bcdedit /set %id2% bootmenupolicy Standard
  49. bcdedit /set %id2% resumeobject %id1%
  50. :: 将引导菜单放置最后
  51. bcdedit /displayorder %id2% -addfirst
  52. bcdedit /default %id2%
  53. msg %username% /time:5   添加 %vhdname% 引导菜单完成,重启后进入系统。

复制代码



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

VHD引导默认启动.rar (1.34 KB, 下载次数: 326)

评分

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

查看全部评分

 楼主| 发表于 2024-7-22 16:39:41 | 显示全部楼层
本帖最后由 baby1277 于 2024-10-3 23:14 编辑

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

使用道具 举报

发表于 2024-7-22 17:01:43 | 显示全部楼层
谢谢楼主分享,学习了。。。
回复

使用道具 举报

发表于 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%
回复

使用道具 举报

发表于 2024-7-22 17:17:10 | 显示全部楼层
一套搞齐了。
回复

使用道具 举报

发表于 2024-7-22 17:26:00 | 显示全部楼层
回复

使用道具 举报

发表于 2024-7-22 17:53:31 | 显示全部楼层
look look look
回复

使用道具 举报

发表于 2024-7-22 18:14:41 | 显示全部楼层
添加到右键菜单方便多了,谢谢分享
回复

使用道具 举报

发表于 2024-7-22 18:27:07 | 显示全部楼层
谢谢楼主分享,学习了。。。
回复

使用道具 举报

发表于 2024-7-22 18:29:42 | 显示全部楼层
yyz2191958,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

发表于 2024-7-22 18:32:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2024-7-22 18:40:10 | 显示全部楼层
感谢老铁 看看 好用不
回复

使用道具 举报

发表于 2024-7-22 18:50:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

发表于 2024-7-22 19:54:39 | 显示全部楼层
谢谢分享
回复

使用道具 举报

发表于 2024-7-22 20:32:03 | 显示全部楼层
谢谢分享!收藏学习资料
回复

使用道具 举报

发表于 2024-7-22 20:57:37 | 显示全部楼层
回复

使用道具 举报

发表于 2024-7-22 21:23:49 | 显示全部楼层
感谢分享好东东
回复

使用道具 举报

发表于 2024-7-22 21:41:11 | 显示全部楼层
支持一下呗!
回复

使用道具 举报

发表于 2024-7-22 21:42:18 | 显示全部楼层
谢谢楼主分享,学习了
回复

使用道具 举报

发表于 2024-7-22 22:06:15 | 显示全部楼层
感谢分享
回复

使用道具 举报

发表于 2024-7-22 23:32:46 | 显示全部楼层
感谢提供
回复

使用道具 举报

发表于 2024-7-23 07:53:34 | 显示全部楼层
支持支持!!!!!!!!!!!!!!!
回复

使用道具 举报

发表于 2024-7-23 08:04:15 | 显示全部楼层
感谢分享!!!
回复

使用道具 举报

发表于 2024-7-23 11:00:55 | 显示全部楼层
很棒的批处理
回复

使用道具 举报

发表于 2024-7-23 11:57:49 | 显示全部楼层
多谢无私提供分享!
回复

使用道具 举报

发表于 2024-7-23 12:34:59 | 显示全部楼层
右键直接添加到启动菜单确实方便,测试vhd系统的时候不需要再用bootice去手动添加引导项了
回复

使用道具 举报

发表于 2024-7-23 12:51:15 | 显示全部楼层
这个不错,谢谢分享
回复

使用道具 举报

发表于 2024-7-23 13:52:45 | 显示全部楼层
回复

使用道具 举报

发表于 2024-7-23 13:53:02 | 显示全部楼层
本帖最后由 乾坤大地 于 2024-7-23 13:56 编辑

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

点评

你这个是加载,不是引导启动。  详情 回复 发表于 2024-7-24 17:44
回复

使用道具 举报

发表于 2024-7-23 14:15:05 | 显示全部楼层
感谢分享
下载了收藏
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-4-30 04:50

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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