无忧启动论坛

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

有把ghost版xp装入vhd后用vboot启动成功的吗?【已解决】

  [复制链接]
跳转到指定楼层
1#
发表于 2011-1-17 18:29:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
有把ghost版xp装入vhd后用vboot启动成功的吗?
我试了多个gho,全部以蓝屏告终。
【已参照某帖子介绍的把img里的驱动复制到了系统目录下】

[ 本帖最后由 lianjiang 于 2011-1-19 21:03 编辑 ]
推荐
发表于 2011-1-17 23:54:40 | 只看该作者
希望尽快看到成品!加油!
回复

使用道具 举报

推荐
发表于 2011-1-17 23:29:22 | 只看该作者
看来成品要出来了,我就坐着等了。
回复

使用道具 举报

推荐
发表于 2011-1-17 22:47:24 | 只看该作者

回复 #12 lianjiang 的帖子

客气了。祝你的软件越来完美,呵呵
回复

使用道具 举报

推荐
 楼主| 发表于 2011-1-17 22:37:57 | 只看该作者
有了你的命令,实现傻瓜化安装ghost xp到vhd应没问题了。
再次感谢。
回复

使用道具 举报

推荐
 楼主| 发表于 2011-1-17 22:34:12 | 只看该作者
原帖由 keai958 于 2011-1-17 21:51 发表


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


太感谢你了。
真是高人,对注册表的操作这么精通。
回复

使用道具 举报

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


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

另外,最后的

[-HKEY_LOCAL_MACHINE\111\MountedDevices]

-不是笔误吧?
回复

使用道具 举报

推荐
发表于 2011-1-17 19:42:50 | 只看该作者
好运。不清楚你会不会改注册表,啰嗦一句吧:
灌好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]
回复

使用道具 举报

推荐
 楼主| 发表于 2011-1-17 19:34:23 | 只看该作者
原帖由 keai958 于 2011-1-17 19:28 发表
目前XP装入vhd蓝屏有两种(0x0000007B),①vbootdsk.sys驱动没做好。②串口硬盘的磁盘模式驱动(即所谓Sata)没装好。
对于②,不用过多强调了,可以自行解决(BIOS兼容模式或装好驱动)。
对于①,可以通过 ...


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

[ 本帖最后由 lianjiang 于 2011-1-17 19:47 编辑 ]
回复

使用道具 举报

推荐
发表于 2011-1-17 19:28:08 | 只看该作者
目前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 编辑 ]
回复

使用道具 举报

6#
发表于 2011-1-17 20:02:09 | 只看该作者
原帖由 lianjiang 于 2011-1-17 19:54 发表


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

另外,最后的

[-HKEY_LOCAL_MACHINE\111\MountedDevices]

-不是笔误吧?


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

使用道具 举报

7#
 楼主| 发表于 2011-1-17 20:03:00 | 只看该作者
原帖由 keai958 于 2011-1-17 20:02 发表


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


明白了,我先折腾一下看看,有问题再请教。
回复

使用道具 举报

8#
发表于 2011-1-17 20:24:53 | 只看该作者
看到你的另一个贴子了,在写软件?
那好吧,我再扯一句:上面的注册表内容实际来源于vboot.img文件内的oemscs01.inf,不是乱写的,只不过是只保留了主要部分。
回复

使用道具 举报

9#
 楼主| 发表于 2011-1-17 20:44:09 | 只看该作者
原帖由 keai958 于 2011-1-17 20:24 发表
看到你的另一个贴子了,在写软件?
那好吧,我再扯一句:上面的注册表内容实际来源于vboot.img文件内的oemscs01.inf,不是乱写的,只不过是只保留了主要部分。


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

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

使用道具 举报

10#
发表于 2011-1-17 21:51:49 | 只看该作者
原帖由 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 编辑 ]
回复

使用道具 举报

16#
发表于 2011-1-17 23:56:11 | 只看该作者
这位keai958老大对于命令行操作注册表精通!不会是dos联盟论坛出来的吧?呵呵 !
回复

使用道具 举报

17#
 楼主| 发表于 2011-1-18 20:36:58 | 只看该作者
基本完成: WinXP VHD 辅助处理工具 2011
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=185732&extra=page%3D1

[ 本帖最后由 lianjiang 于 2011-1-21 05:12 编辑 ]
回复

使用道具 举报

18#
发表于 2011-1-21 03:52:52 | 只看该作者
学习下!刚接触VHD
回复

使用道具 举报

19#
发表于 2011-2-10 22:17:56 | 只看该作者
vhd要放在NTFS分区,如果放在FAT32要蓝屏
回复

使用道具 举报

20#
发表于 2011-6-30 23:58:03 | 只看该作者
原帖由 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

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

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-7 20:55

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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