无忧启动论坛

标题: 用win7和win8.1自带的ramdisk制作ramos,测试与8.1wimboot性能差异(附制作流程) [打印本页]

作者: zhchsgdtc    时间: 2014-12-3 21:16
标题: 用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
本帖最后由 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差别在这么一行
[ControlFlags]
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
好样的,我在等你的制作流程。
作者: ok98    时间: 2014-12-3 21:41
用小兵2003整了一个700M,速度很爽.

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

03的速度是爽啊

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

已写好,请指正
作者: 8696648    时间: 2014-12-3 22:46
像论文,很工整,可惜俺看不懂,哈哈,论坛真是藏龙卧虎,那么多优秀的人才,大家齐心协力,可以有好多好作品哦。
作者: huaqingyuan    时间: 2014-12-4 00:21
请教,“2. 用windows的磁盘管理建立一个VHD文件,大小要小于低位内存(最好小100M以上,我只小了20M的时候出过一个BAD_POOL_HEADER什么的蓝屏,也许与USB冲突了)"
我好像只能使用最大2G的,我8G内存,为什么?
作者: zhchsgdtc    时间: 2014-12-4 07:50
本帖最后由 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
coolg的RAMOS,如果改为IMG(不是WIM,就是不打包为WIM,而是直接放入IMG里面)
速度又如何?
作者: zhchsgdtc    时间: 2014-12-4 08:04
2012qnmd 发表于 2014-12-4 08:01
coolg的RAMOS,如果改为IMG(不是WIM,就是不打包为WIM,而是直接放入IMG里面)
速度又如何?

个人感觉IMG和VHD差不多,两者都不压缩,差别只是头部,等有时间我试试看
作者: happysong21    时间: 2014-12-24 11:06
请问楼主是如何解决:“softperfect来做ramos,现在解决了它制作的镜像不能被vdm识别编辑和被grub加载的问题”这个问题的呢?
作者: zhchsgdtc    时间: 2014-12-24 18:06
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
softperfect 期待一下
作者: hjihjoijoijhio    时间: 2014-12-25 19:35
提示: 作者被禁止或删除 内容自动屏蔽
作者: happysong21    时间: 2015-1-13 16:59
2012zhchsgdtc 发表于 2014-12-4 08:04
个人感觉IMG和VHD差不多,两者都不压缩,差别只是头部,等有时间我试试看

参照楼主的说明,我做了基于微软内存盘驱动的win8.1 ramos。
感谢楼主!
作者: movie001    时间: 2015-1-13 22:54
最新版的系统RAMDISK驱动好像比较新,谁测下内存盘的速度发上来看下
作者: yuliwu2    时间: 2015-2-10 15:13
读取到60%样子 出错:

引导选择失败 因为需要的设备不可访问
作者: zhchsgdtc    时间: 2015-2-10 15:23
yuliwu2 发表于 2015-2-10 15:13
读取到60%样子 出错:

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

BCD改了吗,镜像多大?尝试把镜像弄小一点
作者: yuliwu2    时间: 2015-2-10 16:43
4G内存配置

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

作者: zhchsgdtc    时间: 2015-2-10 16:57
yuliwu2 发表于 2015-2-10 16:43
4G内存配置

G4D检测为:

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

BCD.rar

10.32 KB, 下载次数: 90, 下载积分: 无忧币 -2


作者: Bigmar    时间: 2015-8-16 00:49
感谢楼主的经验分享,coolg的ramos很简洁,不过装不了.net framwork 3.5,有点遗憾。
作者: Bigmar    时间: 2015-8-16 20:18
zhchsgdtc 发表于 2014-12-3 21:55
03的速度是爽啊

03的怎么制作呢,可不可以用bootmgr引导,因为Grub4Dos内存识别错误。请赐教
作者: zhchsgdtc    时间: 2015-8-16 22:45
本帖最后由 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系统制作成功。
NTLDR_小破解.rar (145.33 KB, 下载次数: 91)
作者: Bigmar    时间: 2015-8-18 09:17
zhchsgdtc 发表于 2015-8-16 22:45
03的ramos需要用破解的ntldr引导,否则镜像大小无法超过488M,破解后可以到1.75g。制作方法网上有很多 ...

非常感谢,经大师一点拨,这要少走多少弯路呀
作者: x9tian    时间: 2016-1-7 14:56
zhchsgdtc 发表于 2014-12-3 21:17
win7和win8.1制作方法差不多,就放在一起了。
相比较而言win7容易许多,win8.1我折腾了2天才搞定,最大问 ...


建出也用2048起始扇区的



作者: 2010nmb    时间: 2016-1-12 11:20
请问,你的方法适合把正常Win81系统做成Ramos吗?
coolg做的ramos(基于wim)他的方案和做法具体是怎样的?最大麻烦是怎么解决显卡驱动问题?我从别人可用的ramos提取显卡驱动,修改了BCD和ProductOptions都不成功,很烦人。
希望能指点一下,谢谢
作者: shys    时间: 2016-1-14 10:07
coolg做的ramos 可以用dism 加入驱动。
作者: movie001    时间: 2016-1-22 15:17
zhchsgdtc 发表于 2014-12-3 21:17
win7和win8.1制作方法差不多,就放在一起了。
相比较而言win7容易许多,win8.1我折腾了2天才搞定,最大问 ...

没做过这种RAMOS,看到第五步是进入RAMOS后对对调盘符,所以这时候内存盘盘符是不是X 来的????
作者: 2011wbh    时间: 2016-1-22 18:58
谢谢楼主分享 顶一下!
作者: zhchsgdtc    时间: 2016-1-22 21:03
movie001 发表于 2016-1-22 15:17
没做过这种RAMOS,看到第五步是进入RAMOS后对对调盘符,所以这时候内存盘盘符是不是X 来的????

就是C盘
作者: movie001    时间: 2016-1-25 16:13
本帖最后由 movie001 于 2016-1-25 16:15 编辑
zhchsgdtc 发表于 2016-1-22 21:03
就是C盘


大神有没有研究直接启动VDF文件的方案,虽然偶参考这BCD写法启动过。老提示硬件更新出错。新出的IO方案偶也看不太明白。从理论上来讲。VDF等同于IMG。
作者: zhchsgdtc    时间: 2016-1-26 21:04
movie001 发表于 2016-1-25 16:13
大神有没有研究直接启动VDF文件的方案,虽然偶参考这BCD写法启动过。老提示硬件更新出错。新出的IO方案 ...

vdf跟img没区别,直接启动vdf用啥驱动呢?
如果是P驱动那就是primo的方案
如果是R驱动那还是这个方案,只不过偏移值跟img一样为32256而已
作者: xman00    时间: 2016-2-5 13:07
zhchsgdtc 发表于 2016-1-26 21:04
vdf跟img没区别,直接启动vdf用啥驱动呢?
如果是P驱动那就是primo的方案
如果是R驱动那还是这个方案, ...

请问一下老哥,softperfect制作ramos,是可以使用io模式吧(即非磁盘仿真),能否分享一下相关教程,很迷茫,想在win10上进行体验。
作者: movie001    时间: 2016-3-5 19:08
zhchsgdtc 发表于 2015-8-16 22:45
03的ramos需要用破解的ntldr引导,否则镜像大小无法超过488M,破解后可以到1.75g。制作方法网上有很多 ...

这WIN2003或许可以尝试下用GiliSoft RAMDisk做做
作者: boy6585948    时间: 2016-3-6 13:00
zhchsgdtc 发表于 2014-12-3 21:17
win7和win8.1制作方法差不多,就放在一起了。
相比较而言win7容易许多,win8.1我折腾了2天才搞定,最大问 ...

LZ好给力啊!!!
作者: showmar    时间: 2016-3-17 15:04
好文,感谢分享。收藏一个,有时间折腾
作者: 2012shm    时间: 2016-5-18 20:31
zhchsgdtc 发表于 2014-12-3 21:17
win7和win8.1制作方法差不多,就放在一起了。
相比较而言win7容易许多,win8.1我折腾了2天才搞定,最大问 ...

用windows的磁盘管理建立一个VHD文件,大小要小于低位内存
如何确定其中的低位内存呢?
作者: subiit    时间: 2017-5-7 18:16
谢谢分享,收藏备用!!!!
作者: 2011xiongdeyuan    时间: 2017-5-7 19:52
我在等你的制作流程
作者: sairen139    时间: 2018-1-8 10:37
zhchsgdtc 发表于 2014-12-4 08:04
个人感觉IMG和VHD差不多,两者都不压缩,差别只是头部,等有时间我试试看

请教第一步必须把系统挂载安装到X盘吗?正常安装到C盘的uefi启动win8.1系统能制作这种ramdisk启动的内存系统vhd吗,在第三步需要挂载system改变c盘盘符为其他任意盘符吗?
作者: sairen139    时间: 2018-1-8 10:46
zhchsgdtc 发表于 2014-12-4 07:50
可能与电脑主板有关。我的是16F2的笔记本,grub显示的低位内存是3546M,我建一个3456M的VHD盘就没问题 ...

把整个系统通过wimboot工具压缩到这个VHD里可以通过你发布的这种微软自带的ramdisk制作这种内存ramos系统吗?
作者: sairen139    时间: 2018-1-10 00:15
movie001 发表于 2016-1-22 15:17
没做过这种RAMOS,看到第五步是进入RAMOS后对对调盘符,所以这时候内存盘盘符是不是X 来的????

求教老哥已经安装在c盘的系统怎么制作这种ramos?
作者: zhchsgdtc    时间: 2018-1-14 15:47
sairen139 发表于 2018-1-8 10:37
请教第一步必须把系统挂载安装到X盘吗?正常安装到C盘的uefi启动win8.1系统能制作这种ramdisk启动的内存 ...

这个不是wimboot那一套。
可以参考一下xp或者制作ramos的流程。(就是用本身的ramdisk驱动)
03下因为ntldr被破解了,索引镜像的上限为1.75g
该方案的上限32位约为900m,64位最大3.25g,没什么用
作者: sairen139    时间: 2018-1-14 20:14
zhchsgdtc 发表于 2018-1-14 15:47
这个不是wimboot那一套。
可以参考一下xp或者制作ramos的流程。(就是用本身的ramdisk驱动)
03下因为n ...

我昨天已经通过list part的方法解决了问题搞成功了ramos的vhd,感谢大神。另外我用微软的wimboot技术结合了你的办法,1G以内就足够用了。
作者: 2012zb7798    时间: 2018-4-28 14:20
今晚实验最后一步:重启,进入ramos。导出此时中的注册表system配置单元。记下此时ramos系统盘和原来硬盘中的系统盘的盘符,在pe中加载编辑system,对调两个盘符,然后替换VHD中的system配置单元,完成。
Wimboot,VHD。最后一步卡了好几天了。晚上再试试。
作者: 2012zb7798    时间: 2018-5-1 14:04
大神你好,Win10的Ramos启动以后开始菜单不能用,有没有办法解决?
作者: xbdx666    时间: 2018-5-20 18:29
谢谢分享!
作者: 蓝星明月    时间: 2021-4-17 13:26
谢谢分享!!!
作者: 蓝星明月    时间: 2021-4-17 13:34
谢谢分享!!!
作者: 蓝星明月    时间: 2021-4-30 10:54
zhchsgdtc 发表于 2015-8-16 22:45
03的ramos需要用破解的ntldr引导,否则镜像大小无法超过488M,破解后可以到1.75g。制作方法网上有很多 ...

谢谢分享!!!
作者: cntvic    时间: 2023-12-17 15:12
感谢分享
作者: zzzlllxyt    时间: 2023-12-17 17:28
谢谢分享
作者: yyz2191958    时间: 2023-12-17 17:52
学习 RAMOS
作者: cntvic    时间: 2023-12-21 09:37
感谢分享
作者: cntvic    时间: 2024-1-5 17:32
感谢分享




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3