无忧启动论坛

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

WinXP VHD 辅助处理工具 2011 【11-02-22最后更新】

    [复制链接]
181#
 楼主| 发表于 2011-1-23 10:31:25 | 只看该作者
原帖由 keai958 于 2011-1-23 10:22 发表


这个……我不是要偷你技术的,你不会是太多心了吧?
我的意思仅仅是:让别人有与你深度交流的机会。不交流就没有进步,这是我的观念。


不存在偷的问题。呵呵。

代码大部分是软件自动生成的,加上部分自己的,共有2万多行。
全部贴就没必要了,都是垃圾代码,也拿不出手。
你觉得哪部分关键,我贴出来。
回复

使用道具 举报

182#
 楼主| 发表于 2011-1-23 10:42:47 | 只看该作者
现在论坛好像有问题,经常看不到最后一个回复的。
回复

使用道具 举报

183#
发表于 2011-1-23 10:55:15 | 只看该作者
原帖由 lianjiang 于 2011-1-22 22:47 发表
难道是修改iso?
是的话,那就还是用户自己改吧。



修改vboot.ima文件,把vboot驱动放到放到一个新建的$OEM$里面,然后把$OEM$放到vboot.ima的根目录下
回复

使用道具 举报

184#
 楼主| 发表于 2011-1-23 11:00:50 | 只看该作者
原帖由 2010krman 于 2011-1-23 10:55 发表



修改vboot.ima文件,把vboot驱动放到放到一个新建的$OEM$里面,然后把$OEM$放到vboot.ima的根目录下



ok,我试试看。

是把vbootdsk.sys放到新建的$OEM$下?
回复

使用道具 举报

185#
发表于 2011-1-23 11:50:55 | 只看该作者
原帖由 lianjiang 于 2011-1-23 11:00 发表



ok,我试试看。

是把vbootdsk.sys放到新建的$OEM$下?



你参考下
http://u.115.com/file/f64d74d517

如果遇到不能复制.sys时,这样就可以了
回复

使用道具 举报

186#
 楼主| 发表于 2011-1-23 13:03:56 | 只看该作者
邪门了,xp下用vboot创建vhd后,映射竟然失败,看样子xp下用是没戏了。






[ 本帖最后由 lianjiang 于 2011-1-23 13:44 编辑 ]
回复

使用道具 举报

187#
发表于 2011-1-23 13:10:39 | 只看该作者
我vboot在xp下创建的vhd可以用啊但是不知道怎么挂载到启动菜单,我是用vpc测试的可以用。
回复

使用道具 举报

188#
 楼主| 发表于 2011-1-23 13:16:38 | 只看该作者
原帖由 717758565 于 2011-1-23 13:10 发表
我vboot在xp下创建的vhd可以用啊但是不知道怎么挂载到启动菜单,我是用vpc测试的可以用。


在 c:\boot.ini 中添加一个项目 :
C:\vbootldr.mbr="VBoot"

并复制相关文件到c:\
回复

使用道具 举报

189#
发表于 2011-1-23 16:31:34 | 只看该作者
xp下,创建和挂载vhd,我这边没有问题,
在想是不是lianjiang 大元帅 路径太长的关系,先将vboot资料夹copy 至 f: 下,再试试
例如改成 f:\vboot\tools\x86\vbootctl.exe mount g:\winxp.vhd
回复

使用道具 举报

190#
 楼主| 发表于 2011-1-24 09:48:22 | 只看该作者
11-01-24
☆ 增加支持WinXP下运行


部分WinXP精简系统可能由于无法映射,造成不能安装ghost版XP。
回复

使用道具 举报

191#
发表于 2011-1-24 13:42:21 | 只看该作者
可以用vbootctl这种方法在XP下安装WIN7 VHD么
回复

使用道具 举报

192#
 楼主| 发表于 2011-1-24 16:21:25 | 只看该作者
原帖由 xiaoy 于 2011-1-24 13:42 发表
可以用vbootctl这种方法在XP下安装WIN7 VHD么


装win7的就别用vboot了,直接用微软的。
vboot问题多多,至少我目前是这么认为的。
回复

使用道具 举报

193#
发表于 2011-1-24 16:39:39 | 只看该作者
顺便注明PE1.x下是无法用vbootctl挂vhd
回复

使用道具 举报

194#
 楼主| 发表于 2011-1-24 17:17:42 | 只看该作者
原帖由 zhhsh 于 2011-1-24 16:39 发表
顺便注明PE1.x下是无法用vbootctl挂vhd


运行环境:Windows 7 / 2008 R2/ WinPE3.0 /WinXP
回复

使用道具 举报

195#
 楼主| 发表于 2011-1-24 20:38:12 | 只看该作者
已证实,曾有人报告过的启动vhd xp 后有时会出现win7无法启动的问题,是由于在启动vhd xp后,vboot自动修改了 bcd造成的。
当然也有可能是由于软件中对vboot的驱动的设置不正确引起的。
但从测试的结果看,就是创建完ghost vhd xp后,bcd是正常的,一重启进入了vhd xp,bcd就变不正常了。
见下图。
1,重启前的bcd
2,重启后出错
3,出错的bcd





回复

使用道具 举报

196#
发表于 2011-1-25 00:28:30 | 只看该作者
原帖由 lianjiang 于 2011-1-24 20:38 发表
已证实,曾有人报告过的启动vhd xp 后有时会出现win7无法启动的问题,是由于在启动vhd xp后,vboot自动修改了 bcd造成的。
当然也有可能是由于软件中对vboot的驱动的设置不正确引起的。

但从测试的结果看,就是创建完ghost vhd xp后,bcd是正常的,一重启进入了vhd xp,bcd就变不正常了。
见下图。
1,重启前的bcd
2,重启后出错
3,出错的bcd


真不想纠结这个了,但看你一直还陷在里面,还是再扯一句吧:
BCD不一定被改了,改了的是环境。如果你不相信的话,可以把相关值导出来,然后在出现"unknown"的时候再与之前导出的值进行比对。
或者你也可以考虑试试比较BCD的hash值(这个我没有亲自尝试,我想BCD不可能随便就会被改吧,我见过常改的是timeout值,一般出现在新系统有布署的情况下)


你还是重新考虑你的代码吧,我曾经问你要相关代码,但你没有给我看,所以,我也就不好意思多说什么了,呵呵。

再有一个例证:出现"unknown"的时候,你再重新挂载你的VHD,盘符什么的保持与BCD“正常显示”之前一致。然后再看是否“正常”了。

给你看一眼我做出来的效果图,注意:绝对没有PS哦。



看BCD值时要么使用/v参数,要么直接去看注册表中实际值(后者是最可靠的)。
你也知道这个device数值是在随机变化的(比如{bootmgr}的device值,有盘符时显示盘符,无盘符时显示如partition=\Device\HarddiskVolume1这样的绝对路径)

提前祝各位新年快乐。

[ 本帖最后由 keai958 于 2011-1-25 00:56 编辑 ]
回复

使用道具 举报

197#
发表于 2011-1-25 07:29:03 | 只看该作者
lianjiang你好我在深度精简版v5.8xpsp2下挂载失败了,要换个sp3应该可以。
回复

使用道具 举报

198#
 楼主| 发表于 2011-1-25 08:14:34 | 只看该作者
原帖由 keai958 于 2011-1-25 00:28 发表
真不想纠结这个了,但看你一直还陷在里面,还是再扯一句吧:
BCD不一定被改了,改了的是环境。如果你不相信的话,可以把相关值导出来,然后在出现"unknown"的时候再与之前导出的值进行比对。
或者你也可以 ...

不管是否使用加 /v, 显示的信息都不一样了,bcd的hash还能一样吗?能一样那就怪了。
一个能启动,一个不能启动,那不能说明两个bcd不一样吗?
我只要把不能启动的bcd的device改成原来的,就可以启动了。
你不要说,我改的可能不是同一个bcd文件,这是绝不可能的事情。

修改的只有bcd,应不可能改系统的环境参数。
因为原系统是xp,我只是加了nt6.x的引导,形成了一个win7 系统启动的环境,用来测试引导失败问题的。
因此,不清楚这里你说的环境被改,是指那个环境?
本机xp? pe?还是 vhd xp?

至于代码展示问题,我说过,
1,代码很多,我不知道你想看哪里。
2,导入vbootdsk驱动的代码,就是你提供的。我只是转成了程序语言来实现。
3,   现在这台机上没有源码,一会儿贴出代码。
回复

使用道具 举报

199#
 楼主| 发表于 2011-1-25 08:27:15 | 只看该作者
原帖由 keai958 于 2011-1-25 00:28 发表
再有一个例证:出现"unknown"的时候,你再重新挂载你的VHD,盘符什么的保持与BCD“正常显示”之前一致。然后再看是否“正常”了。


挂载后应只可能改变bcd中指向vhd的项目。
我是所有的项目都变了。
bcd文件在 c:,xp也在C:, 至于vhd xp在哪里实际并无意义。
因为不管在哪里,都不应该,也不可能挂载了vhd,连引导xp的参数也变了。
当然我还没测试。一会就测试。
不过,根据一般经验,应不会出现挂载vhd,就改变与vhd项目无关的其他项目的参数的。
回复

使用道具 举报

200#
 楼主| 发表于 2011-1-25 08:34:52 | 只看该作者
原帖由 keai958 于 2011-1-25 00:28 发表
看BCD值时要么使用/v参数,要么直接去看注册表中实际值(后者是最可靠的)。
你也知道这个device数值是在随机变化的(比如{bootmgr}的device值,有盘符时显示盘符,无盘符时显示如partition=\Device\HarddiskVolume1这样的绝对路径)


以这个改变来说明现在出现的问题,是毫无道理的。
有盘符指向bcd所在盘符,无盘符指向绝对位置,这实际上是没变。
变的是形式,不变的是本质。
即bcd在哪里,就指向哪里。
要变成了unknown了,那才是真的随机变了,呵呵。

谢谢你的关注,我会根据你的建议测试的,测试后报告结果。

但愿还能再现这个问题。
回复

使用道具 举报

201#
 楼主| 发表于 2011-1-25 10:27:56 | 只看该作者
与vboot相关部分的代码:

--导入vboot的注册表
File.Run(SessionVar.Expand("reg load hklm\\111 \""..VHD_LETTER..":\\windows\\system32\\config\\system\" "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Control\\CriticalDeviceDatabase\\gen_scsiadapter /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Control\\CriticalDeviceDatabase\\gen_scsiadapter /v Service /t REG_SZ /d vbootdsk /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Control\\CriticalDeviceDatabase\\gen_scsiadapter /v ClassGUID /t REG_SZ /d {4D36E97B-E325-11CE-BFC1-08002BE10318} /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Control\\CriticalDeviceDatabase\\gen_scsitest /v Type /t REG_dword /d 1 /f "), "", "", SW_MINIMIZE, true);

File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Services\\vbootdsk /f"), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Services\\vbootdsk /v Type /t REG_dword /d 1 /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Services\\vbootdsk /v Start /t REG_dword /d 0 /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Services\\vbootdsk /v ErrorControl /t REG_dword /d 1 /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg add HKLM\\111\\ControlSet001\\Services\\vbootdsk /v ImagePath /t REG_SZ /d \"system32\\drivers\\vbootdsk.sys\" /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg delete HKLM\\111\\MountedDevices  /v \\DosDevices\\C: /f "), "", "", SW_MINIMIZE, true);
File.Run(SessionVar.Expand("reg unload hklm\\111 "), "", "", SW_MINIMIZE, true);

--复制 vboot的驱动
File.Copy(_TempLaunchFolder.."\\VBOOTDSK.SYS", VHD_LETTER..":\\windows\\system32\\drivers\\VBOOTDSK.SYS", true, true, false, true, nil);
回复

使用道具 举报

202#
发表于 2011-1-25 11:30:19 | 只看该作者
在XP下运行新版工具提示连接错误,用鑫蓝WINDOWS_7PE(1222)光盘启动后,用本机的GHO文件制作VHD,重启后选择WinXP VHD,在VMLite界面选第1项进入提示找不到VHD文件。

我的VHD文件是放在第一硬盘的第一主分区的VHD文件夹下,文件名为默认,在PE下用查看C:\BOOT下的BCD文件显示正常。

我的硬件是七彩虹AMD主板,一个SATA硬盘(第一),一个IDE硬盘(第二),XP  SP3安装版(非克隆)。
回复

使用道具 举报

203#
发表于 2011-1-25 12:51:15 | 只看该作者
很好很强大 下来 试试
回复

使用道具 举报

204#
 楼主| 发表于 2011-1-25 16:28:51 | 只看该作者
原帖由 huangwenjia 于 2011-1-25 11:30 发表
在XP下运行新版工具提示连接错误,用鑫蓝WINDOWS_7PE(1222)光盘启动后,用本机的GHO文件制作VHD,重启后选择WinXP VHD,在VMLite界面选第1项进入提示找不到VHD文件。

我的VHD文件是放在第一硬盘的第一主分区的VHD文件夹下,文件名为默认,在PE下用查看C:\BOOT下的BCD文件显示正常。

我的硬件是七彩虹AMD主板,一个SATA硬盘(第一),一个IDE硬盘(第二),XP  SP3安装版(非克隆)。

1,把提示连接错误的界面贴出来,并说明是在哪个阶段出错的。尽可能在pe3.0下运行,vboot在xp下运行,对系统五副的依赖比较严重,精简的很可能无法正常使用。
2,出错之后,程序没有执行完成,找不到vhd是正常的。只有正常结束了,还找不到vhd,那才可能是路径处理有问题。
回复

使用道具 举报

205#
 楼主| 发表于 2011-1-25 16:37:59 | 只看该作者
一键还原之后再来试,这次又不出现了。
这个问题诡异得很。
回复

使用道具 举报

206#
发表于 2011-1-25 16:46:44 | 只看该作者
以上我已经说清楚了,至于你理解到什么程度,我不清楚。我未来一个月内都在手机上网,发贴不方便,所以就不再回重了。我想说的是:再仔细读一下我说的,还有那张附图。呵呵
回复

使用道具 举报

207#
 楼主| 发表于 2011-1-25 16:55:02 | 只看该作者
原帖由 keai958 于 2011-1-25 16:46 发表
以上我已经说清楚了,至于你理解到什么程度,我不清楚。我未来一个月内都在手机上网,发贴不方便,所以就不再回重了。我想说的是:再仔细读一下我说的,还有那张附图。呵呵


你的图与我的问题,就不是一个问题。
现在不是仅仅vhd项目的路径被改问题,而是所有项目都被改了,这才是感觉莫名其妙的地方。

谢谢你的关注。
我再继续折腾,呵呵。
回复

使用道具 举报

208#
 楼主| 发表于 2011-1-25 16:56:30 | 只看该作者
原帖由 keai958 于 2011-1-25 16:46 发表
以上我已经说清楚了,至于你理解到什么程度,我不清楚。我未来一个月内都在手机上网,发贴不方便,所以就不再回重了。我想说的是:再仔细读一下我说的,还有那张附图。呵呵


201#的代码有什么问题没有?
与vboot相关的也就这段代码,其他处理应都是些常规处理。
回复

使用道具 举报

209#
发表于 2011-1-25 18:05:07 | 只看该作者
正在XPVHD中回贴:
用此工具在XP下建立VHD选择完gho确定后退出, XP下无法建立VHD。
后启动到PE3.0建立,并挂载成功,用的000的1.11版gho.
不错的好工具。

感受:在VHD中上网没有实机快, 有延尺。。。。。
回复

使用道具 举报

210#
发表于 2011-1-25 18:48:37 | 只看该作者
我在xpsp3下挂载xpsp3终于成功了,我还不确切是怎么成功的我在多试试,找到问题的所在再给大家说说。

[ 本帖最后由 717758565 于 2011-1-25 18:52 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-4-29 17:38

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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