无忧启动论坛

标题: 关于用BCDEDIT建立BCD的问题 [打印本页]

作者: 0cat0    时间: 2010-5-4 19:09
标题: 关于用BCDEDIT建立BCD的问题
因为在VM下面试了N次不成功,所以想问一下大家是我的命令有问题还是其它的问题?

说明一下我的VM测试环境,C盘安装了XP,WIN7.VHD放在D盘子目录里面,用以下CMD去建立C盘的BCD文件,试了N次都失败,启动菜单是有的,可以看到,就是无法进VHD,不知道是什么原因。。。。。。。

@ECHO OFF
@CD /D "%~DP0"
@ATTRIB -R -A -S -H "%~DP0BOOTMGR"
IF NOT EXIST "C:\BOOTMGR" @COPY /Y /V "%~DP0BOOTMGR" "C:\" >NUL
@ATTRIB -R +A +S +H "C:\BOOTMGR"
IF NOT EXIST "C:\BOOT\" @MD "C:\BOOT\"
@ATTRIB -R +A +S +H "C:\BOOT"
IF EXIST "C:\BOOT\BCD" @COPY /Y /V "C:\BOOT\BCD" "C:\BOOT\BCD_BAK" >NUL
IF EXIST "C:\BOOT\BCD" @DEL /F /A /Q "\\?\C:\BOOT\BCD" >NUL
BOOTSECT.EXE /NT60 "C:" /FORCE /MBR >NUL
BCDEDIT.EXE /CREATESTORE "C:\BOOT\BCD" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /CREATE {BOOTMGR} /D "Windows Boot Manager" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {BOOTMGR} DEVICE PARTITION="C:" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {BOOTMGR} LOCALE "zh-CN" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /CREATE {NTLDR} /D "Microsoft Windows XP Professional" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {NTLDR} DEVICE PARTITION="C:" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {NTLDR} PATH "\NTLDR" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /DISPLAYORDER {NTLDR} /ADDFIRST >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /DEFAULT {NTLDR} >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {BOOTMGR} TIMEOUT "9" >NUL
@SET VID=
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /CREATE /D "%~DP0WIN7.VHD" /APPLICATION OSLOADER >"%TEMP%\VID.TXT"
FOR,/F,"TOKENS=2 DELIMS={",%%I,IN (%TEMP%\VID.TXT) DO (SET VIDA=%%I)
FOR,/F,"TOKENS=1 DELIMS=}",%%I,IN ("%VIDA%") DO (SET VID={%%I})
ECHO %VID%>"%TEMP%\VID.TXT"
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% DEVICE VHD="[%~D0]%~P0WIN7.VHD" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% PATH "\WINDOWS\SYSTEM32\WINLOAD.EXE" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% LOCALE "zh-CN" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% SYSTEMROOT "\WINDOWS" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% NX "OptIn" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% OSDEVICE VHD="[%~D0]%~P0WIN7.VHD" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% DETECTHAL ON >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /DISPLAYORDER %VID% /ADDLAST >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /TIMEOUT 9 >NUL
@DEL /F /A /Q "%TEMP%\VID.TXT" >NUL
PAUSE

另外,如果用一个建立好的BCD是没问题的,下面这个是我拿别的BCD改好的“空的”的BCD,体积只有8K,如果用这个BCD,然后用以下命令行,可以正常进入VHD,经过多次的对比,发现自己创立出来的BCD与用这个现有BCD建立出来的BCD用BcdTool查看是一样的。。。但自己建立的就不无法进VHD,郁闷了。。。。。。。。。请大家帮忙看一下,多谢了。。。。。。。。。。

@ECHO OFF
@CD /D "%~DP0"
@ATTRIB -R -A -S -H "%~DP0BOOTMGR"
IF NOT EXIST "C:\BOOTMGR" @COPY /Y /V "%~DP0BOOTMGR" "C:\" >NUL
@ATTRIB -R +A +S +H "C:\BOOTMGR"
IF NOT EXIST "C:\BOOT\" @MD "C:\BOOT\"
@ATTRIB -R +A +S +H "C:\BOOT"
IF EXIST "C:\BOOT\BCD" @COPY /Y /V "C:\BOOT\BCD" "C:\BOOT\BCD_BAK" >NUL
@COPY /Y /V "%~DP0BCD_BAK" "C:\BOOT\BCD" >NUL
@ATTRIB -R -A -S -H "C:\BOOT\BCD"
BOOTSECT.EXE /NT60 "C:" /FORCE /MBR >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /CREATE {NTLDR} /D "Microsoft Windows XP Professional" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {NTLDR} DEVICE PARTITION="C:" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {NTLDR} PATH "\NTLDR" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /DISPLAYORDER {NTLDR} /ADDFIRST >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /DEFAULT {NTLDR} >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET {BOOTMGR} TIMEOUT "9" >NUL
@SET VID=
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /CREATE /D "%~DP0WIN7.VHD" /APPLICATION OSLOADER >"%TEMP%\VID.TXT"
FOR,/F,"TOKENS=2 DELIMS={",%%I,IN (%TEMP%\VID.TXT) DO (SET VIDA=%%I)
FOR,/F,"TOKENS=1 DELIMS=}",%%I,IN ("%VIDA%") DO (SET VID={%%I})
ECHO %VID%>"%TEMP%\VID.TXT"
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% DEVICE VHD="[%~D0]%~P0WIN7.VHD" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% PATH "\WINDOWS\SYSTEM32\WINLOAD.EXE" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% LOCALE "zh-CN" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% SYSTEMROOT "\WINDOWS" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% NX "OptIn" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% OSDEVICE VHD="[%~D0]%~P0WIN7.VHD" >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /SET %VID% DETECTHAL ON >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /DISPLAYORDER %VID% /ADDLAST >NUL
BCDEDIT.EXE /STORE "C:\BOOT\BCD" /TIMEOUT 9 >NUL
@DEL /F /A /Q "%TEMP%\VID.TXT" >NUL

[ 本帖最后由 0cat0 于 2010-5-7 12:10 编辑 ]

BCD_BAK[8K].rar

915 Bytes, 下载次数: 93, 下载积分: 无忧币 -2


作者: fujianabc    时间: 2010-5-4 19:55
你把你的不能启动的bcd放上来看看。
还有不能启动时提示信息是什么?
作者: 0cat0    时间: 2010-5-4 20:09
原帖由 fujianabc 于 2010-5-4 19:55 发表
你把你的不能启动的bcd放上来看看。
还有不能启动时提示信息是什么?


这是出错截图:


附件是不能进VHD的BCD:

BCD不能进VHD.rar

1.78 KB, 下载次数: 78, 下载积分: 无忧币 -2


作者: yueyezhan    时间: 2010-5-4 20:16
Windows 启动加载器
-------------------
标识符                  {dcacadb2-5774-11df-aea2-000c298e488f}
device                  vhd=[D:]\My_BOOT\WIN7.VHD
path                     \WINDOWS\SYSTEM32\WINLOAD.EXE
inherit                 {bootloadersettings}
description             vhdwindows7
locale                  zh-CN
osdevice                vhd=[D:]\My_BOOT\WIN7.VHD
systemroot              \WINDOWS
nx                      OptIn
detecthal               Yes

[ 本帖最后由 yueyezhan 于 2010-5-4 20:20 编辑 ]
作者: yueyezhan    时间: 2010-5-4 20:26
Windows 启动管理器
--------------------
标识符                  {bootmgr}
device                  unknown
description             Windows Boot Manager
locale                  zh-CN
default                 {ntldr}
displayorder            {ntldr}
                        {dcacadb2-5774-11df-aea2-000c298e488f}
timeout                 9

Windows 旧 OS 加载器
------------------------
标识符                  {ntldr}
device                  unknown
path                    \NTLDR
description             Microsoft Windows XP Professional

Windows 启动加载器
-------------------
标识符                  {dcacadb2-5774-11df-aea2-000c298e488f}
device                  locate=\WINDOWS\SYSTEM32\WINLOAD.EXE
path                    \WINDOWS\SYSTEM32\WINLOAD.EXE
description             D:\My_BOOT\WIN7.VHD
locale                  zh-CN
osdevice                locate=\WINDOWS
systemroot              \WINDOWS
nx                      OptIn
detecthal               Yes

这个是你传上来的bcd的内容,条目对应的内容错乱了
作者: fujianabc    时间: 2010-5-4 20:31
看5楼的,楼主的device和osdevice都不对。

应该像4楼那样才对。
作者: 0cat0    时间: 2010-5-4 20:38
先多谢大家的回复,BCD不对是一定的,但我是想找出我的命令行哪出错了,怎么会建立出来的BCD会这样?错在哪呢?我自己看了很久没看出来,还请麻烦大家指出来。。。。。。。。。

[ 本帖最后由 0cat0 于 2010-5-4 20:40 编辑 ]
作者: yueyezhan    时间: 2010-5-4 21:47
好像是device 不支持你在批命令里那样写,你在@SET VID=上面一行加上set drive=%~D0
然后把DEVICE和OSDEVICE的VHD="[%~D0]替换成VHD="[%drive%]试试
作者: 0cat0    时间: 2010-5-5 01:39
标题: 回复 #8 yueyezhan 的帖子
这个写法应该没问题呀,我现在用单系统XP的实机运行了第一个CMD,显示是正常的,又新建了一下VM测试了一下也是正常的,郁闷了。。。。。。。。。。可能是原来的VM有问题,等明天去那台机子上重做一下VM里面的系统再试一下看有没有问题。。。。。

上截图:

[ 本帖最后由 0cat0 于 2010-5-5 01:48 编辑 ]

2010-05-05_014337.png (51.85 KB, 下载次数: 155)

2010-05-05_014337.png

2010-05-05_014517.png (39.64 KB, 下载次数: 180)

2010-05-05_014517.png

2010-05-05_014615.png (50.77 KB, 下载次数: 169)

2010-05-05_014615.png

作者: 0cat0    时间: 2010-5-5 01:51
另外想问一下,上面截图最后一张,右边那个
device                  unknown

用什么命令可以建立,自己怎么弄都弄不出来这个。。。。。。。。。
作者: yueyezhan    时间: 2010-5-5 02:06
你如果只直接拷贝的bcd出来,好像就是unknown,大概表示是一个未知或者不存在的分区吧;你用bcdedit /export导出的就会保持原来的内容
作者: 0cat0    时间: 2010-5-5 09:56
还是找不出问题出在哪???

再次上传两个BCD,一个是好的,一个是坏的,我对比过,但怎么也找不出问题,请大家帮忙看看问题出错在哪了?

发现个问题,这两个文件用以下命令查看,在VM有实机不一样的,直接上图:

BCDEDIT.EXE /STORE "BCD_OK" /ENUM  ACTIVE >BCD_OK.TXT.TXT
BCDEDIT.EXE /STORE "BCD_BAD" /ENUM  ACTIVE >BCD_BAD.TXT.TXT

2010-05-05_095503.png (31.07 KB, 下载次数: 139)

2010-05-05_095503.png

2010-05-05_095506.png (30.65 KB, 下载次数: 128)

2010-05-05_095506.png

2010-05-05_095543.png (38.82 KB, 下载次数: 147)

2010-05-05_095543.png

BAD.rar

2.7 KB, 下载次数: 60, 下载积分: 无忧币 -2


作者: fujianabc    时间: 2010-5-5 22:34
除了GUID号之外基本没什么差别,我用regedit把两个bcd倒成注册表格式,然后比较,只有蓝框所画的一处差别。




[ 本帖最后由 fujianabc 于 2010-5-5 22:57 编辑 ]
作者: fujianabc    时间: 2010-5-5 22:57
看了一下几台nt6.x的机子(包括vista,2008 ,win7)硬盘上的bcd都有system=1这个项目。而安装光盘的bcd则没有system这一项。
估计安装程序用这一项来判断安装目标和安装源的bcd的(比如从移动硬盘安装,安装程序就通过这一项来确定要更改那个bcd)
作者: 0cat0    时间: 2010-5-6 00:07
标题: 回复 #14 fujianabc 的帖子
多谢回复,想问一下,怎么用REG导出来的?还有,要怎么添加一项?

因为我从命令行建立出来的BCD都不行,估计是我用的命令有错,但我找不到出错的地方,fujianabc 大大能给个用命令行建立正常的BCD的例子吗?

[ 本帖最后由 0cat0 于 2010-5-6 00:11 编辑 ]
作者: fujianabc    时间: 2010-5-6 08:54
原帖由 0cat0 于 2010-5-6 00:07 发表
多谢回复,想问一下,怎么用REG导出来的?还有,要怎么添加一项?

因为我从命令行建立出来的BCD都不行,估计是我用的命令有错,但我找不到出错的地方,fujianabc 大大能给个用命令行建立正常的BCD的例子吗?

bcd文件就是注册表格式,可以直接挂在注册表上。默认情况下,系统的bcd挂在hklm\BCD00000000下

那个system项貌似无法用bcdedit添加。

建议你别这么麻烦了,直接准备一个可用的bcd(bcd_ok),然后批处理中就加入复制bcd文件然后用bcdedit修改device和osdevice即可。

[ 本帖最后由 fujianabc 于 2010-5-6 08:56 编辑 ]
作者: 0cat0    时间: 2010-5-6 09:33
标题: 回复 #16 fujianabc 的帖子
太感谢了,现在知道怎么导入注册表了,呵呵。。。。。。。。

我现在就是直接拿个好的BCD,然后修改的,本来是想自己建一个新的,这样应该会比较少垃圾,现在看来只能拿好的修了,等以后有方法了再改。。。。。。。。

再次多谢 fujianabc 大大的帮助。。。。。。。。。。。。。

现在可能开始折腾“免sysprep”了。。。。。。。。。。。。
作者: 0cat0    时间: 2010-5-6 11:27
试了一下,正常的“空的”BCD只要下面注册表几项就OK了:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\11111111]

[HKEY_LOCAL_MACHINE\11111111\Description]
"KeyName"="BCD00000000"
"System"=dword:00000001

[HKEY_LOCAL_MACHINE\11111111\Objects]

[HKEY_LOCAL_MACHINE\11111111\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}]

[HKEY_LOCAL_MACHINE\11111111\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Description]
"Type"=dword:10100002

[HKEY_LOCAL_MACHINE\11111111\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements]

[HKEY_LOCAL_MACHINE\11111111\Objects\{9dea862c-5cdd-4e70-acc1-f32b344d4795}\Elements\12000004]
"Element"="Windows Boot Manager"
作者: tdq868xin    时间: 2010-5-6 13:08
楼主,3#中提到的问题你解决了吗?如已解决,麻烦提供一下方法步骤,谢谢!
作者: 0cat0    时间: 2010-5-6 13:31
原帖由 tdq868xin 于 2010-5-6 13:08 发表
楼主,3#中提到的问题你解决了吗?如已解决,麻烦提供一下方法步骤,谢谢!


解决了,那个问题是因为菜单有问题,就是上面 fujianabc 大大说的少了一项“system=1”

解决的办法就是按上面说的,自己先建立一个或找一个可以用的BCD,然后修改为自己要的菜单项就行了。。。。

上传一个自己建的“空的:只有8K的BCD吧

[ 本帖最后由 0cat0 于 2010-5-6 13:37 编辑 ]

BCD_OK_BAK.rar

835 Bytes, 下载次数: 131, 下载积分: 无忧币 -2


作者: tdq868xin    时间: 2010-5-7 09:37
标题: 回复 #20 0cat0 的帖子
下载楼主的BCD文件然后加入菜单试了一下,没有成功。
请问: BCD文件如何导入注册表的?
作者: 0cat0    时间: 2010-5-7 10:29
标题: 回复 #21 tdq868xin 的帖子
不会吧,这个我在VM和实机上面都试过了,没有问题呀,这个是空的,里面没有启动项的,一定要自己加项目,如果是想启动VHD,最少要以下几项,不然启动出错:

BCDEDIT.EXE /CREATE /D "X:\XXX.VHD" /APPLICATION OSLOADER
BCDEDIT.EXE /SET "XXX.VHD.ID" DEVICE "VHD=[X:]\XXX.VHD"
BCDEDIT.EXE /SET "XXX.VHD.ID" PATH "\WINDOWS\SYSTEM32\WINLOAD.EXE"
BCDEDIT.EXE /SET "XXX.VHD.ID" OSDEVICE "VHD=[X:]\XXX.VHD"
BCDEDIT.EXE /SET "XXX.VHD.ID" SYSTEMROOT "\WINDOWS"
作者: tdq868xin    时间: 2010-5-7 10:45
标题: 回复 #22 0cat0 的帖子
detecthal  yes
这一项不要?
另外,我是用grldr引导bootmgr的,我有些怀疑是这个原因,因为本机(实机)直接从bootmgr引导是正常的,同样的BCD文件,移到U盘上通过grldr引导bootmgr安装就出现3#的提示。
作者: 0cat0    时间: 2010-5-7 10:46
如果还不行,可以用这个帖子里面的CMD试试,

http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1

因为我测试的时候用的就是这两个CMD
作者: 0cat0    时间: 2010-5-7 10:49
标题: 回复 #23 tdq868xin 的帖子
U盘启动还在还没有折腾过,detecthal  yes应该要,U盘还要改注册表,请看下面的帖子:

http://bbs.wuyou.net/forum.php?m ... &extra=page%3D3
作者: 0cat0    时间: 2010-5-7 10:53
标题: 回复 #21 tdq868xin 的帖子
对了,还没说怎么导入注册表,呵呵,BCD文件是注册表格式我也是听了fujianabc 大大说了才知道的,直接在hklm上面点加载,然后输入名字就可以导入了,想改的话改一下权限,改完卸载就行了。。。。。。。。

你可以导入你在U盘启动不了的BCD到注册表里面看一下, 是不是有SYSTEM=1这项。。。。。。。。

[ 本帖最后由 0cat0 于 2010-5-7 10:55 编辑 ]
作者: tdq868xin    时间: 2010-5-7 11:56
标题: 回复 #26 0cat0 的帖子
谢谢,已经看到加载配置文件了
有“SYSTEM=1”
暂时仍未成功
作者: fujianabc    时间: 2010-5-7 12:01
原帖由 tdq868xin 于 2010-5-7 10:45 发表
detecthal  yes
这一项不要?
另外,我是用grldr引导bootmgr的,我有些怀疑是这个原因,因为本机(实机)直接从bootmgr引导是正常的,同样的BCD文件,移到U盘上通过grldr引导bootmgr安装就出现3#的提示。

第一次启动时,bcd文件必须位于系统所在硬盘的激活住分区上,其他分区/设备都不行。

如果你的bcd文件在u盘,系统在硬盘上肯定出现3楼的错误。

如果你整个系统和bcd都在u盘上,则不会有问题。
作者: tdq868xin    时间: 2010-5-7 12:06
标题: 回复 #28 fujianabc 的帖子
谢谢 fujianabc和 0cat0的解答
vmware里已经正常
启动文件放在U盘,VHD放在本机硬盘失败,原因应该就是fujianabc大大提到的“第一次启动时,bcd文件必须位于系统所在硬盘的激活住分区上,其他分区/设备都不行。”
作者: tdq868xin    时间: 2010-5-7 12:08
bcd文件应与启动的VHD文件应在同一硬盘(或移动存储设备),并且BCD文件所在分区为激活分区,
fujianabc大大,不知我的理解是否正确。
如果是双硬盘,启动文件在A磁盘,VHD在另一磁盘B上,那样也不能正常安装了,太不人性化了,呵呵!

[ 本帖最后由 tdq868xin 于 2010-5-7 12:18 编辑 ]
作者: 0cat0    时间: 2010-5-7 12:17
标题: 回复 #30 tdq868xin 的帖子
这个办法应该可以,我在VM下面用单硬盘干净的,里面只放了BCD、VHD,然后修改引导,把硬盘设置成主盘并激活,是可以的,但如果有两个硬盘的时候(两个硬盘都有BCD,都设成主盘并激活),启动的时候就去BIOS设置成主盘的那个硬盘上面读BCD,所以你可以先试一下把电脑里硬盘全部禁用,如果可以正常说明BCD和VHD是没有问题的。。。。。。。。。。
作者: fujianabc    时间: 2010-5-7 16:16
原帖由 tdq868xin 于 2010-5-7 12:08 发表
如果是双硬盘,启动文件在A磁盘,VHD在另一磁盘B上,那样也不能正常安装 ...

不知道,你试一下看看。
作者: 0cat0    时间: 2010-5-7 16:24
原帖由 tdq868xin 于 2010-5-7 12:08 发表
bcd文件应与启动的VHD文件应在同一硬盘(或移动存储设备),并且BCD文件所在分区为激活分区,
fujianabc大大,不知我的理解是否正确。
如果是双硬盘,启动文件在A磁盘,VHD在另一磁盘B上,那样也不能正常安装 ...



双硬盘是可以的,我在VM里面就是一个硬盘装XP,另一个硬盘放VHD的,BCD是放在XP的硬盘上的。。。。。。
作者: fujianabc    时间: 2010-5-7 19:41
原帖由 0cat0 于 2010-5-7 16:24 发表



双硬盘是可以的,我在VM里面就是一个硬盘装XP,另一个硬盘放VHD的,BCD是放在XP的硬盘上的。。。。。。

你是把xp的硬盘设为第一硬盘吧。
作者: tdq868xin    时间: 2010-5-7 19:50
标题: 回复 #32 fujianabc 的帖子
刚刚在虚拟机VMWare中试了双磁盘情况如下:
1、A磁盘为SCSI磁盘,仅一个激活分区,安装XP系统,启动文件放在此分区,能过NTLDR-->GRLDR--->BOOTMGR--->BCD启动B磁盘内windows7的VHD文件,B磁盘为IDE磁盘,一个激活主分区,一个逻辑分区,VHD文件放在B磁盘逻辑分区;A磁盘设为第一磁盘。
结果:失败,配置注册表后安装设备时出现3#所示问题
2、A磁盘改为IDE磁盘,其他同1。
结果:正常。
另外单用磁盘B时,激活主分区里安装XP系统,启动文件放在此分区,其余同1,结果同样正常

注:以上测试都是在BCD文件包括“system=1”内容,fujianabc 大大指出的这一点太重要了,谢谢!

[ 本帖最后由 tdq868xin 于 2010-5-7 19:57 编辑 ]
作者: tdq868xin    时间: 2010-5-7 20:17
原帖由 tdq868xin 于 2010-5-7 12:08 发表
bcd文件应与启动的VHD文件应在同一硬盘(或移动存储设备),并且BCD文件所在分区为激活分区,
fujianabc大大,不知我的理解是否正确。
如果是双硬盘,启动文件在A磁盘,VHD在另一磁盘B上,那样也不能正常安装 ...

从今天我个人的尝试来看:如BCD文件与VHD分别放在两个硬盘是可以正常安装的,但是如果把BCD放在U盘,VHD放在硬盘是失败的,不知原因是什么,可有办法解决?
作者: q67512    时间: 2010-5-7 20:41
貌似以前我安装vhd的时候也出现这个问题,后来才知道是没有把win7的启动文件用命令bcdboot %vhd_drive%\windows /s %sys_drive%弄到别的盘,不知道楼主有没有这样弄过。
作者: tdq868xin    时间: 2010-5-7 20:49
网上搜到一个在window7系统里修改VHD文件内系统注册表的方法,如下:
首先,将准备好的win7.vhd文件挂载到windows7下。例如:挂在到V盘。
在本机中运行regedit打开注册表编辑器,点击HKEY_LOCAL_MACHINE,然后点 文件, 加载配置单元,然后会打开资源管理器,浏览到 v:\Windows\System32\config\XXX    XXX是个无后缀名的文件,其实就是注册表数据库。打开之后,在项名称中填入名字,随便起个名字TEMP。就可以编辑了。
引自http://dkcccc.blog.51cto.com/1138935/283005
作者: fujianabc    时间: 2010-5-7 21:18
原帖由 tdq868xin 于 2010-5-7 20:17 发表

从今天我个人的尝试来看:如BCD文件与VHD分别放在两个硬盘是可以正常安装的,但是如果把BCD放在U盘,VHD放在硬盘是失败的,不知原因是什么,可有办法解决?

你为什么要把bcd放u盘,vhd放硬盘呢?

其实这也只是第一次启动时不允许这样,因为第一次启动时对bcd限制比较严格。
你可以先把bcd放在硬盘上,等系统安装完成后,再在u盘上建一个bootmgr+bcd就可以了,之后用u盘的bcd引导硬盘的vhd是没问题的。
作者: tdq868xin    时间: 2010-5-7 21:29
标题: 回复 #39 fujianabc 的帖子
呵呵,确实没有必要,搞起好耍的,安装好后再从U盘启动我搞过。
作者: 小豪diao    时间: 2012-3-11 23:36
之前win7都是用VHD安装,所以很早就遇到楼主所遇到的问题“Windows无法安装到该设备上”

弄了N次,求救了N个群。

后来找到直接解决方法shift+f12调出CMD输入cd oobe  ,输入msoobe。安装即可继续。

看来回帖的各位都是从根本上找了原因,还找到了,深表佩服
作者: pcsam    时间: 2013-9-22 05:08
0cat0 发表于 2010-5-6 11:27
试了一下,正常的“空的”BCD只要下面注册表几项就OK了:

Windows Registry Editor Version 5.00


Ar...Sorry.中文不好,要求大家原諒..

我是說 might be You should Say "COPY" {current} ,not "Create" {boot loader}

The concept is copy {這個使用中的ID的內容}


\>Bcdedit /copy {current} /d "My_OS.VHD "
已順利將項目複製到 {6194baba-22c7-11e3-afa2-00214ff8be68}。

and then copy the {id}

\>bcdedit /set {6194baba-22c7-11e3-afa2-00214ff8be68} device VHD=[y:]\path\file.vhd"

.....

作者: xinzi    时间: 2013-9-23 13:33
发,顶一下呀,呵呵




欢迎光临 无忧启动论坛 (http://wuyou.net/) Powered by Discuz! X3.3