|
本帖最后由 2012hongrui 于 2014-3-19 16:39 编辑
最近本讨论区有关ramos有点火爆,基于Primo驱动的Win7单镜像内存系统横空出世,我也来凑个热闹,介绍一个基于primo驱动的单镜像动态扩容和释放的win7x64内存系统。
废话少说,进入正题:
一、制作Win7x64的VHD系统
大家都会做了,安装primo驱动,此处省略一千字。
二、制作win7x64单镜像动态扩容和释放内存系统
下面以我机子6G内存进行介绍:
1.我的VHD系统文件名是WIN7x64.VHD,大小4G.VHD系统设置一个4608M(就是4.5G)的动态内存盘R:,关联镜像F:\RAMOS\WIN7x64\C.VDF,勾选动态内存分配,紧凑模式,加载和保存,注意是智能镜像。关机生成F:\RAMOS\WIN7x64\C.VDF
2.重启还是进入VHD系统,检查是否生成了F:\RAMOS\WIN7x64\C.VDF,打开任务管理器,看pf大小,的确是动态分配内存。把加载和保存修改为仅加载。关机重启。
3.重启进入PE系统,把原来的VHD系统的文件win7x64.vhd复制一个,名称为“win7x64 - 副本.vhd”。(这是和我以前制作2003不一样的地方),把C.VDF复制一个,以后最小化智能镜像要用。
4.重启进入VHD系统,用DiskGenius.exe分区克隆功能把“win7x64 - 副本.vhd”的内容复制到内存盘R:中。复制完后,可以把“win7x64 - 副本.vhd”删除了,它没有用了。
(1)修改BCD
(2)修改R盘中的注册表
大家都知道改哪里,我就不多说了。
手动保存R盘为完全镜像F:\RAMOS\WIN7x64\B.VDF,再把B.VDF复制一个为F:\RAMOS\WIN7x64\BOOT.VDF,保证了BOOT.VDF连续,把B.VDF删了。
这个B.VDF能不能作为引导盘我没有试过,制作时按习惯随手就删除了。
把primo中设置中的仅加载改成“加载和保存”,删除F:\RAMOS\WIN7x64\C.VDF,关机重新生成智能镜像F:\RAMOS\WIN7x64\C.VDF。
这样制作就能保证智能镜像和完全镜像的mbr和pbr完全一致。
重启,用如下菜单启动进入动态扩容各释放系统:
title Primo RAMOS WIN7x64
find --set-root --devices=h /RAMOS/WIN7x64/BOOT.VDF
map /RAMOS/WIN7x64/BOOT.VDF (hd0)
map (hd0) (hd1)
map --hook
rootnoverify (hd0,0)
chainloader (hd0,0)/bootmgr
如果说用了软件激活的,请把最后一句中的bootmgr改成你软激活文件名。
进入系统后打开任务管理器,看到的PF只有4.2G左右,刚好是智能镜像C.VDF的3.5G+初始PF0.7G的大小。
如果说用的完全镜像,PF应该是4.5G+初始PF0.7G=5.2G,我的只有6G内存,可用的就很可怜了。
具体的指标请自行测试,我不再多说了。
优点:
1.系统C盘动态扩容和释放
2.加载速度快一些,只加载3.5G的智能镜像。省10秒钟
缺点:1.要用两个镜像,浪费空间。
2.制作过程坑爹。
只要一个镜像文件能不能做出来我还没有想过,以后有时间再想吧!
试验用以前2012wuzhong的方法,把4.5g完全镜像BOOT.VDF的mbr和pbr提取出来,写入到用dg建立的3.5g的vhd中,一样可以引导成功。
如果有32g内存,制作20g动态系统盘,实际有效文件3.5g,完全镜像和智能镜像之和为7g,占用7g硬盘空间,如果是一个完全镜像的系统盘,占用20g空间。实在奇怪,动态系统反而占用空间还小些。
补充:
缩小启动盘BOOT.VDF的方法:
启动盘BOOT.VDF是个4.5G的完全镜像,太大了,可以用如下方式缩小到3.5G
随便进入一个系统,PE也可以。
1.用DiskGenius.exe建一个立即分配所有空间的3.5G的VHD文件F:\RAMOS\WIN7x64\BOOT.VHD,注意是VHD文件,不是VDF文件。
大小能装下所有的有效文件,我制作的所有文件总体积在3.48至3.49G,智能镜像3.5G,因此建一个3.5G刚好合适。
分区、格式化BOOT.VHD成ntfs压缩
2.用DiskGenius.exe打开启动用的完全镜像F:\RAMOS\WIN7x64\BOOT.VDF,用分区克隆功能把F:\RAMOS\WIN7x64\BOOT.VDF的内容复制到
F:\RAMOS\WIN7x64\BOOT.VHD文件中,只要BOOT.VHD大小控制得好,可以完全复制进去的。
3.关闭DiskGenius.exe,用BOOTICE.EXE打开完全镜像F:\RAMOS\WIN7x64\BOOT.VDF,提取主引导记录mbr和分区引导记录pbr,分别保存为mbr.bin和pbr.bin,数值就用软件的默认值。
4.用BOOTICE.EXE打开VHD文件F:\RAMOS\WIN7x64\BOOT.VHD,分别恢复mbr.bin和pbr.bin到BOOT.VHD,注意“保留磁盘签名和分区表不变”前面的勾要去掉,这一点很重要。关闭软件
5.再次用DiskGenius.exe打开BOOT.VHD,选择它,会有错误提示,不要修复,点一下,能看到文件就算成功。关了软件。
6.由于DiskGenius.exe建立的VHD文件多半是不连续的,可以复制一个替换掉原来的BOOT.VHD,这个BOOT.VHD用来代替BOOT.VDF,它只有3.5G,比原来的BOOT.VDF小了1G,功能和作用完全一样。
最近grldr有支持不连续的功能仿真,大家可以试试。
重启,用VHD文件BOOT.VHD来启动,同样可以正常进入系统,原来那个BOOT.VDF可以删除了。启动盘的内容还可以精简,启动盘还可以做的更小。nt5系统用这个办法试过,只要更改mbr就行了,不用更改pbr,否则问题多多。
|
|