zhchsgdtc 发表于 2014-12-3 21:16:45

用win7和win8.1自带的ramdisk制作ramos,测试与8.1wimboot性能差异(附制作流程)

本帖最后由 2012zhchsgdtc 于 2015-1-15 21:01 编辑

折腾了几天终于把win8.1的自带ramdisk也做成ramos了,总算能比较一下不同系统纯ramdisk之间的差异了。
下面上图:
win7的ramdisk:


win8.1的ramdisk:


另外把coolg做的ramos(基于wim的)也放进来:


由此看来,纯ramdisk的系统不但容量上有劣势,在性能方面也远远不如了,此后做纯ramdisk的ramos的想法可以休矣。ramos2003已经是最好的了,后面原来越差,等精简win10出来我再做一个看看,不过已经不抱什么期望了。

=================================================

win8.1和win7的ramdisk.sys是一样的,都是2006年的,看来这个驱动不更新了,性能提升靠的是fbwf.sys。

另外我尝试用softperfect来做ramos,现在解决了它制作的镜像不能被vdm识别编辑和被grub加载的问题,剩下问题它不能在内核启动阶段加载。询问官方后得到的回答是下个版本会解决,等那时我再做尝试。

zhchsgdtc 发表于 2014-12-3 21:17:34

本帖最后由 2012zhchsgdtc 于 2014-12-4 10:03 编辑

win7和win8.1制作方法差不多,就放在一起了。
相比较而言win7容易许多,win8.1我折腾了2天才搞定,最大问题是许多时候在欢迎界面之后,进桌面之前黑屏,只显示鼠标,连任务管理器也调不出来。虽然猜测跟分区,mounteddevice有关,但搞不定,只能重做。

系统:win7:苏博联合论坛WinES7SP1EX_X64Beta2,399M。用这个是因为355M那个版本死活添加不了硬件。当然,399M这个版本无法从VHD启动(我没成功)也很不爽。
win8.1:coolg的RAMOSX64.WIM。用rush的将网上的Win8.1 RAMOS 还原成硬盘操作系统方法还原到硬盘上。

制作流程:
1. 启动到硬盘上的系统后(之前已经移除了fbwf),安装ramdisk:添加过时硬件->system32\DriverStore\FileRepository\ramdisk.inf_amd64_e94b3b05e7459679,(后缀不相同,win7中是ramdisk.inf_amd64_neutral_798b5d4dd3f22a07),添加RAM 磁盘控制器和RAM设备(卷)。

但是在win8.1的时候显示不出来“RAM设备(卷)”,我到ramdisk.inf中一看,发现和win7中的inf差别在这么一行

ExcludeFromSelect = Ramdisk\Volume
win8.1显示的是Ramdisk\RamVolume,结果就没法安装了。(微软弄错了?)
在只安装RAM 磁盘控制器的情况下我制作ramos,结果黑屏进不去,怀疑ramos中没有建立好分区。

于是我删除这行中的Ram,保存inf,可此时就没有数字签名了。在我强行安装后驱动是没签名的,但更新设备驱动(点回到system32目录里的ramdisk.inf_amd64),居然又把签名弄回去了。。这步感觉莫名其妙。。如图


2. 用windows的磁盘管理建立一个VHD文件,大小要小于低位内存(最好小100M以上,我只小了40M的时候出过一个BAD_POOL_HEADER什么的蓝屏,也许与USB冲突了)

3.进入PE或其它系统,将系统复制到VHD中,加载VHD盘中的SYSTEM配置单元,修改service中的ramdisk项中的start值为0

4.用bcdice编辑c盘中的BCD,智能编辑中新建一个wim启动项。更改BOOT(WIM)/LOCATE(VHD)为磁盘,添加VHD所在分区,改变boot.wim为VHD名称,勾选NXoptin,勾掉启动到winPE,DetectHal,点击保存。
进入高级编辑模式,点击最下面的{ramdiskoption}或者device option(guild与上面的一样),删除sdidevice和sdipath,添加ramdiskimageoffset,值为65536(windows建立的VHD开始扇区为128扇区,所以是65536,如果是img格式的,则是63个扇区,就为32256)。如图


5.重启,进入ramos。导出此时中的注册表system配置单元。记下此时ramos系统盘和原来硬盘中的系统盘的盘符,在pe中加载编辑system,对调两个盘符,然后替换VHD中的system配置单元,完成。

20090101 发表于 2014-12-3 21:41:22

好样的,我在等你的制作流程。

ok98 发表于 2014-12-3 21:41:36

用小兵2003整了一个700M,速度很爽.

zhchsgdtc 发表于 2014-12-3 21:55:35

ok98 发表于 2014-12-3 21:41
用小兵2003整了一个700M,速度很爽.

03的速度是爽啊

zhchsgdtc 发表于 2014-12-3 21:56:09

20090101 发表于 2014-12-3 21:41
好样的,我在等你的制作流程。

已写好,请指正

8696648 发表于 2014-12-3 22:46:13

像论文,很工整,可惜俺看不懂,哈哈,论坛真是藏龙卧虎,那么多优秀的人才,大家齐心协力,可以有好多好作品哦。

huaqingyuan 发表于 2014-12-4 00:21:24

请教,“2. 用windows的磁盘管理建立一个VHD文件,大小要小于低位内存(最好小100M以上,我只小了20M的时候出过一个BAD_POOL_HEADER什么的蓝屏,也许与USB冲突了)"
我好像只能使用最大2G的,我8G内存,为什么?

zhchsgdtc 发表于 2014-12-4 07:50:48

本帖最后由 2012zhchsgdtc 于 2014-12-4 08:06 编辑

huaqingyuan 发表于 2014-12-4 00:21
请教,“2. 用windows的磁盘管理建立一个VHD文件,大小要小于低位内存(最好小100M以上,我只小了20M的时候 ...

可能与电脑主板有关。我的是16F2的笔记本,grub显示的低位内存是3546M,我建一个3456M的VHD盘就没问题。

另外你建立超过2G的VHD之后,是在bootmgr加载VHD的时候显示内存不足吗,还是哪一步显示错误信息?

2012qnmd 发表于 2014-12-4 08:01:11

coolg的RAMOS,如果改为IMG(不是WIM,就是不打包为WIM,而是直接放入IMG里面)
速度又如何?

zhchsgdtc 发表于 2014-12-4 08:04:47

2012qnmd 发表于 2014-12-4 08:01
coolg的RAMOS,如果改为IMG(不是WIM,就是不打包为WIM,而是直接放入IMG里面)
速度又如何?

个人感觉IMG和VHD差不多,两者都不压缩,差别只是头部,等有时间我试试看

happysong21 发表于 2014-12-24 11:06:40

请问楼主是如何解决:“softperfect来做ramos,现在解决了它制作的镜像不能被vdm识别编辑和被grub加载的问题”这个问题的呢?

zhchsgdtc 发表于 2014-12-24 18:06:54

2011happysong 发表于 2014-12-24 11:06
请问楼主是如何解决:“softperfect来做ramos,现在解决了它制作的镜像不能被vdm识别编辑和被grub加载的问 ...

用bootice编辑softperfect的镜像文件(3.4.5以前为.svi,3.4.6为.img),把第8个扇区后半部分的内容复制到第一个扇区,然后修改第一个扇区偏移量为1C6的数值改为09,这样镜像既可以被softperfect加载,也可以被VDM等软件识别了。
因为softperfect的镜像的55AA结束标志位于第八个扇区,而起始扇区为第九个扇区,其它内容几乎和vhd的格式一致。

yang77 发表于 2014-12-24 20:24:56

softperfect 期待一下

hjihjoijoijhio 发表于 2014-12-25 19:35:45

happysong21 发表于 2015-1-13 16:59:37

2012zhchsgdtc 发表于 2014-12-4 08:04
个人感觉IMG和VHD差不多,两者都不压缩,差别只是头部,等有时间我试试看

参照楼主的说明,我做了基于微软内存盘驱动的win8.1 ramos。
感谢楼主!

movie001 发表于 2015-1-13 22:54:28

最新版的系统RAMDISK驱动好像比较新,谁测下内存盘的速度发上来看下

yuliwu2 发表于 2015-2-10 15:13:41

读取到60%样子 出错:

引导选择失败 因为需要的设备不可访问

zhchsgdtc 发表于 2015-2-10 15:23:17

yuliwu2 发表于 2015-2-10 15:13
读取到60%样子 出错:

引导选择失败 因为需要的设备不可访问

BCD改了吗,镜像多大?尝试把镜像弄小一点

yuliwu2 发表于 2015-2-10 16:43:59

4G内存配置

G4D检测为:
639K/3292M/768M
镜像大概2.2G

zhchsgdtc 发表于 2015-2-10 16:57:46

yuliwu2 发表于 2015-2-10 16:43
4G内存配置

G4D检测为:

是64位系统吗
尝试做一个小于2g的镜像试试。
另附一个我成功的BCD,你试试看吧

Bigmar 发表于 2015-8-16 00:49:17

感谢楼主的经验分享,coolg的ramos很简洁,不过装不了.net framwork 3.5,有点遗憾。

Bigmar 发表于 2015-8-16 20:18:02

zhchsgdtc 发表于 2014-12-3 21:55
03的速度是爽啊

03的怎么制作呢,可不可以用bootmgr引导,因为Grub4Dos内存识别错误。请赐教

zhchsgdtc 发表于 2015-8-16 22:45:01

本帖最后由 zhchsgdtc 于 2015-8-16 22:47 编辑

Bigmar 发表于 2015-8-16 20:18
03的怎么制作呢,可不可以用bootmgr引导,因为Grub4Dos内存识别错误。请赐教

03的ramos需要用破解的ntldr引导,否则镜像大小无法超过488M,破解后可以到1.75g。制作方法网上有很多了。我复制一段给你吧,你也可以自己去查看。
附件是boot.ini和破解的ntldr
如果需要用bootmgr的话,可以复制boot.ini和ntldr,用bootmgr引导ntldr就可以了。

附上制作方法:
一、打造ramdisk+ntldr启动的ramos

1、安装操作系统。安装盛世雄风Win2003SP2_4in1中的vista美化版,并装好常规驱动(含打印机驱动等)、常用软件,对系统作适度精简,及进行磁盘清理和删除临时文件后,系统总大小为1330M,系统盘符为C:(不用修改,这样兼容性还更好)。需说明的是,原用GHOST 2003 SP2 遐想网络纯净驱动版如此安装,用firadisk、WinVBlock、ramdisk三种驱动逐一试过,不知是因安装后的系统过大(系统大小达2.1G,生成的img包大小达1.6G),或是因该版本系统与以上三种驱动均不兼容,导致生成的系统启动出现系统界面时自动重启,ramos未能制作成功。
2、安装内存盘驱动。用控制面板的“添加硬件”,手动添加(控制面板-添加硬件-是,硬件已经连接好-添加新的硬件设备-安装我手动从列表选择的硬件(高级)-显示所有设备-从磁盘安装-选择微软RAMDISK for win2k3所在的路径)。要运行两次,都指向同一个 ramdisk.inf,分别添加 “windows RAM disk controller” 和 “windows RAM disk device(volume)”。安装完成后,在设备管理器中的ramdisk下有此两项。并修改注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ramdisk 的 Start 值为 0。
3、用深度RamosTools(不安装ramdisk驱动,因其驱动为firadisk-driver-0.0.1.16,也不安装RAMOS启动器),创建一个IMG,如名为ram2k3.img,大小为1024M(一般按系统大小的75%计),选上分配全部空间。装载为A:,点击格式化,选文件系统 为NTFS,并勾选快速格式化和启用压缩。再由c:\向a:\上传新备份(含注册表)。IMG包中的boot.ini、bootfont.bin、ntdetect.com、ntldr四个文件(因无用,为多余文件)可删除。
4、用破解的NTLDR替换硬盘启动分区根目录的NTLDR文件 ,并修改 boot.ini ,在原来的内容后面加上一行:
   ramdisk(0)\Windows="RamOS win2003" /pae /fastdetect /minint /rdpath=multi(0)disk(0)rdisk(0)partition(4)\ramos\ram2k3.img
即用此项载入第一个硬盘的第四分区的\ramos目录下的ram2k3.img文件,如果img放在d盘,则把那个4改成2。对xpsp3和win2003系统,支持在boot.ini中加上/minint参数(如上),表示不在实体分区生成虚拟内存页面文件(可能会有设置虚拟内存的提示,但基本不影响系统运行),一般取消此参数,以生成虚拟内存页面文件加快系统运行速度。/pae参数表示使用最大内存。
按照网上介绍的方法,将上句改为如下内容未启动成功:
ramdisk(0)\Windows="RamOS win2003" /pae /fastdetect /minint /noguiboot /nodebug /sos /detecthal
/noexecute=AlwaysOff /rdpath=multi(0)disk(0)rdisk(0)partition(4)\ramos\ram2k3.img   

5、重启系统前,进入winpe中,先将原WIN2003安装所在的分区(主分区或逻辑分区)隐藏。通过NTLDR启动进入内存系统后会提示发现新硬件(如发现“windows RAM 磁盘控制器”),自动安装好驱动后提示是否重启,选择不要重启,进入设备管理中删除带有**感叹号!的“windows RAM disk controller”设备;再次修改注册表的HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ramdisk 的 Start 值为 0。此时,可能注册表HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices下的dosdevice\C:项不存在。进入注册表编辑器,定位到 HKEY_LOCAL_MACHINE\SYSTEM,点右键,选 “导出”,保存类型选择 “注册表单元配置文件”,文件名为 SYSTEM,然后打开RamosTools,加载 IMG 文件,用导出的 SYSTEM 覆盖 IMG 文件的\WINDOWS\system32\config\SYSTEM。
6、再次重启,进入内存系统后就不会提示发现新硬件了。但此时系统有一个c:盘,在光驱前有一个内容与c:盘完全相同的G:。因系统启动时,先虚拟出盘符g:(可改),再映射为系统盘符c:。 进入注册表HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices下,将dosdevice\C:项删除,将dosdevice\G:改为dosdevice\C:。定位到 HKEY_LOCAL_MACHINE\SYSTEM,点右键,选 “导出”,保存类型选择 “注册表单元配置文件”,文件名为 SYSTEM,然后打开RamosTools,加载 IMG 文件,用导出的 SYSTEM 覆盖 IMG 文件的\WINDOWS\system32\config\SYSTEM。重启后则只有一盘符C:盘,在光驱前不再有一个内容与c:盘完全相同的G:盘。由此,整个ramos系统制作成功。

Bigmar 发表于 2015-8-18 09:17:40

zhchsgdtc 发表于 2015-8-16 22:45
03的ramos需要用破解的ntldr引导,否则镜像大小无法超过488M,破解后可以到1.75g。制作方法网上有很多 ...

非常感谢,经大师一点拨,这要少走多少弯路呀{:3_144:}

x9tian 发表于 2016-1-7 14:56:25

zhchsgdtc 发表于 2014-12-3 21:17
win7和win8.1制作方法差不多,就放在一起了。
相比较而言win7容易许多,win8.1我折腾了2天才搞定,最大问 ...

建出也用2048起始扇区的


2010nmb 发表于 2016-1-12 11:20:57

请问,你的方法适合把正常Win81系统做成Ramos吗?
coolg做的ramos(基于wim)他的方案和做法具体是怎样的?最大麻烦是怎么解决显卡驱动问题?我从别人可用的ramos提取显卡驱动,修改了BCD和ProductOptions都不成功,很烦人。
希望能指点一下,谢谢

shys 发表于 2016-1-14 10:07:13

coolg做的ramos 可以用dism 加入驱动。

movie001 发表于 2016-1-22 15:17:53

zhchsgdtc 发表于 2014-12-3 21:17
win7和win8.1制作方法差不多,就放在一起了。
相比较而言win7容易许多,win8.1我折腾了2天才搞定,最大问 ...

没做过这种RAMOS,看到第五步是进入RAMOS后对对调盘符,所以这时候内存盘盘符是不是X 来的????

2011wbh 发表于 2016-1-22 18:58:52

谢谢楼主分享 顶一下!
页: [1] 2
查看完整版本: 用win7和win8.1自带的ramdisk制作ramos,测试与8.1wimboot性能差异(附制作流程)