budgood 发表于 2014-12-1 12:03:39

终于捣鼓出了基于VHD和img的win7内存操作系统

本帖最后由 budgood 于 2014-12-15 13:53 编辑

      前言

原理:FiraDisk和WinVBlock可以支持grub4dos 中的指令(map--mem)出来的光驱,软驱,硬盘等虚拟驱动器并从相应的仿真盘启动。把vhd文件map 为内存设备。这和制作成img、vdf等格式文件map 为内存设备是一个效果。反正总是需要操作系统镜像的文件,至于这个文件是什么格式,只要能被grub4dos或同类软件支持都可以。
以前看了网上的一些教程,误以为Primo Ramdisk或VSuite_Ramdis是必需的。从而自己“误入歧途”而没有成功。当然,那是人家的制作方式,我自己笨到现在还不会。其实完全可以不使用Primo Ramdisk或VSuite_Ramdis。这个教程中就没有用它们。
为win7 ramos这东西,我耗费了一些时间,最后搞定了。我这里是装在了一块4k已经对齐固态硬盘上,这个硬盘只有一个分区。
为了让其他人不费时间,所以就把实现方法公布。
至于vdf文件并没有成功,无论Primo Ramdisk或VSuite_Ramdis生成的vdf格式,总是提示一些错误信息。这没有少折腾。比如,我还对本不需要进行碎片整理的固态硬盘进行了碎片整理。此外,找到了Contig,这是一个整理单文件碎片的可执行文件。把该文件拷贝到C盘 用户文件中当前用户的目录下,双击这个文件,接受协议。
在命令提示符下输入 contig-vd:\win7.vhd
能整理d盘下的win7.vdf的碎片。只要找对了路径和文件名,就可以整理指定的文件。但是整理Primo Ramdisk和VSuite_Ramdis生成的vdf格式文件后仍然有问题。加载该vdf为内存盘,用AS SSD检查对应的盘,发现31kbad,也就是4k没有对齐。这个问题,那是莫名其妙。
而vhd确实是4k对齐,这是我放弃vdf方案的一个原因。

   只要把该系统的BCD勾选禁用数字签名和开启测试模式就能正常安装FiraDisk。对于大内存操作系统,WinVBlock不是必要的。
对于同一台装了16G或更多内存的电脑,32位和64位做成的10G以上的内存操作系统性能上的差别能有多大?
实际上内存操作系统载入需要时间,取决于硬盘读取内存操作系统镜像文件的速度。如果每秒读300M,对应一个10多G的镜像,那可是需要40秒以上,比原生系统启动慢多了。基于启动时间的考虑,我的看法是不要构建超过16G的镜像文件。对于内存较多的机器,也建议不超过本机内存的一半。
   本文中涉及的软件有:firadisk、WinVBlock、grub4dos、Bootice。这四个软件都可以在网络上找到。
    回首看起来,其实很简单。都怪自己笨,不了解别人的成功经验的帖子!按一些帖子总是不能成功。最后,索性把什么帖子都抛开。自己随意去做,居然成功了。

budgood 发表于 2014-12-1 12:04:24

一、基本条件
你已经有了一个原生的window7系统,需要把grub4dos-0.4.6a文件夹内的所有的文件复制到C盘和系统隐藏分区的根目录下。
现在需要一个VHD系统。我把相关的vhd文件放在了整块硬盘的文件系统的根目录下。在VHD系统中,VHD系统的盘符是C,整块硬盘的盘符是D。一般还会连隐藏分区(100M左右)显示出来,盘符为E。E不可以删除或格式化,否则系统引导会出问题。
把32位window 7 旗舰版系统装入VHD,装硬件驱动和必要的软件等。要确保vhd文件比自己的机器内存小。
如果你只有一个VHD系统,那么把原生系统隐藏的boot文件夹拷贝入根目录下:这一步,后面用得着。这应该不影响VHD启动,因为没有改变启动文件bootmgr。这个我试验过。

budgood 发表于 2014-12-1 12:04:58

         二、具体步骤
               (一) 取消驱动签名检查。

选择附件 /命令行提示符,右键选择以系统管理员运行。分别输入下面两道命令。
bcdedit -set loadoptions DDISABLE_INTEGRITY_CHECKS   
bcdedit/set testsigning on

budgood 发表于 2014-12-1 12:05:43

(二)安装firadisk和WinVBlock驱动
    控制面板中打开设备管理器,选择计算机名,右键选择添加过时驱动。然后找到这两个文件夹下的inf文件。点击确定,不理会windows的提示,坚持安装这两个驱动。
若有必要重启后,看看这两个驱动是否装好,然后进入第三步。

budgood 发表于 2014-12-1 12:08:00

现在忙其他的事情了。其他的步骤请移步百度内存盘吧:http://tieba.baidu.com/p/3440507466
————这是我建的一个内存盘的讨论吧,希望这个帖子能让多些光顾,畅所欲言!

budgood 发表于 2014-12-1 12:10:35

这个内存操作系统的读写速度:

tfa001 发表于 2014-12-1 15:16:58

谢谢分享!我也做了win7/win8的32 位的vhd 大小也是12G,用grub挂进内存也成功了。
你居然把FiraDisk和WinVBlock都装进去了,我只装了FiraDisk,对它比较熟习,RAMOS-XP就是用它弄的。
论坛的教程很多,我做的问题主要在FiraDisk驱动签名,导入VHD的BCD启动(bcdboot),其它步骤论坛教程倒是写得很清楚了。

2012hongrui 发表于 2014-12-1 20:58:31

本帖最后由 2012hongrui 于 2014-12-1 21:00 编辑

看HD tune测试图,才2000左右,如果用primo来制作,楼主的机子测试结果应该达到2600左右,4K指标也高得多,应该在400左右。这就是用primo制作的优势。

caoshilian 发表于 2014-12-1 22:09:11

但是整理Primo Ramdisk和VSuite_Ramdis生成的vdf格式文件后仍然有问题。加载该vdf为内存盘,用AS SSD检查对应的盘,发现31kbad,也就是4k没有对齐。这个问题,那是莫名其妙。
用DiskGenius改为对齐


2012hongrui 发表于 2014-12-1 22:53:03

vdf要4K对齐那还不容易,生成内存盘时的那个步骤用傲梅分区4K对齐,再生成vdf文件不就4K对齐了!坛友们的教程中只不过没写出来罢了!

budgood 发表于 2014-12-2 00:47:58

2012hongrui 发表于 2014-12-1 22:53
vdf要4K对齐那还不容易,生成内存盘时的那个步骤用傲梅分区4K对齐,再生成vdf文件不就4K对齐了!坛友们的教 ...

感谢您的回复,这让孤陋寡闻的我长了见识!

budgood 发表于 2014-12-2 00:49:02

caoshilian 发表于 2014-12-1 22:09


多谢赐教!

budgood 发表于 2014-12-11 03:36:13

64位win7 旗舰版20G内存系统的读写速度

budgood 发表于 2014-12-11 03:38:45

基于vdf的内存系统到现在也没有捣鼓成功。使用PrimoCache Server Edition为内存操作系统所在的C盘用5G额外内存加速,效果如下:

budgood 发表于 2014-12-11 03:39:20

使用PrimoCache Server Edition为内存操作系统所在的C盘用5G额外内存加速

budgood 发表于 2014-12-11 03:40:39

应该是这个图

budgood 发表于 2014-12-11 03:42:19

PrimoCache Server Edition设置

budgood 发表于 2014-12-14 07:52:37

本帖最后由 budgood 于 2014-12-15 14:09 编辑

固态硬盘载入VHD的速度大约每秒250M。扣除系统启动的时间,这样,进入win7桌面为止,如果你可以接受的等待时间为60秒,那么内存操作系统的大小也就11G左右。如果使用64位系统来做,适度精简,系统(含驱动)的开销在6G左右,剩下的4G左右安装常用软件。
如果容量还不够,那就只能装一个内存盘软件。需要时加载内存盘。

2011xiongdeyuan 发表于 2015-2-3 09:11:30

谢谢分享啊
页: [1]
查看完整版本: 终于捣鼓出了基于VHD和img的win7内存操作系统