码迷,mamicode.com
首页 > 其他好文 > 详细

不格盘用grub4dos+firadisk安装Ghost版XP到VHD(已成功)

时间:2015-03-07 06:11:54      阅读:1524      评论:0      收藏:0      [点我收藏+]

标签:

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=363198&extra=
不格盘用grub4dos+firadisk安装Ghost版XP到VHD(已成功)
因为vboot菜单不好弄,兼容性不太好,破解版有些只能识别500M内存,所以不想用vboot。
想在不格式化原有系统盘的情况下,用grub4dos+firadisk安装Ghost版XP到VHD,目前已成功,步骤如下:
1、工具:grub4dos,firadisk驱动包,bootice,深度GhostXP6.2,WIN7PE,WinContig软件,Ghost32.11.0。
2、进入WIN7PE,右击我的电脑→管理→磁盘管理,创建一个固定容量VHD虚拟硬盘文件,以E:\RAMOS\sdxp.vhd为例,在虚拟磁盘上选初始化,并创建简单卷,格式化为ntfs默认格式,同时设为活动分区。vhd容量要足够大,确保大于gho解压后体积+临时解压文件+物理内存*1.5(虚拟页面文件),这里以7G为例,以后可以关闭虚拟内存采用NTFS压缩减小vhd体积。为了适应后面的批处理,这里给vhd虚拟磁盘重新指定一个盘符A:盘。
3、把深度GhostXP6.2.gho镜像文件灌入虚拟磁盘A:盘。根据需要用SkyIAR更新vhd内的驱动防止SRS驱动7B蓝屏。
4、借用论坛的批处理离线注入firadisk驱动到vhd中,注意批处理要做一些修改,修改后内容如下:
@ECHO OFF
ECHO ┌─────────────────────────────────┐
ECHO │请确认: │
ECHO │1:当前为WinPE下; │
ECHO │2:VDM加载新IMG镜像为:A盘; │
ECHO │3:已手动复制系统盘下所有文件到A盘; │
ECHO │ │
ECHO │ 按任意键开始制作... │
ECHO └─────────────────────────────────┘
pause >nul

ECHO ┌─────────────────────────────────┐
ECHO │加载SYSTEM注册表 │
ECHO └─────────────────────────────────┘
reg load HKLM\11 A:\windows\system32\config\system
IF ERRORLEVEL 1 echo 加载注册表失败,按任意键退出。 &pause>nul &exit

ECHO ┌─────────────────────────────────┐
ECHO │获取Enum写入权限 │
ECHO └─────────────────────────────────┘
setacl MACHINE\11\ControlSet001\Enum /registry /grant Everyone /full

ECHO ┌─────────────────────────────────┐
ECHO │导入Firadisk驱动 │
ECHO └─────────────────────────────────┘
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "DeviceDesc" /t REG_SZ /d "磁盘驱动器"
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "Capabilities" /t REG_DWORD /d 40
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "ConfigFlags" /t REG_DWORD /d 0
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "HardwareID" /t REG_MULTI_SZ /d "FIRADISK\Disk\0GenDisk"
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "CompatibleIDs" /t REG_MULTI_SZ /d "GenDisk"
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "Service" /t REG_SZ /d "disk"
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "ClassGUID" /t REG_SZ /d "{4D36E967-E325-11CE-BFC1-08002BE10318}"
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "Class" /t REG_SZ /d "DiskDrive"
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "Mfg" /t REG_SZ /d "(标准磁盘驱动器)"
reg add "HKLM\11\ControlSet001\Enum\FIRADISK\Disk\1&2b2f4947&0&1.1" /f /v "FriendlyName" /t REG_SZ /d "RAM Disk"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "ConfigFlags" /t REG_DWORD /d 0
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "Legacy" /t REG_DWORD /d 0
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "DeviceReported" /t REG_DWORD /d 1
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "Service" /t REG_SZ /d "firadisk"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "HardwareID" /t REG_MULTI_SZ /d "root\firadisk"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "CompatibleIDs" /t REG_MULTI_SZ /d "DETECTEDInternal\firadisk\0DETECTED\firadisk"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "Capabilities" /t REG_DWORD /d 0
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "ParentIdPrefix" /t REG_SZ /d "1&2b2f4947&0"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "ClassGUID" /t REG_SZ /d "{4D36E97B-E325-11CE-BFC1-08002BE10318}"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "Class" /t REG_SZ /d "SCSIAdapter"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "Mfg" /t REG_SZ /d "Karyonix"
reg add "HKLM\11\ControlSet001\Enum\Root\firadisk\0000" /f /v "DeviceDesc" /t REG_SZ /d "FiraDisk Virtual Disk Enumerator"
reg add "HKLM\11\ControlSet001\Services\firadisk" /f /v "Type" /t REG_DWORD /d 1
reg add "HKLM\11\ControlSet001\Services\firadisk" /f /v "Start" /t REG_DWORD /d 0
reg add "HKLM\11\ControlSet001\Services\firadisk" /f /v "ErrorControl" /t REG_DWORD /d 1
reg add "HKLM\11\ControlSet001\Services\firadisk" /f /v "Tag" /t REG_DWORD /d 21
reg add "HKLM\11\ControlSet001\Services\firadisk" /f /v "ImagePath" /t REG_EXPAND_SZ /d "system32\DRIVERS\firadisk.sys"
reg add "HKLM\11\ControlSet001\Services\firadisk" /f /v "DisplayName" /t REG_SZ /d "FiraDisk Virtual Disk Driver"
reg add "HKLM\11\ControlSet001\Services\firadisk" /f /v "Group" /t REG_SZ /d "Boot Bus Extender"
reg add "HKLM\11\ControlSet001\Services\firadisk\Parameters" /f /v "PnP" /t REG_DWORD /d 1
reg add "HKLM\11\ControlSet001\Services\firadisk\Security" /f /v "Security" /t REG_BINARY /d 01001480b8000000c4000000140000003000000002001c000100000002801400ff010f00010100000000000100000000020088000600000000001400fd01020001010000000000051200000000001800ff010f0001020000000000052000000020020000000014008d010200010100000000000504000000000014008d010200010100000000000506000000000014000001000001010000000000050b00000000001800fd01020001020000000000052000000023020000010100000000000512000000010100000000000512000000

ECHO ┌─────────────────────────────────┐
ECHO │恢复Enum只读权限 │
ECHO └─────────────────────────────────┘
setacl MACHINE\11\ControlSet001\Enum /registry /set Everyone /read

ECHO ┌─────────────────────────────────┐
ECHO │内存盘设为C盘 │
ECHO └─────────────────────────────────┘
reg add "HKLM\11\MountedDevices" /f /v "\DosDevices\C:" /t REG_BINARY /d fc57b2d94e68cb4dab7903cfa2f6b750

ECHO ┌─────────────────────────────────┐
ECHO │卸载注册表 │
ECHO └─────────────────────────────────┘
reg unload HKLM\11
IF ERRORLEVEL 1 echo 卸载注册表失败,按任意键退出。 &pause>nul &exit

ECHO ┌─────────────────────────────────┐
ECHO │复制驱动文件Firadisk.sys到drivers目录 │
ECHO └─────────────────────────────────┘
copy .\file\firadisk.sys A:\WINDOWS\system32\drivers\ /y


ECHO ┌─────────────────────────────────┐
ECHO │制作完毕,请仔细参看是否有出错,按任意键退出... │
ECHO └─────────────────────────────────┘
pause >nul
6、成功后从系统的磁盘管理中分离虚拟磁盘文件E:\RAMOS\sdxp.vhd,再用wincontig整理下E:\RAMOS\sdxp.vhd和firadisk.img。
7、用bootice把现有系统MBR修改为grub4dos,menu.lst菜单如下:
title SDVHDXP Install
password=123
find --set-root /RAMOS/sdxp.vhd
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map /RAMOS/firadisk.img (fd0)
map /RAMOS/firadisk.img (fd1)
map /RAMOS/sdxp.vhd (hd0)
map (hd0) (hd1)
map --e820cycles=-1
#进入grub4dos后按e键按要求修改为1-4防止蓝屏。
map --harddrives=1
map --hook
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/RAMOS/sdxp.vhd,boot;floppy,vmem=find:/RAMOS/firadisk.img;\n\0
root (hd0,0)
chainloader +1

title SDVHDXP Modify
password=123
find --set-root /RAMOS/sdxp.vhd
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map /RAMOS/sdxp.vhd (hd0)
map (hd0) (hd1)
map --e820cycles=-1
#进入grub4dos后按e键按要求修改为1-4防止蓝屏。
map --harddrives=1
map --hook
write (99) [FiraDisk]\nStartOptions=disk,vmem=find:/RAMOS/sdxp.vhd;\n\0
root (hd0,0)
chainloader +1

title VHDXP RAMOS
find --set-root /RAMOS/sdxp.vhd
map --mem /RAMOS/sdxp.vhd (hd0)
#map (hd0) (hd1)
map --e820cycles=-1
map --hook
root (hd0,0)
chainloader +1
8、选择第一个菜单SDVHDXP Install正常安装好GHOSTXP。
9、选择第二个菜单SDVHDXP Modify正常启动VHDXP修改模式。
10、选择第三个菜单进入SDVHDXP RAMOS。
这样子不用格式化原来的系统盘,仅仅用Grub4dos+firadisk就搞定了VHDXP,把XP用ghost快速灌入vhd,安装,修改,内存系统全搞定,简单方便快捷,再也不用难用的vboot了!

按照这个思路,第6步的两个菜单项都失败,滚动条之后没有出现蓝屏,只是提示系统没有安装好,也就是卡在系统部署这里了。实体机上面已经成功用firadisk启动vhdxp。论坛有没有这样做成功的,请给点意见。

http://bbs.wuyou.net/forum.php?mod=viewthread&tid=314772&page=1#pid2833384
PE下离线制作Firadisk驱动的RAMOS.rar (738.81 KB, 下载次数: 290)
只适合XP和2003系统

他这个批处理,我去掉了交换磁盘的部分,因为gho安装部署到vhd的时候不应该交换磁盘,交换磁盘适用于从实体C盘安装好之后灌入vhd。
ECHO ┌─────────────────────────────────┐
ECHO │原C盘改为B盘 │
ECHO └─────────────────────────────────┘
set n=HKLM\11\MountedDevices
set m=\DosDevices\
for /f "tokens=2* delims= " %%a in (‘reg query %n% /v "%m%C:"‘) do (
reg add %n% /v "%m%B:" /d %%b /t %%a /f
reg delete %n% /v "%m%C:" /f
)

ECHO ┌─────────────────────────────────┐
ECHO │内存盘设为C盘 │
ECHO └─────────────────────────────────┘
reg add "HKLM\11\MountedDevices" /f /v "\DosDevices\C:" /t REG_BINARY /d fc57b2d94e68cb4dab7903cfa2f6b750

不交换磁盘,滚动条完了之后就提示:系统没有安装好。请重新运行安装程序。
如果交换磁盘,直接ED蓝屏。
从现象上来看,firadisk应该是已经启动了的。

求助win7下利用WinVblock安装VHD XP双系统 - 综合讨论区 - 无忧启动论坛 - Powered by Discuz!
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=322883&highlight=vhd%2Bxp
这位兄弟也不知道做成功没有,发过一帖之后就杳无音信了,他的思路和我一样,只是换了winvblock。
那个帖子里面提到的winvblock似乎不适用于离线导入winvblock驱动,适用于在线导入。

http://bbs.wuyou.net/forum.php?mod=redirect&goto=findpost&ptid=322883&pid=2876699&fromuid=298214
用了这个帖子里面的0.0.0.8版本的winvblock,先用vdm加载vhd到A盘,然后在WIN7PE中运行regedit,加载注册表配置单元A:\windows\system32\config\system到sys,然后双击那个sys.reg文件,把inf和system32目录下得文件分别拷贝到A:\windows\下对应的文件夹之下,grub4dos菜单这样写:
title SDVHDXP Modify-winvblock
password=123
find --set-root /RAMOS/sdxp.vhd
map /RAMOS/sdxp.vhd (hd0)
map (hd0) (hd1)
map --e820cycles=-1
#进入grub4dos后按e键按要求修改为1-4防止蓝屏。
map --harddrives=1
map --hook
root (hd0,0)
chainloader /ntldr
无论是否加map --harddrives=1都是7B BSOD。


不格盘用grub4dos+firadisk安装Ghost版XP到VHD(已成功)

标签:

原文地址:http://www.cnblogs.com/liuzhaoyzz/p/4319630.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!