无忧启动论坛

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

求助,PE1.x环境下,如何为硬盘上的win7/vista系统添加启动项

[复制链接]
跳转到指定楼层
1#
发表于 2010-4-13 02:47:35 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
win7/vista环境下,可通过bcdedit修改其启动项

请问,pe1.x环境下,如何通过命令行实现这一功能?
10#
发表于 2010-4-13 11:57:54 | 只看该作者
这是我以前在用的,你试试

@echo off
rem 将启动设置备份到D盘 “VistaBCD” 目录下
md D:\VistaBCD
attrib D:\VistaBCD +h +s
bcdedit /export "D:\VistaBCD\BcdPE"
attrib c:\boot.* -r -s -h
del /f c:\boot.*
COLOR f9
set vid=
set timeout=5
set gname=一个人WinPE系统
set gname2=\ygren.mbr
TITLE 设置一个人 WinPE 系统的Vista引导
bcdedit >temp_bcd.txt
type temp_bcd.txt | find "Windows Boot Manager" >nul && goto bcd_1
goto exit
:bcd_1
bcdedit >temp_bcd.txt
type temp_bcd.txt | find "%gname2%" >nul && goto un_bcd_1
bcdedit  /create /d "%gname%" /application bootsector >%windir%\pevid.ini
for,/f,"tokens=2 delims={",%%i,In (%windir%\pevid.ini) Do (
              set vida=%%i
)
for,/f,"tokens=1 delims=}",%%i,In ("%vida%") Do (
              set vid={%%i}
)
echo %vid%>%windir%\pevid.ini
bcdedit  /set %vid% device partition=%systemdrive%  >nul
bcdedit  /set %vid% path %gname2% >nul
bcdedit  /displayorder %vid% /addlast >nul
bcdedit  /timeout  %timeout% >nul
goto exit
:un_bcd_1
for,/f,"tokens=1",%%i,In (%windir%\pevid.ini) Do (
                set vid=%%i
)
bcdedit /delete %vid% /cleanup >nul
del %windir%\pevid.ini
goto bcd_1
:exit
del /f temp_bcd.txt
cd \
del /f /q /s boot.ini
del /f VistaBootPE.cmd
回复

使用道具 举报

9#
发表于 2010-4-13 11:09:50 | 只看该作者
原帖由 NicTense 于 2010-4-13 10:48 发表
@liujun2000
谢了,一眼就看到 /store 参数,貌似这个是解决方法,具体还得测试一下,奇怪了,我 bcdedit /? 没有显示 /store参数阿

C:\Users\Administrator>bcdedit /set /?

此命令设置引导配置数据存储中的项选项值。

bcdedit [/store <filename>] /set [{<id>}] <datatype> <value> [ /addfirst | /add
ast | /remove ]

    <filename>  指定要使用的存储。如果未指定此选项,则使用系统存储。
                有关详细信息,请运行 "bcdedit /? store"。

    <id>        指定要修改的项的标识符。如果未指定,则使用 {current}。
                有关标识符的详细信息,请运行 "bcdedit /? ID"。

    <datatype>  指定将创建或修改的选项数据类型。
                有关数据类型的详细信息,请运行 "bcdedit /? TYPES"。

    <value>     指定应分配给该选项的值。<value> 的格式取决于指定的数据类型。
                有关数据格式的详细信息,请运行 "bcdedit /? FORMATS"。

  /addfirst     仅当数据类型是对象列表时才能使用此开关。
                将指定的项标识符添加到列表的顶部。
                如果已指定此开关,则只能指定一个项标识符。
                如果所指定的标识符已在列表中,请将它移到列表顶部。

    /addlast    仅当数据类型是对象列表时才能使用此开关。
                将指定的项标识符添加到列表的结尾。
                如果已指定此开关,则只能指定一个项标识符。
                如果所指定的标识符已在列表中,它将被移到列表结尾。

    /remove     仅当数据类型是对象列表时才能使用此开关。
                请从列表中删除指定的项标识符。
                如果已指定此开关,则只能指定一个项标识符。
                如果此标识符不在列表中,则操作无效。
                如果正在删除最后一项,则此数据类型值也将被删除。

示例:

对于指定的操作系统项,下列命令将应用程序设备设置到 C: 分区:

    注意: 使用 "hd_partiton=" 语法显式禁用自动 VHD 检测,并
          创建与启动虚拟机兼容的项目,例如,

    bcdedit /store Foocd /set {default} device hd_partition=F:

对于指定的操作系统项,下列命令将操作系统设备设置到 VHD 文件(C:\vdisks\vdisk01.v
d)

    bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} osdevice
        vhd=[C:]\vdisks\disk01.vhd

对于指定的操作系统项,下列命令将应用程序路径设置到 \windows\system32\winload.ex
:

    bcdedit /set {cbd971bf-b7b8-4885-951a-fa03044f5d71} path
        \windows\system32\winload.exe

对于当前的操作系统启动项,下列命令将 NX 策略设置到 OptIn。

    bcdedit /set nx optin

C:\Users\Administrator>

[ 本帖最后由 yjstone 于 2010-4-13 11:12 编辑 ]
回复

使用道具 举报

8#
发表于 2010-4-13 10:58:02 | 只看该作者
用 bcdtool  挺方便的!我喜欢GUI的

靠,忘了,你比较愿意用命令行  这样能自动化!而且更灵活

[ 本帖最后由 caomaoLBL 于 2010-4-13 10:59 编辑 ]
回复

使用道具 举报

7#
 楼主| 发表于 2010-4-13 10:48:10 | 只看该作者
@fujianabc
bcdboot 好像只能设置win7启动项,比如我要将pe在pe环境下装到bcd启动项里,用bcdboot怎么实现呢?

@liujun2000
谢了,一眼就看到 /store 参数,貌似这个是解决方法,具体还得测试一下,奇怪了,我 bcdedit /? 没有显示 /store参数阿

@dvd2008
boot.ini不是个好办法,因为会被安装到2层目录,而且如果用boot.ini可以直接修改原来的,或者生成新的,比复制更灵活
GUI 不是我要的,因为无法实现程序自动处理
bcdedit,我试了在pe下使用出错,原因应该就是找不到启动项目录,看了2楼有点眉目了

[ 本帖最后由 NicTense 于 2010-4-13 10:53 编辑 ]
回复

使用道具 举报

6#
发表于 2010-4-13 10:29:25 | 只看该作者
我觉得很有难度。
因为硬盘Win7的启动文件等跟光盘上的有差异。
建议还是在Win7/Vista系统下添加启动项
回复

使用道具 举报

5#
发表于 2010-4-13 09:27:11 | 只看该作者
我看是没有权限修改硬盘上的BCD文件吧?
回复

使用道具 举报

4#
发表于 2010-4-13 09:18:33 | 只看该作者
用bcdboot命令
回复

使用道具 举报

3#
发表于 2010-4-13 07:54:34 | 只看该作者
一样操作,
我维护工具提供的bcdedit 可以在03pe下使用

另外,通过做好的boot.ini实现更简单,只需要copy 即可

图形界面工具,直接修改bcd就更简单了
回复

使用道具 举报

2#
发表于 2010-4-13 05:11:29 | 只看该作者
我抄写人家的 呵呵
注意 :安装前请将 BOOT整个文件夹和bootmgr 拷贝到c:\
        给你借鉴嘛 呵呵

@echo off
echo.
echo Copyright (c) 2008-2009 Kinglion南狮王 版权所有. All rights reserved.
echo.
echo 请以管理员身份运行!
echo.
echo 正在初始化WIN7PEVHD VHD菜单设置
echo.

bootsect /nt60 c:

for %%j in (q w e r t y u i o p s d f g h j k l z c v n m) do (
      if exist %%j:\win7xxx.vhd set _drive=%%j
)

if not exist %_drive%:\win7xxx.vhd (
  echo 未能找到WINDOS7软件包 win7xxx.vhd,请确认win7xxx.vhd在根目录下!
echo.
  goto _done
)

REM
REM {c3150868-07ba-11de-8b1a-001d7d969be4}, GUID for the win7xxx.vhd boot entry
REM
set WIN7_GUID={48a7dec6-ee48-11dd-a728-e13bb21213c8}
bcdedit /store c:\boot\bcd /delete %WIN7_GUID%  /f
REM
REM Create Win7_vhd boot entry
REM
bcdedit.exe /store c:\boot\bcd -create %WIN7_GUID% -d "windows7600 VHD大众版" -application OSLOADER
bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% device vhd=[%_drive%:]\win7xxx.vhd
bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% path \windows\system32\boot\winload.exe
bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% osdevice vhd=[%_drive%:]\win7xxx.vhd
bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% systemroot \windows
bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% detecthal yes
bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% nx optin
rem bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% winpe yes
bcdedit.exe /store c:\boot\bcd -set %WIN7_GUID% locale "zh-CN"
bcdedit.exe /store c:\boot\bcd -displayorder %WIN7_GUID% /addlast
echo.

bcdedit.exe /store c:\boot\bcd -set {bootmgr} locale "zh-CN"
rem bcdedit.exe /store c:\boot\bcd -set {current} locale "zh-CN"
bcdedit.exe /store c:\boot\bcd -set {default} locale "zh-CN"
bcdedit.exe /store c:\boot\bcd -set {memdiag} locale "zh-CN"
bcdedit.exe /store c:\boot\bcd /timeout 10
echo.
echo Copyright (c) 2008-2009 Kinglion南狮王 版权所有. All rights reserved.
echo.
echo.
echo win7xxx.vhd (VHD)启动菜单设置完毕,重启后请选择win7xxx.vhd (VHD) 自动安装运行win7xxx.vhd VHD。
:_done
echo.
echo 欢迎访问:http://bbs.pcbeta.com/thread-397931-1-1.html
echo.
pause

[ 本帖最后由 liujun2000 于 2010-4-13 05:13 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-29 03:16

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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