无忧启动论坛

标题: 有把ghost版xp装入vhd后用vboot启动成功的吗?【已解决】 [打印本页]

作者: lianjiang    时间: 2011-1-17 18:29
标题: 有把ghost版xp装入vhd后用vboot启动成功的吗?【已解决】
有把ghost版xp装入vhd后用vboot启动成功的吗?
我试了多个gho,全部以蓝屏告终。
【已参照某帖子介绍的把img里的驱动复制到了系统目录下】

[ 本帖最后由 lianjiang 于 2011-1-19 21:03 编辑 ]
作者: keai958    时间: 2011-1-17 19:28
目前XP装入vhd蓝屏有两种(0x0000007B),①vbootdsk.sys驱动没做好。②串口硬盘的磁盘模式驱动(即所谓Sata)没装好。
对于②,不用过多强调了,可以自行解决(BIOS兼容模式或装好驱动)。
对于①,可以通过先导入如下注册表文件并把vbootdsk.sys(从vboot.img文件里提取)放到system32\drivers目录下,然后再启动VHD的XP就可以了。

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\System\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter]
"Service"="vbootdsk"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"


[HKEY_LOCAL_MACHINE\System\ControlSet001\Services\vbootdsk]
"Type"=dword:00000001
"Start"=dword:00000000
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\vbootdsk.sys"

[-HKEY_LOCAL_MACHINE\System\MountedDevices]

[ 本帖最后由 keai958 于 2011-1-17 19:31 编辑 ]
作者: lianjiang    时间: 2011-1-17 19:34
原帖由 keai958 于 2011-1-17 19:28 发表
目前XP装入vhd蓝屏有两种(0x0000007B),①vbootdsk.sys驱动没做好。②串口硬盘的磁盘模式驱动(即所谓Sata)没装好。
对于②,不用过多强调了,可以自行解决(BIOS兼容模式或装好驱动)。
对于①,可以通过 ...


谢谢指点。
如何用命令行修改 vhd里的系统的注册表,还不清楚,看来暂时没办法了。

[ 本帖最后由 lianjiang 于 2011-1-17 19:47 编辑 ]
作者: keai958    时间: 2011-1-17 19:42
好运。不清楚你会不会改注册表,啰嗦一句吧:
灌好VHD后,挂载上,打开regedit.exe,选中HKEY_LOCAL_MACHINE,“文件→加载配置单元”选择“VHD盘符:\Windows\System32\config\SYSTEM” (注意,此文件没有后缀),起个名字,比如111,然后导入如下文件内容即可(用记事本保存成*.reg直接双击导入就可以了),再把驱动放到drivers目录下,卸载配置单元关闭VHD就完成了。好运

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\111\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter]
"Service"="vbootdsk"
"ClassGUID"="{4D36E97B-E325-11CE-BFC1-08002BE10318}"


[HKEY_LOCAL_MACHINE\111\ControlSet001\Services\vbootdsk]
"Type"=dword:00000001
"Start"=dword:00000000
"ErrorControl"=dword:00000001
"ImagePath"="system32\\drivers\\vbootdsk.sys"

[-HKEY_LOCAL_MACHINE\111\MountedDevices]
作者: lianjiang    时间: 2011-1-17 19:54
原帖由 keai958 于 2011-1-17 19:42 发表
好运。不清楚你会不会改注册表,啰嗦一句吧:
灌好VHD后,挂载上,打开regedit.exe,选中HKEY_LOCAL_MACHINE,“文件→加载配置单元”选择“VHD盘符:\Windows\System32\config\SYSTEM” (注意,此文件没有 ...


只能用图形化界面操作吗?

另外,最后的

[-HKEY_LOCAL_MACHINE\111\MountedDevices]

-不是笔误吧?
作者: keai958    时间: 2011-1-17 20:02
原帖由 lianjiang 于 2011-1-17 19:54 发表


只能用图形化界面操作吗?

另外,最后的

[-HKEY_LOCAL_MACHINE\111\MountedDevices]

-不是笔误吧?


你可以改成命令的,我懒得折腾了,呵呵。
减号的作用是删除对应的注册表项,如果不删除这个的话(实际是处理驱动器盘符)可能会在启动到桌面后报svchost错误。具体可以看我的blog,嘿嘿
http://marsan.blogbus.com/logs/99227456.html
作者: lianjiang    时间: 2011-1-17 20:03
原帖由 keai958 于 2011-1-17 20:02 发表


你可以改成命令的,我懒得折腾了,呵呵。
减号的作用是删除对应的注册表项,如果不删除这个的话(实际是处理驱动器盘符)可能会在启动到桌面后报svchost错误。具体可以看我的blog,嘿嘿
http://marsan.bl ...


明白了,我先折腾一下看看,有问题再请教。
作者: keai958    时间: 2011-1-17 20:24
看到你的另一个贴子了,在写软件?
那好吧,我再扯一句:上面的注册表内容实际来源于vboot.img文件内的oemscs01.inf,不是乱写的,只不过是只保留了主要部分。
作者: lianjiang    时间: 2011-1-17 20:44
原帖由 keai958 于 2011-1-17 20:24 发表
看到你的另一个贴子了,在写软件?
那好吧,我再扯一句:上面的注册表内容实际来源于vboot.img文件内的oemscs01.inf,不是乱写的,只不过是只保留了主要部分。


写了个 win7 vhd,有人希望也支持xp,才来试vboot,一试结果就出现蓝屏。
无奈只好请教各位了。

刚试了图形化操作导入注册表后确实可以了。
但命令行操作问题,还需要再折腾,否则无法实现自动化操作。
作者: keai958    时间: 2011-1-17 21:51
原帖由 lianjiang 于 2011-1-17 20:44 发表


写了个 win7 vhd,有人希望也支持xp,才来试vboot,一试结果就出现蓝屏。
无奈只好请教各位了。

刚试了图形化操作导入注册表后确实可以了。
但命令行操作问题,还需要再折腾,否则无法实现自动化操作。


好吧,提供几条命令,你自己整理下用吧
打开CMD(一定要管理员权限,PE下的system权限也可以)
挂载vhd:diskpart→select vdisk file="*.vhd" →attach vdisk(如果已经格式化过,多数会自动分配盘符,不用再加后面的命令了,不过加上的话会按自己意愿分配盘符)→select partition 1→assign letter=z→exit
挂载注册表:reg load hklm\111 "Z:\windows\system32\config\system"
添加注册表项(当然也可以用regedit /s *.reg导入如下内容):
reg add HKLM\111\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter
reg add HKLM\111\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter /v Service /t REG_SZ /d vbootdsk
reg add HKLM\111\ControlSet001\Control\CriticalDeviceDatabase\gen_scsiadapter /v ClassGUID /t REG_SZ /d {4D36E97B-E325-11CE-BFC1-08002BE10318}
reg add HKLM\111\ControlSet001\Control\CriticalDeviceDatabase\gen_scsitest /v Type /t REG_dword /d 1

reg add HKLM\111\ControlSet001\Services\vbootdsk
reg add HKLM\111\ControlSet001\Services\vbootdsk /v Type /t REG_dword /d 1
reg add HKLM\111\ControlSet001\Services\vbootdsk /v Start /t REG_dword /d 0
reg add HKLM\111\ControlSet001\Services\vbootdsk /v ErrorControl /t REG_dword /d 1
reg add HKLM\111\ControlSet001\Services\vbootdsk /v ImagePath /t REG_SZ /d "system32\drivers\vbootdsk.sys"
echo y | reg delete HKLM\111\MountedDevices
卸载配置单元:reg unload hklm\111
卸载VHD: diskpart→select vdisk file="*.vhd"→detach vdisk→exit
退出CMD: exit


注意:操作过程中不要另外打开regedit.exe进程了,否则会提示出错的,好像是权限。

[ 本帖最后由 keai958 于 2011-1-17 22:00 编辑 ]
作者: lianjiang    时间: 2011-1-17 22:34
原帖由 keai958 于 2011-1-17 21:51 发表


好吧,提供几条命令,你自己整理下用吧
打开CMD(一定要管理员权限,PE下的system权限也可以)
挂载vhd:diskpart→select vdisk file="*.vhd" →attach vdisk(如果已经格式化过,多数会自动分配盘 ...


太感谢你了。
真是高人,对注册表的操作这么精通。
作者: lianjiang    时间: 2011-1-17 22:37
有了你的命令,实现傻瓜化安装ghost xp到vhd应没问题了。
再次感谢。
作者: keai958    时间: 2011-1-17 22:47
标题: 回复 #12 lianjiang 的帖子
客气了。祝你的软件越来完美,呵呵
作者: HY    时间: 2011-1-17 23:29
看来成品要出来了,我就坐着等了。
作者: grubfans    时间: 2011-1-17 23:54
希望尽快看到成品!加油!
作者: grubfans    时间: 2011-1-17 23:56
这位keai958老大对于命令行操作注册表精通!不会是dos联盟论坛出来的吧?呵呵 !
作者: lianjiang    时间: 2011-1-18 20:36
基本完成: WinXP VHD 辅助处理工具 2011
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=185732&extra=page%3D1

[ 本帖最后由 lianjiang 于 2011-1-21 05:12 编辑 ]
作者: pans1986    时间: 2011-1-21 03:52
学习下!刚接触VHD
作者: 2011顽皮猫    时间: 2011-2-10 22:17
vhd要放在NTFS分区,如果放在FAT32要蓝屏
作者: hbby    时间: 2011-6-30 23:58
原帖由 keai958 于 2011-1-17 21:51 发表


好吧,提供几条命令,你自己整理下用吧
打开CMD(一定要管理员权限,PE下的system权限也可以)
挂载vhd:diskpart→select vdisk file="*.vhd" →attach vdisk(如果已经格式化过,多数会自动分配盘 ...


用以上的方法只能用在XP系统上,但是win2003的vboot内文件是vbootsmp.sys,inf配置是

;---------------------------------------------------------------------------

---
;  vbootsmp.inf
;  INF file to install the VMLite VBoot virtual disk adapter
;  Copyright (C) VMLite 2010
;---------------------------------------------------------------------------

---
[Version]
Signature           = "$Windows NT$"
Provider            = "VMLite Inc."
Class               = SCSIAdapter
ClassGUID           = {4D36E97B-E325-11CE-BFC1-08002BE10318} ; scsi adapter

class guid
CatalogFile         = vbootsmp.cat
DriverVer=05/15/2011,3.2.6.28941

[DestinationDirs]
DefaultDestDir = 12

[Manufacturer]
"VMLite" = Models, NTamd64   ; x86, x64 supported

[Models]
%ADAPTERNAME% = vbootsmp, root\vbootsmp

[Models.NTamd64]
%ADAPTERNAME% = vbootsmp, root\vbootsmp

[vbootsmp]
CopyFiles = @vbootsmp.sys
AddReg    = vbootsmp.Registry

[vbootsmp.Registry]
HKR, , LocationInformationOverride,,Virtual

[vbootsmp.Services]
AddService = vbootsmp, 2, Service

[Service]
ServiceType    = %SERVICE_KERNEL_DRIVER%
StartType      = %SERVICE_BOOT_START%
ErrorControl   = %SERVICE_ERROR_IGNORE%
;LoadOrderGroup = SCSI Miniport
ServiceBinary  = %12%\vbootsmp.sys
AddReg         = Registry

[Registry]
HKR, "Parameters\Device", "DriverParameter", 0x00000000, "c:\vbootsmp.vhd" ;

virtual disk filename

[SourceDisksFiles]
vbootsmp.sys = 1

[SourceDisksNames.x86]
1 = %DISKNAME%,,,                                  ; 32-bit

[SourceDisksNames.amd64]
1 = %DISKNAME%,,,                                  ; amd64

[Strings]
;
; Localizable Strings
;
DISKNAME    = "Install Disk"
ADAPTERNAME = "VMLite VBoot Virtual Disk SCSI Storport Adapter"

;
; Non-Localizable Strings
;
REG_DWORD      = 0x00010001
SERVICE_KERNEL_DRIVER  = 1
SERVICE_BOOT_START     = 0
SERVICE_DEMAND_START   = 3
SERVICE_ERROR_IGNORE   = 0

请问如何修改注册表?谢谢!




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