分享

MemDisk将系统装进内存的制作方法

 逗咳嗽 2015-09-17
目前内存的价格是越来越便宜了,很多主板也开始支持单根8G,最大32GB的大容量内存。不过目前很多应用程序都用不到这么大容量的内存,那么我们应当如何充分发挥其价值呢?小编刚刚在某论坛发现一名网友成功将Win XP和Win7系统装进了内存,使启动速度达到了“秒杀固态硬盘”的程度,各位网友不妨也来试试。

先来介绍下原理:制作中需要firadisk的驱动,此驱动可以让系统识别grub引导程序用map指令在内存上映射的仿真磁盘(即iso或img等光盘及磁盘镜像文件)。而只有win98之前的系统才能支持grub的这个功能。如此先用grub将磁盘镜像载入内存后启动内存上的磁盘镜像上的系统,这样就成了romos。其实winpe就是差不多这样的原理。但是winpe太简单了,很多驱动都不能装。网上查了一下有用ntldr引导磁盘镜像做romos的,但是ntldr引导的镜像有大小限制,镜像体积不能超过约400多m,网上也有通过grub+firadisk成果启动romos的例子,但是不多。

先来看看Win XP制作完成后截图:

\

\

\

机器内存4g,32位xp只能认3.25g,所以xp系统硬是被精简到了1.5g以内

\

这个firadisk就是xp所在的内存上的虚拟磁盘

\

\

系统盘测试,平均读取将近900m/s,随机存储时间=0ms

\

系统盘测试

Windows XP制作过程①

一 准备工作
1.Winimage:用于制作磁盘镜像
下载地址:http://ydsoft.//200910/WinImagePortable.rar

2.grub for dos:在内存上映射磁盘镜像以及引导内存系统
下载地址:http://ncu.dl./project/grub4dos/GRUB4DOS/grub4dos%200.4.4/grub4dos-0.4.4.zip(操作之前强烈建议对grub不熟悉的同学先熟悉一下grub(至少学会map和chainloader等常用指令))安装grub for dos:xp下将grldr.mbr,grldr和menu.lst三个文件拷贝到C盘根目录,在boot.ini最后一行添加c:\grldr.mbr="Grub for DOS"

3.Firadisk驱动:识别grub映射的磁盘镜像
下载地址:http://www./grub4dos/FiraDisk/firadisk-driver-0.0.1.16.zip

二 制作系统磁盘镜像
1. 备份原来系统(如果安装新xp到非第一分区则略过,推荐安装到非第一分区,安装后不会引导到非第一分区的可以先学grub)

2. 安装新xp:可以用精简版的xp,也可以完全安装后自己精简,精简程度视自己的内存大小决定,差不多系统镜像载入内存后留个500m-1g足已。然后装好驱动和常用软件
 

3. 安装firadisk驱动:

\

在新安装的系统上添加新硬件

 \

手动安装

 \

添加scsi和raid控制器

 \

从磁盘安装

 \
选择firadisk驱动所在的文件夹
 

\

 

\

设备管理器里看到scsi和raid控制器里的firadisk virtual disk enumerator后说明驱动安装成功

Windows XP制作过程②

4.打开注册表编辑器,进入HKEY-LOCAL-MACHINE\SYSTEM,删除其下的MountedDevices,否则内存系统盘无法挂载为C盘。

5.如果是将新xp安装到**硬盘的需要修改boot.ini里的multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" 这一行,确保partition(1)括号里面为1,这个很重要,因为系统磁盘镜像挂载到内存后在bios里会映射为第一个硬盘的第一个分区,如果此处不是1的话会出现无法引导的状况(当时我就在这边耗了很久,都快放弃了。。。),新xp安装到第一个分区的没有这个问题。

6. 备份新xp(安装到第一分区以外的不需要备份了):备份之前可以先测试一下firadisk驱动是否安装成功,方法是在menu.lst里添加
title winxp #显示标题 随便添
map --mem (hdx,y)/任意磁盘镜像路径 (hd32)  #此镜像为测试用,iso格式img或ima格式均可
map --hook
chainloader (hdm,n)+1
启动后发现有新磁盘或新光驱的说明安装成功

7.还原或重启到原来操作系统(或进入winpe)

\

用winimage新建磁盘镜像,选择自定义映像格式

扇区总数按需分配(如新xp占用1g空间则设差不多3000000个扇区也就是1500000kb,这个大小就是内存系统上的C盘的总容量,所以留个500mb左右的空间比较合适),其余默认值。设置之后保持为ima或img格式,将新xp所在的硬盘上的所有文件直接拖进去就行了(用ghost之类备份的同学先用ghost镜像浏览器解压之后再拖进去),此处还可以设置磁盘卷标和设置文件是否隐藏,到此位置系统盘镜像以及制作完毕。(也可使用fat32系统格式,要比fat16更省空间)
用UltraISO也可制作磁盘镜像,此处省略

另外,grub的map指令是支持gzip压缩文件的,因此还可以用gzip将此镜像文件压缩,压缩过后体积约为原来的三分之一大小。推荐使用gzip压缩,gzip用法很简单,可以自学。

三 加载内存系统:

1. 在记事本打开menu.lst添加以下内容:
title RomOS(winxp) #显示标题 随便添
find --set-root /romos.ima  #此命令为搜索磁盘镜像并设置为根目录,推荐将磁盘镜像放任意分区根目录
map --mem /romos.ima (hd0)  #映射为第一分区
map (hd0) (hd1)
map --hook
chainloader (hd0,0)/ntldr #如果无法启动可以改成chainloader (hd0,0)+1试试


2. 重启后在grub选择菜单里选RomOS(winxp)就行了,等待硬盘镜像加载到内存完毕后就能进入内存上的xp系统了。

Windows 7 制作过程下面介绍一下内存中装Win 7的具体方法:

\

\   

系统盘读写速度约900m每秒,和双通道ddr2内存6000m每秒以上的速度还是有一定差距的。显然此时的瓶颈在于北桥和南桥芯片的带宽,本人780g的南北桥传输速度仅为1g每秒,什么时候把硬盘控制器装到北桥芯片,就能接近内存的的读写速度了。

\\

windows文件夹控制在1g左右,原来四五个g的winsxs被减到了可怜的二十几兆

\\

系统睡眠后将硬盘拔掉再启动,只有虚拟硬盘运行,没有硬盘的声音了
 

\

\

\

安装内存win7和内存xp的过程大致相同,但是有几点需要注意的:

1. win7下安装firadisk虚拟磁盘驱动需要点击设备管理器后在操作里点击“添加过时硬件”。

2. 制作系统镜像前需要打开cmd,然后:
bcdedit /set {default} osdevice boot
bcdedit /set {default} device boot
bcdedit /set {default} detecthal 1
这是因为Vista开始bootmgr引导程序和NTLDR有所不同,一旦发现磁盘大小,文件系统等发生改变,会导致启动时出现winload.exe错误导致无法启动系统。以上命令就是解决这个问题的。


最后说下感受:

win7装内存上,这个速度你是能想象得到的:
开机:10秒左右
关机:5秒左右
安装完整版qq:15秒左右
启动qq:0.x秒

只要不对真实硬盘进行读写操作,硬盘灯绝不闪,上网时那叫一个流畅。。。没用过固态硬盘,但是从性能上讲内存硬盘绝对要比固态硬盘强,这是不容置疑的,缺点就是每次启动都要加载磁盘镜像(约20秒),并且每次对系统盘的操作重启后就会还原。

如果你拥有大内存,最重要的是爱折腾,那你就赶紧试试把win7装到内存吧~~~


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多