无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 3085|回复: 6
打印 上一主题 下一主题

[求助] 请教bcdedit语法

[复制链接]
跳转到指定楼层
1#
发表于 2017-2-23 16:40:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
想要自动给pe加到启动项,写了个批处理如下:

@echo off
bcdedit.exe /timeout 9
for /f "delims={,} tokens=2" %%a in ('bcdedit /create /d "Windows 8 PE 维护平台2" -application osloader  ') do set Guid={%%a}
bcdedit /set %Guid% device ramdisk="[%systemdrive%]\BOOT\8X86.wim,{ramdiskoptions}"
bcdedit /set %Guid% osdevice ramdisk="[%systemdrive%]\BOOT\8X86.wim,{ramdiskoptions}"
bcdedit /set %Guid% path \windows\system32\boot\winload.exe
bcdedit /set %Guid% locale zh-CN
bcdedit /set %Guid% systemroot \windows
bcdedit /displayorder %Guid% -addlast

用bootice查看启动项已经添加,但无法启动!
添加的启动项如下:


我用bootice手工添加引导向如下即可成功引导:


那么,请问用批处理该怎么写才能实现过图片中的设置??

恳请达人指教,谢谢

评分

参与人数 1无忧币 +5 收起 理由
cy-hong + 5 楼主,求分享如图的软件。。

查看全部评分

推荐
 楼主| 发表于 2017-2-24 22:35:23 来自手机 | 只看该作者
本帖最后由 wjgyz740526 于 2017-2-24 22:37 编辑

谢谢上面各位兄弟的回复,原因找到了,我的代码没问题,是bcd文件损坏造成无法启动——很奇怪的是它的系统引导项可以启动,下面的两个pe的是损坏的

关于实现图二效果的代码如下:

@echo off
bcdedit.exe /timeout 9
for /f "delims={,} tokens=2" %%a in ('bcdedit /create /d "Windows 8 PE 维护平台2" -application osloader  ') do set Guid={%%a}
bcdedit /set %Guid% device ramdisk="[BOOT]\BOOT\8X86.wim,{ramdiskoptions}"
bcdedit /set %Guid% osdevice ramdisk="[%systemdrive%]\BOOT\8X86.wim,{ramdiskoptions}"
bcdedit /set %Guid% path \windows\system32\boot\winload.exe
bcdedit /set %Guid% locale zh-CN
bcdedit /set %Guid% systemroot \windows
bcdedit /displayorder %Guid% -addlast

点评

收藏,感谢分享经验!  发表于 2017-2-24 22:43
回复

使用道具 举报

2#
发表于 2017-2-23 21:36:49 | 只看该作者
没研究过,帮顶
回复

使用道具 举报

3#
发表于 2017-2-23 22:22:15 | 只看该作者
  1. @echo off
  2. rem 硬盘安装Windows时,在现用系统上添加启动要安装系统的boot.wim

  3. rem 管理者模式启动仍保持工作路径为脚本所在目录
  4. cd /d "%~dp0"

  5. set TEST_OPT=1
  6. set /p WINISODRV=请输入安装文件所在盘符(例如:F):
  7. :BM_CHOOICE
  8. echo 请选择启动模式:
  9. echo       1.Legacy BIOS-based 模式(MBR引导)
  10. echo       2.UEFI-based 模式(EFI引导)

  11. set /p bootmode=
  12. if "%bootmode%"=="1" goto :BCD_EDIT
  13. if "%bootmode%"=="2" goto :BCD_EDIT
  14. goto :BM_CHOOICE

  15. :BCD_EDIT
  16. if "%bootmode%"=="1" set bootmode=LEGACY
  17. if "%bootmode%"=="2" set bootmode=EFI

  18. rem 指定测试选项,创建用于测试的BCD文件
  19. if not "%TEST_OPT%"=="" (
  20.     rem 备份当前系统BCD
  21.     bcdedit > ".\SYS_BCD.txt"
  22.     bcdedit /export ".\SYS_BCD.bak"
  23.     set TMP_BCD=.\TEST_BCD
  24. )

  25. if not "%TEST_OPT%"=="" (
  26.     del /f /q %TMP_BCD%
  27.     bcdedit /createstore %TMP_BCD%
  28.     set TEST_OPT=/store %TMP_BCD%
  29. )

  30. if "bootmode"=="LEGACY" goto :BCD_LEGACY
  31. if "bootmode"=="EFI" goto :BCD_EFI

  32. :BCD_LEGACY

  33. echo 创建安装程序 Ramdisk 选项
  34. bcdedit %TEST_OPT% /create {ramdiskoptions} /d "Ramdisk Options"
  35. bcdedit %TEST_OPT% /set {ramdiskoptions} ramdisksdidevice partition=%WINISODRV%:
  36. bcdedit %TEST_OPT% /set {ramdiskoptions} ramdisksdipath \boot\boot.sdi
  37. for /f "tokens=2 delims={}" %%i in ('bcdedit %TEST_OPT% /create /d "Windows Boot" /application osloader') do (
  38.     set LOADER_GUID={%%i}
  39. )
  40. echo GUID:%LOADER_GUID%
  41. if "%LOADER_GUID%"=="" goto :ErrorExit

  42. echo 创建Windows 启动加载器
  43. bcdedit %TEST_OPT% /set %LOADER_GUID% device ramdisk=[%WINISODRV%:]\sources\boot.wim,{ramdiskoptions}
  44. bcdedit %TEST_OPT% /set %LOADER_GUID% path \windows\system32\winload.exe
  45. bcdedit %TEST_OPT% /set %LOADER_GUID% description "Windows Setup"
  46. bcdedit %TEST_OPT% /set %LOADER_GUID% locale zh-CN
  47. bcdedit %TEST_OPT% /set %LOADER_GUID% inherit {bootloadersettings}
  48. bcdedit %TEST_OPT% /set %LOADER_GUID% osdevice ramdisk=[%WINISODRV%:]\sources\boot.wim,{ramdiskoptions}
  49. bcdedit %TEST_OPT% /set %LOADER_GUID% systemroot \windows
  50. bcdedit %TEST_OPT% /set %LOADER_GUID% detecthal yes
  51. bcdedit %TEST_OPT% /set %LOADER_GUID% winpe yes
  52. bcdedit %TEST_OPT% /set %LOADER_GUID% ems no

  53. if "%TEST_OPT%"=="" (
  54.     bcdedit %TEST_OPT% /displayorder %LOADER_GUID% /addlast
  55. )
  56. goto :BCD_END

  57. :BCD_EFI

  58. bcdedit -store S:\EFI\Microsoft\Boot\BCD -create {bootmgr} /d "Boot Manager"
  59. bcdedit -store S:\EFI\Microsoft\Boot\BCD -create {globalsettings} /d "globalsettings"
  60. bcdedit -store S:\EFI\Microsoft\Boot\BCD -create {dbgsettings} /d "debugsettings"
  61. bcdedit -store S:\EFI\Microsoft\Boot\BCD -create {ramdiskoptions} /d "ramdiskoptions"
  62. bcdedit -store S:\EFI\Microsoft\Boot\BCD -create /d "Windows PE" -application osloader

  63. bcdedit -store S:\EFI\Microsoft\Boot\BCD /default <GUID from Windows PE store>

  64. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {Default} device ramdisk=[C:]\sources\boot.wim,{ramdiskoptions}
  65. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {Default} path \windows\system32\winload.efi
  66. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {Default} osdevice ramdisk=[C:]\sources\boot.wim,{ramdiskoptions}
  67. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {Default} systemroot \windows
  68. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {Default} winpe yes
  69. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {Default} nx optin
  70. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {Default} detecthal yes
  71. bcdedit -store S:\EFI\Microsoft\Boot\BCD -displayorder {Default} -addfirst

  72. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {dbgsettings} debugtype Serial
  73. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {dbgsettings} debugport 1
  74. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {dbgsettings} baudrate 115200

  75. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {ramdiskoptions} ramdisksdidevice partition=C:
  76. bcdedit -store S:\EFI\Microsoft\Boot\BCD -set {ramdiskoptions} ramdisksdipath \sources\boot.sdi

  77. :BCD_END
  78. if not "%TEST_OPT%"=="" (
  79.     echo 确认添加的引导信息
  80.     bcdedit %TEST_OPT% /enum all
  81.     echo 确认信息无误后,按任意键将引导信息添加到系统启动菜单
  82.     pause
  83.     set TEST_OPT=
  84.     goto :BCD_EDIT
  85. )
  86. echo 添加引导信息到系统启动菜单成功
  87. pause
复制代码


我自己用的这个,能启动boot.wim,你参照看看。
回复

使用道具 举报

4#
发表于 2017-2-24 10:44:17 | 只看该作者
本帖最后由 cy-hong 于 2017-2-24 11:02 编辑

楼主,求分享如图的软件。。。

晕,原来就是BOOTICE里带的,,我以为是,,,新东西
回复

使用道具 举报

5#
发表于 2017-2-24 13:53:57 | 只看该作者
你用bcdedit命令看下两个启动项哪里不同
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-26 19:41

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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