|
6#
发表于 2016-6-26 18:02:26
来自手机
|
只看该作者
红毛樱木 发表于 2016-6-26 15:50
我之前用bcdedit在win7下引导win8的wim不成功。。。后来换bootmgr才行。
也可能是我写的bcdedit命令问题 ...
那是你方法不对, 用我写的这个批处理
1:当PE.wim 和BOOT.SDI在同一文件夹时,直截拖动文件夹到本批处理窗口;
2:当PE.wim在根目录时直截拖放任意分区任意文件夹到本批处理,它会让你设定单独的WIM文件
3:默认指定了系统分区BOOT文件夹下的boot.SDI,没有会要求指定
4: BOOT.SDI和Wim可以是任意名,可以指定BCD文件,不指定为当前系统的(PE下必须指定BCD且必须有bcdedit组件)
- @echo off
- echo.请拖放要处理PE目录
- set var=
- set /p var=
- if not defined var (cls&%0)
- if /i "%var:~-4,1"=="." (cls&%0)
- cd /d %var% && for /f %%i in ('dir /a-d/b/s *.wim *.sdi') do (
- if /i "%%~xi"==".wim" set "wim=%%i"
- if /i "%%~xi"==".sdi" set "sdi=%%i"
- )
- :wim
- if defined wim (
- set "drw=%wim:~0,2%"
- set "dpw=%wim:~2%"
- ) else (
- echo.%var% 目录不存在WIM文件
- echo.请指定PE 的 WIM文件
- set /p wim=
- goto :wim
- )
- :sdi
- if defined sdi (
- set "dri=%sdi:~0,2%"
- set "dpi=%sdi:~2%"
- ) else (
- if exist %SystemDrive%\boot\boot.sdi (
- set "dri=%SystemDrive%"
- set "dpi=\boot\boot.sdi"
- ) else (
- echo. %var% 目录不存在SDI文件
- echo. 请指定SDI文件
- set /p sdi=
- goto :sdi
- )
- )
- :st
- set store=
- echo.将要外理的BCD拖入本窗口,如果是添加到当前操作系统直截回车
- echo.
- set /p store=
- if defined store set "store=/store %store%"
- :name
- cls
- echo. 请为启动菜单取个名:
- echo.
- set name=
- set /p name=
- if not defined name goto :name
- for /f "tokens=2 delims={}" %%i in ('bcdedit %store% /create /d "%name%" /device ') do set "guid={%%i}"
- rem 设置boot.sdi所在分区
- bcdedit %store% /set %guid% ramdisksdidevice partition=%dri%
- rem 设置BOOT.sdi所在路径
- bcdedit %store% /set %guid% ramdisksdipath %dpi%
-
- for /f "tokens=2 delims={}" %%i in ('bcdedit %store% /create /d "%name%" /application osloader ') do set "guid2={%%i}"
- rem ——设定启动设备(即:boot.wim文件)
- bcdedit %store% /set %guid2% device ramdisk=[%drw%]%dpw%,%guid%
- rem ——设定系统设备(即:boot.wim文件)
- bcdedit %store% /set %guid2% osdevice ramdisk=[%drw%]%dpw%,%guid%
- rem ——设定启动程序(winload.exe)的路径
- bcdedit %store% /set %guid2% path \windows\system32\winload.exe
- rem ——设定系统的根目录
- bcdedit %store% /set %guid2% systemroot \windows
- rem ——开启detecthal支持
- bcdedit %store% /set %guid2% detecthal yes
- rem ——开启winpe支持
- bcdedit %store% /set %guid2% winpe yes
- rem ——设置nx为optin
- bcdedit %store% /set %guid2% nx optin
- rem ——设置为最后一项显示。
- bcdedit %store% /displayorder %guid2% /addlast
- pause
复制代码 |
|