thomas0769 发表于 2012-2-25 16:46:56

无需WIN7无需Vboot,另类超简单 在win2003里 装2003 VHD,并启动成功,XP估计也可以

在坛论里搜索了多位大大的经验,可能我这本本偏门,一直不是这里问题,就是那里兰屏,最后思考了一个方法,试了一次竟然OK,马上写出来分享。

我的硬件,17寸本本,965芯片组,凤凰BIOS,T8300,4G ram ,500G hdd,8600GS独显。OS:win2003 sp2

此方法特点:无需再纠结麻烦的安装过程,无需配置grub4dos安装菜单,有坛友说这种VHD做法和RAMOS差不多,是的,不过使用上比RAMOS要更方便,因为VHD的菜单可以不加-Mem参数,重启后会保存资料,也可以加上-Mem参数当个RAMOS使用,随你喜欢。

1.在硬盘里装个2003在C盘(随你用Ghost还是ISO),我是自已用Nlite精简,200M的ISO装的,装完后装FIRADISK或winvblk驱动(随你选一个,我装的是FIRADISK 0.0.1.30),然后其他驱动Office 应用之类的安装,自已看着办了,需求多少就装多少。

2.用论坛里的 水大,马大的PE启动,我也是用2003的PE, PE启动后打开 DiskGen ,3.5 以上版本都ok,我是用3.7的,在DiskGen的“硬盘”-“新建虚拟硬盘文件”-“新建Virtual PC 磁盘文件”,自已填容量,我选的是2.5G(没错,可以小数点),并点选“分配全部空间”,然后新建MBR,格式化为NTFS。

3. 在DiskGen 的“工具”-“克隆分区”,源 :选C盘,目标 :就选VHD的盘符(没盘符,就替VHD加载个盘符)。克隆OK后,卸载VHD,用WinContig.exe整理 VHD。(注:这一步其实相当于用Ghost的分区至分区的克隆功能,不过用DiskGen更简单方便),注:克隆前 需处理C盘注册表,这样VHD启动为C盘

4.在C盘boot.ini 的 下加上 C:\grldr="Win2003 VHD",menu.lst内容为:
title Boot VHD 2003

unhide (hd0,0)
find --set-root /WIN2003.vhd
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map /WIN2003.vhd (hd0)
map (hd0) (hd1)
map --hook
write (99) \nStartOptions=disk,vmem=find:/WIN2003.vhd;\n\0
root (hd0,0)
chainloader /ntldr

总结一下,其实就3步:
1:装个系统在C盘,或直接用现成的系统做VHD。
2:进PE,用DiskGen 建个VHD文件,并把C盘的系统克隆到VHD里。
3:改Boot.ini,建grub4dos菜单。

整个过程不包括装系统的话 ,只要10多分钟,简单快速,不容易出错,一个字,,,爽

VHD 盘符不是C 的问题已经解决了,结合多位网友的意见, 二步可搞定 1)Ghost时 处理注册表2 )菜单加上 unhide (hd0,0)这二步都要做,缺一不可

[ 本帖最后由 thomas0769 于 2012-3-10 12:13 编辑 ]

thomas0769 发表于 2012-2-25 17:13:37

回复 #3 2011maizi 的帖子

这样的话,不如在建VHD前 先改好硬盘C盘的注册表,再克隆回至vhd

2011maizi 发表于 2012-2-25 17:01:33

把vhd里的文件用diskgen克隆到实体硬盘
修改system等注册文件后再克隆回vhd

2011maizi 发表于 2012-2-25 16:59:17

这个置顶帖
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=187919&extra=page%3D1
里面有解决的方案,最后一个就可以

wanghh 发表于 2012-2-25 19:23:35

第三步:用GHOST32以分区到分区对刻方式将分区中的当前系统克隆到VHD文件中。
第四步:若系统是被隐藏后克隆的,须用bootice软件将其“显现”;须将该VHD文件放置在NTFS分区内;若VHD的内部分区格式为FAT32,须用convert h: /fs:ntfs命令将其转换为NTFS分区格式。
第五步:用bootice软件将VHD系统的主引导记录更改为nt5.x(对winxp/win2003系统)或nt6.x(对winvista/win2008/win7/win2008r2系统);分区引记更改为ntldr(对winxp/win2003系统)或bootmgr(对winvista/win2008/win7/win2008r2系统)。对winvista/win2008/win7/win2008r2系统,若原已用Windows 7 Loader 1.9.5软激活的,如激活文件名为XQAPR(或为他名),其分区引导记录须更改为NTLDR但改名为XQAPR。
第六步:在WIN7PE中,打开regedit, HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices,将挂载VHD加载的H:盘对应的两项(其中一项为其ID号)保留,其余项全部删除,导出本机HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices为reg文件保存到某盘某目录下,用记事本打开该reg文件,把内容改成保存备用。如为sys1.reg
第七步:打开regedit,用加载配置单元命令,把 H:\Windows\System32\config\system 挂上HKEY_LOCAL_MACHINE 取名为000;把 HKEY_LOCAL_MACHINE\000\MountedDevices 删除;导入以上保存备用的sys.reg及sys1.reg文件 ,编辑 MountedDevices,删除 \DosDevices\C: ,把\DosDevices\H: 改为 \DosDevices\C:;选中000项,卸载配置单元,退出 regedit。此步即是导入分区系统的注册表,编辑后保存回vhd系统的\Windows\System32\config\的system配置单元中。(此法保证一定可开机,如只删除MountedDevices,可能开机失败;假设不想让系统占用C:盘,而想让系统占用E:盘,那就删除\DosDevices\E:,把\DosDevices\H: 改为 \DosDevices\E: )。
看得一头雾水。

wanghh 发表于 2012-2-25 19:23:59

发重了。。。。。。。。

ones 发表于 2012-2-25 22:18:03

楼主的方法,就跟做ramos一样,装系统,装firadisk,克隆整个分区到IMG镜像或者VHD等,编写启动菜单
至于最后一个改盘符问题,就是在克隆分区前修改HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices,论坛很多帖子都有写
至于最后的VHD启动菜单,我对grub4dos的偏移量计算不太了解,也不知道你写的gurb菜单能否应用到其他人做的VHD系统上

zhuoer 发表于 2012-2-26 16:45:10

这个不是RAMOS么?不用DG,直接用diskpart建VHD可以不?加载VHD速度如何?

thomas0769 发表于 2012-2-26 18:23:47

回复 #8 zhuoer 的帖子

无论用 DiskGen还是 用diskpart建VHD 都一样,加载VHD速度?没测过,但感觉和本地硬盘差不多

201058177880 发表于 2012-2-28 00:12:22

zzzzzzzzzccccccccccc

yueyezhan 发表于 2012-2-28 00:34:06

map iso vhd和firadisk的软盘镜像,软盘镜像分别map到fd0和fd1,装完2003之后盘符就是c了

write (md)0x200+1 \nStartOptions=disk,vmem=find:/RAMOS/test.vhd,boot;cdrom,vmem=find:/ramos/test.iso;floppy,vmem=find:/RAMOS/test.img;\n\0
map --mem (md)0x200+16 (99)
find --set-root /RAMOS/test.img
map /RAMOS/test.img (fd0)
map /RAMOS/test.img (fd1)
find --set-root /RAMOS/test.vhd
map /RAMOS/test.vhd (hd0)
find --set-root /RAMOS/test.iso
map /ramos/test.iso (0xff)
map (hd0) (hd1)
map --hook
chainloader (0xff)


title INSTALL_VHDXP 2

write (md)0x200+1 \nStartOptions=disk,vmem=find:/RAMOS/test.vhd,boot;cdrom,vmem=find:/ramos/test.iso;\n\0
map --mem (md)0x200+16 (99)
find --set-root /RAMOS/test.vhd
map /RAMOS/test.vhd (hd0)
find --set-root /RAMOS/test.iso
map /ramos/test.iso (0xff)
map (hd0) (hd1)
map --hook
root (hd0,0)
chainloader /ntldr

tylerhu 发表于 2012-2-28 12:57:14

回复 #11 yueyezhan 的帖子

上将军的一个疏忽,可给小鸟们一阵折腾。上将军的菜单安装XP无问题,但安装2K3我试了几个版本均提示软盘已破坏而无法安装,后来我将map换成map --mem一次成功。不过得到了上将军的菜单还是很高兴,谢谢了。

thomas0769 发表于 2012-2-28 17:42:10

回复 #11 yueyezhan 的帖子

将军 可否解析下原理?

qj_tzy 发表于 2012-2-28 21:33:35

回复 #5 wanghh 的帖子

在VHD注册表中将盘符改为C:的方法

在win7pe 右键打开电脑 :管理 :磁盘管理: 右键>连结 vhd 把 F:\winxp.vhd 连上。系统自会分佩盘符 本例( H:)记住,等一下用到。

在本系统(如win7pe)中,打开regedit,导出HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices为注册表文件*.reg,保存到某处如桌面,用记事本打开把内容改成保存备用。

用regedit,把H:\Windows\System32\config\system挂上HKEY_LOCAL_MACHINE取名为000,把HKEY_LOCAL_MACHINE\000\MountedDevices 删除,导入桌面的reg文件,编辑MountedDevices,找到HKEY_LOCAL_MACHINE\000\MountedDevices下的dosdevice\H:,还有一项是数据和它一样的,名字类似于\??\Volume{xxxx-xxxx-xxxx-xxxx}这样的,把这两项留下,其它的全部删除,把\DosDevices\H:改为\DosDevices\C:,然后,点取000,再点文件菜单中的卸载配置单元,把刚修改的保存到H:\Windows\System32\config\system中,退出regedit。(此法保证一定可开机,如只删除MountedDevices,可能开机失败)(若想让系统占用E:,那就改为\DosDevices\E: )

[ 本帖最后由 qj_tzy 于 2012-2-28 21:39 编辑 ]

健佬 发表于 2012-2-29 02:50:17

按楼主的方法第一次成功是2003SP2(4G的VHD),随后每次做好各种容量的VHD用WINCONTIG都提示磁盘错误(用的是同一个系统),而用WIN7(32位)随便做了几个各种容量的VHD就都没事。日后有时间再找原因吧。

我自己保持VHD为C盘的简单方法:
1 将硬盘上的C盘设为用GRUB引导,菜单如下:

title 进入硬盘系统
#显示C盘
unhide (hd0,0)
find --set-root --ignore-floppies /ntldr
chainloader /ntldr

title Boot VHD 2003
#隐藏C盘
hide (hd0,0)
find --set-root /WIN2003.vhd
map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
map /WIN2003.vhd (hd0)
map (hd0) (hd1)
map --hook
write (99) \nStartOptions=disk,vmem=find:/WIN2003.vhd;\n\0
root (hd0,0)
chainloader /ntldr

thomas0769 发表于 2012-2-29 09:51:10

回复 #15 健佬 的帖子

这位大哥,用WINCONTIG都提示磁盘错误 的几个VHD是不是容量都大于4G?

健佬 发表于 2012-2-29 17:13:45

原帖由 thomas0769 于 2012-2-29 09:51 发表 http://bbs.wuyou.net/images/common/back.gif
这位大哥,用WINCONTIG都提示磁盘错误 的几个VHD是不是容量都大于4G?
WINCONTIG没有提示大于4G呀,只提示磁盘错误(用磁盘错误描瞄功能的时候,我将VHD的容量减少到2G和3G的时候也一样的提示),我用WIN7 的VHD容量是6G,WINCONTIG 都没有提示,而且可以正常进入系统。相信是和VHD的容量无关。我的电脑是8GB内存。做RAMOS的时候,XP32,XP64,WIN732,WIN764都能一次成功,唯独WIN2003有时成功,有时失败,而且失败的机会很高。有时间再做多几次看看怎样再说吧,总之现在还未找出失败的根本原因。

fsnhli2003 发表于 2012-2-29 17:21:36

原帖由 健佬 于 2012-2-29 02:50 发表 http://bbs.wuyou.net/images/common/back.gif
按楼主的方法第一次成功是2003SP2(4G的VHD),随后每次做好各种容量的VHD用WINCONTIG都提示磁盘错误(用的是同一个系统),而用WIN7(32位)随便做了几个各种容量的VHD就都没事。日后有时间再找原因吧。

我自 ...
磁盘剩余容量不足?

thomas0769 发表于 2012-2-29 17:26:34

回复 #17 健佬 的帖子

提示磁盘错误?那与VHD无关,是硬盘问题了 运行下 CHKDSK 查下

2010iris 发表于 2012-3-1 02:12:12

這個 vhd 能否使用子分差?如不能恐怕失去 vhd 最強功用!

95453818 发表于 2012-3-1 10:17:22

可以贴个完整的过程贴不!

thomas0769 发表于 2012-3-2 10:22:54

回复 #21 95453818 的帖子

一楼的 还不够完整? 

zqjiang 发表于 2012-3-3 15:00:20

不知道 如何 才能 做成WIM 格式

wanghh 发表于 2012-3-3 17:07:41

map --heads=2 --sectors-per-track=18 --mem (md)0x800+4 (99)
这句是什么意思?

wanghh 发表于 2012-3-3 17:15:39

不知为何启动蓝屏?
STOP:C000021a{Fata]

thomas0769 发表于 2012-3-4 12:33:12

回复 #25 wanghh 的帖子

说下你的步骤,我试了XP,也成功了

wanghh 发表于 2012-3-4 15:08:45

我内存只有3G,VHD2003设2G,不知这样内存够不够用?

wanghh 发表于 2012-3-4 16:25:14

另我本本有一隐藏分区占用了C盘。XP只能装在另一主分区,不知可有关系?

thomas0769 发表于 2012-3-5 09:59:44

回复 #27 wanghh 的帖子

如果内存不够,菜单里 可以不加 --mem 参数,作为本地硬盘使用,这样不占用内存

thomas0769 发表于 2012-3-5 10:00:40

回复 #28 wanghh 的帖子

这种情况我没能测试过,测试环境是只有一个主分区
页: [1] 2
查看完整版本: 无需WIN7无需Vboot,另类超简单 在win2003里 装2003 VHD,并启动成功,XP估计也可以