东方之珠的由来:打造全内存运行的RAM OS

来源:百度文库 编辑:偶看新闻 时间:2024/07/06 19:53:58
打造全内存运行的RAM OS
本人制作了几个,有XP和03,均可以用这个方法制作,在此对NEO大侠及文章作者表示崇高的敬意!^_^
本人制作了几个,有XP和03,均可以用这个方法制作,在此对NEO大侠及文章作者表示崇高的敬意!^_^
刚刚制作完成一款真正的全内存可应用的RAMOS系统,期间经历两个多月,遇到各种问题,通过泡论坛学习前辈的经验与自己摸索终于完成。为了使更多爱好RAMOS系统的能够在制作中少走弯路,现在与大家分享一些经验,同时也希望其他有经验的朋友也能够无私分享你们的经验。
基本原理是这样的 系统安装好之后 再安装常用的软件和最重要的ramdisk驱动 RamOS必须有它的存在
然后将它制作成一个镜像文件 也就是img..  
之后在boot.ini中添加语句 让img镜像文件在每次电脑启动的时候调入内存运行 
断电之后所有文件都会丢失 下次启动的时候 img又会被调入内存运行 
它运行速度快 而且完全不必担心系统被病毒感染 这就是RamOS 
不知我解释的是否清楚哈


下面详细分解制作流程:
主要参考neo的帖子“把61大侠的98M 2003整到内存里运行了[更新教程]”
   工具及所需文件:
母盘一张--61的WIN2003--98M--MAC美化版,其他自己喜欢的也可以。
盛世WinPE 4.0--其他WINPE也可。
Registry Toolkit 3 -- 注册表批量替换工具。
VDM--这个一定要用盛世WinPE 4.0中的,其他版本制作的IMG文件不能用。
ImDisk Virtual Disk--虚拟磁盘工具,可以直接把内存划分成硬盘,还可以调节划分的大小,另外还能把IMG文件直接COPY至内存作为一个新的分区,而且可独立于原文件存在。ramdiskNT与它作用相同。
ramdisk.sys--在内存中运行系统的必要件。
gho.reg--是提取自neo的帖子中注册表部分,具体见:http://www.namipan.com/d/3e57f5fd7d6cf82561b533d2a76b050d33123f86111f0600
另外大内存是运行RAMOS的前提。
   工作环境:C盘安装冷风的WIN2003 SP2 DC 版本,并且把Winpe安装至硬盘,D、E数据盘、F盘新划分用来装第二系统,大小1.5G。内存2G,双核,集成显卡,外接明基19寸液晶显示器。
      步骤一、母盘的选择。体积小是最基本的要求(选用61的WIN2003--98M--MAC美化版本。)
      步骤二、安装系统至D、E、F等盘,不要安装在X盘。我C盘已经有系统在用,我把系统安装在F盘上,其他盘都在使用,F盘1.5G。下面我以把WIN2003--98M--MAC美化版安装在F盘为例子继续说明。
PS: 在以上两个步骤中基本都不会遇到问题,除非是新新手,这个可以找个有经验的问问。
   步骤三、制作镜像文件。系统装好后把三卡驱动安装完毕,重新启动至WINPE,把ramdisk.syscopy至F:\WINDOWS\system32\drivers下,运行注册表文件regedit.ext,然后选中HKEY_LOACL_MACHINE,"文件->加载配置单元",选择F:\windows\system32\config\system,加载该配置单元为gho,导入注册表文件gho.reg,选中HKLM\gho,点击"文件->卸载配置单元".启动VDM软件创建一个大小450M的镜像文件,选用NTFS格式与压缩方式进行格式化,文件名字“450.img”存放至D盘根目录。用VDM加载,然把把 F盘上WINDOWS、Program Files、Documents andSettings三个木copy到镜像文件中。修改c:\boot.ini,在其中加入一条“ramdisk(0)\WINDOWS="450.img"/minint /fastdect/rdpath=multi(0)disk(0)rdisk(0)partition(2)\450.img”。如果一切都正确操作就可以重新启动,选择450.img就可以进入新的RAMOS系统,此时的系统并不是真正的全内存运行系统,仔细观察硬盘灯,发现它还在闪烁,说明该系统还在不停的读取硬盘资料。
步骤三中遇到过的问题1,开机重启至RAMOS,系统提示“不能打开或不能读取镜像文件”,这个问题是镜像文件本身错误,就是你用了一个不合格的IMG文件,所以打不开,解决办法,用从盛世4.0pe提取的VDM制作的镜像就可以。
   问题2,当问题1解决后进入系统看见win2003的欢迎页面后蓝屏。原因是镜像文件过大所导致,我用493M大小的镜像文件就出现这个问题,我用250M和450M的镜像文件没有出现该问题。
   问题3,出现登录页面后又出现“正在关闭网络”字样,并且就是不能登录。原因是F盘下的三个主要目录“WINDOWS、ProgramFiles、Documents andSettings”部分或完全被删除或移走。解决办法恢复到原来状态,但这是临时方法。后面步骤四详细记录解决这个问题,因为这是作为全内存运行的关键。
   步骤四、解决新RAMOS系统不断读取硬盘的问题,使它不在读取硬盘,完全在内存中运行。不断读取硬盘--其实是读取 F盘上的文件,其原因是注册表中把大量系统文件用F:\WINDOWS\SYSTEM32\xxxxx.dll字样直接标注,所以新的RAMOS系统会不断读取F 盘资料,而不是读取 X盘下面的资料。解决方法,用Registry Toolkit 3,批量替换"F:"为“X:”,然后把X:\WINDOWS\SYSTEM32\CONFIG文件夹保存至硬盘,然后重启运行WINPE,加载450.img文件,用刚刚保存的文件夹,把相同位置文件夹给替换掉,卸载镜像,然后重新启动,至此一个真正的全内存系统制作完成。
   步骤五、安装软件ImDisk VirtualDisk,安装好后在在控制面板启动这个软件,界面简单,很好使用。然后根据个人喜好用VDM制作一个常用软件镜像,在用ImDisk VirtualDisk加载,选上“COPY IMAGE TOMEMORY”,这时就已经把镜像内容完全加载到内存中了。达到系统与常用软件双重内存运行的效果。而且还可更改这个内存盘的大小。非常方便实用。
   总结:主要问题都已经说明,希望人人能够打造一款全内存运行的系统。



问题一:谢谢楼主,我按你的方法成功了,不过每次进RAMOS系统都要安装ramdisk驱动,有没有办法解决?也不知怎了,一改动img文件,例如改注册表那一步,改完后,就进不了,进欢迎后就蓝屏。

解决:修改好注册表要重新封装img文件。
img文件过大导致蓝屏,把img文件做小。
另:至于步骤三,安装ramdisk驱动时,我认为更加简单明了的做法是:进入F盘系统
(1)控制面板———添加硬件——是硬件已经连接好——添加新的硬件设备——安装手动从列表选择的硬件——显示所有设备——从磁盘安装———浏览,选择“RAMDISK_安装控制器”所在文件夹,选安装控制器,安装,ok。(2)重复一次刚才的步骤,安装卷。(3)运行regedit进入注册表,找到HKLM\SYSTEM\CurrentControlSet\Services\Ramdisk\右边的Start值改为0,要是没有的话,新建一个Start 赋予dword为0
关于“每次进RAMOS系统都要安装ramdisk驱动”的解决方法:进入 RamOS,进行上述的第(3)点,更改Start 值为 0,在注册表中,右键点击HKLM下的SYSTEM——导出SYSTEM,文件类型选“注册表配置单元文件”,最后用SYSTEM覆盖IMG文件里面的X:\WINDOWS\SYSTEM32\CONFIG下的同名文件,OK。

问题二:不能打开或不能读取镜像文件

解决:在把三个文件夹复制到IMG文件时,要求格式化,FAT32格式?
进入WinPE,用VDM创建IMG文件,点“压缩”,然后载入。
点击我的电脑,即可进行格式化,记得选NTFS格式,选“启用压缩”。
我也一直用上述说的方法整RAM OS,都能成功。不知道是不是我没照着方法做,好像有些小瑕疵,比如安装office后   再制作的话,每次打开office都会出现windows installer 正在启动……后来发现windows installer服务不能启动。另外,在替换注册表时,如果安装了adobe flash player的IE插件会出现一些注册表无法替换的情况,不知道什么原因。



下面就说下我的“制作”方法吧,这几天试了下,没出现什么问题:
第一步
当然是安装系统啦,不过,要安装在X盘,我的方法是,在目前已经安装了的系统下进行安装(不在PE下)。步骤是,右击“我的电脑”,选“管理”-“磁盘管理”,把你想安装系统的这个区改成X盘。
好,接下来,安装系统。(至于系统该安装哪个,自己琢磨^_^)。
第二步
安装系统。这个估计是家常便饭了,不会安装的要么百度一下,要么面壁三天^_^。
第三步
进系统,安装驱动,安装常用软件。并进行优化。
第四步
进PE后,打开注册表,选中“HKEY_LOCAL_MACHINE ”后,再选菜单上的“文件”-“加载配置单元”,找到刚才安装好的系统的分区,加载这个文件:“X:\WINDOWS\system32\config\system”,加载名为“gho”后,把以下内容保存为gho.reg(任意名均可):
Windows Registry Editor Version   5.00


[HKEY_LOCAL_MACHINE\gho]


[HKEY_LOCAL_MACHINE\gho\ControlSet001]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Control]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Control\Class]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Control\Class\{052EDE36-BFFF-4AD4-9FEE-5838250CE7AF}]
"Class"="Ramdisk"
"Icon"="-5"
@="Ramdisk"


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Enum]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Enum\Root]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Enum\Root\RAMDISK]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Enum\Root\RAMDISK\0000]
"Mfg"="Microsoft"
"Driver"="{052EDE36-BFFF-4AD4-9FEE-5838250CE7AF}\\0000"
"DeviceDesc"="Windows RAM Disk Controller"
"Service"="Ramdisk"
"Class"="Ramdisk"
"HardwareID"=hex(7):72,00,61,00,6d,00,64,00,69,00,73,00,6b,00,00,00,00,00
"ClassGUID"="{052EDE36-BFFF-4AD4-9FEE-5838250CE7AF}"
"Capabilities"=dword:00000000
"ConfigFlags"=dword:00000000


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Enum\Root\RAMDISK\0000\Control]
"ActiveService"="Ramdisk"


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Enum\Root\RAMDISK\0000\LogConf]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Services]


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Services\Ramdisk]
"Type"=dword:00000001
"Start"=dword:00000000
"ErrorControl"=dword:00000001
"Description"="Windows RAM Disk   Driver"
"DisplayName"="Windows RAM Disk Driver"
"ImagePath"="\\SystemRoot\\system32\\drivers\\ramdisk.sys"
"Tag"=dword:00000001
"Group"="Primary disk"


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Services\Ramdisk\Debug]
"DebugComponents"=dword:00000000
"DebugLevel"=dword:00000000


[HKEY_LOCAL_MACHINE\gho\ControlSet001\Services\Ramdisk\Parameters]
"ReportDetectedDevice"=dword:00000000


再把ramdisk.sys这个文件复制到X:\WINDOWS\system32\drivers中。
第五步
好,基本上快要完了。不要重启,使用vdm创建一个映像文件,如800.img,然后载入这个映像后,在“我的电脑”里双击A盘,会提示是否格式化,选“是”,格式选NTFS,“快速格式化”和“启用压缩”均选上后点确定。然后,打开X盘,把X盘里的Documents and Settings、Program Files和WINDOWS这三个文件夹的所有文件复制到A盘里。打开A盘,打开注册表,加载配置单元,选A:\WINDOWS\system32\config\system这个文件,找到“HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices”这个选项,把“\DosDevices\X:”右键重命名为“\DosDevices\K:”(PS:随便什么盘,只要不是X盘即可,为了看起来舒服,我把它命名成C盘里系统里的原本的盘符呵呵,之所以要这么做,是因为如果不把它改成其他盘,会与RAM OS里的系统盘出现冲突,刚加载完映像后会马上蓝屏,还有一种办法就是把这个盘删除,不过这样会白白浪费一个分区的容量^_^)。
好,双击VDM图标,卸载A盘。
第六步
把附件中的ntldr复制到C盘根目录并替换原来的ntldr,在C:\boot.ini中加入“ramdisk(0)\WINDOWS="Windows2003 Enterprise Of RAMOS" /MININT /FASTDETECT /NOGUIBOOT /NODEBUG /SOS/PAE /NOEXECUTE=ALWAYSOFF/RDPATH=MULTI(0)DISK(0)RDISK(0)PARTITION(2)\800.IMG”
PS:我是把800.IMG放在D盘,所以是“MULTI(0)DISK(0)RDISK(0)PARTITION(2)\800.IMG”,如果你的映像文件在E盘就是“MULTI(0)DISK(0)RDISK(0)PARTITION(3)\800.IMG”,以此类推。
好,到这里就全完了。




PS2:要说这里面最重要的,还是ntldr了,没有它我们什么事都办不成,而如果没有redblink
和xiluoyou两位高手的破解,我们的ntldr加载的映像还停留在512000000字节(即488M)的限制。感谢他们!
另外,如果内存不是很大,还是不建议使用它,因为整个映像是完全从内存划分出来的,如本人,2G内存,映像是800M,还建了个128M的内存盘Ramdisk,开机剩余内存刚好是800M。再说下IMG的载入速度,我的800M载入时间大概是35秒左右,可能是因为是笔记本的5400转的硬盘吧。还要啰嗦一句^_^,映像在保存了系统的Documents and Settings、Program Files和WINDOWS这三个文件夹的,应该剩余100多M的空间,太小容易出现问题。


PS3:提供上述中提到的一些文件和工具。
http://www.namipan.com/d/da3e954689da966c0194b1391e3df8ddf33443ae04b80600

上面说的思路其实很简单,就是先想办法弄个X盘,再把系统装到X盘,然后再将这个X盘打包成映像后用ntldr载入,但由于系统中已经存在一个X盘,所以得把硬盘中的X盘的盘符换成其它盘符,这样就不会和内存X盘相冲突了。