本帖最后由 小白鼠 于 2010-3-28 09:01 编辑
RAMXP即完全加载在内存中运行的windows xp系统,它有如下特点:
1、速度快,因为完全运行在内存中,速度当然就快。
2、不残留任何运行痕迹,断电或重启一切数据都消失。
3、可从硬盘、光盘、U盘引导,方便携带。
4、XP原装系统,不用担心系统不干净。
5、全功能XP系统,不同于XPe和通常意义上的LiveXP系统。
6、运行稳定, 节省电量, 减少硬盘噪音, 延长硬盘使用寿命. 配合磁盘特性修改软件, 可以将硬盘修改为节电模式, 这样一般情况下磁盘处于停转状态.
目标: 定制一个属于你自己的内存版XP, 要简单易用. 天风的RAMXP不太适合日常工作使用,无盘小天使启动后要重新安装一堆驱动,很烦.
原理: 将你的系统盘镜像成一个文件ramxp.img(使用filedisk),使用微软NTLDR载入到内存,在内存中形成一个489M的系统盘(可读写), 而将其他大型应用软件使用IMAGEX打包成一个文件,然后挂接至内存盘的一个目录C:\tools下(虚拟可读写).
最低要求: 你要有WINXP SP3 VOL版安装盘, (W2K3 SP1以上也行);你的PC/笔记本至少有2GB内存. 如果你有4G或以上内存,在安装RRamdisk后,需要运行ram4g.reg以使用PAE扩展
第一阶段: 目标系统的准备
1.1> 使用nlite精简Windows XP SP3, 精简组件和驱动,添加SATA驱动 (不要集成显卡/无线等大的驱动,这些可以单独安装). 不会精简??? 提供给你个例子,请参考附件中Last Session.ini. (请在nlite英文界面下导入此文件)
注意: 最好将缺省的目录Document and Settings更名为DocSettings,将Program Files更名为Programs. 主要是在后面拷贝文件时方便.
1.2> 安装windows XP SP3, 正常安装直至结束; 使用附件中提供的rramdisk,安装RRAMDISK虚拟盘, 指定虚拟盘大小(自选设定, 主要用于存放IE CACHE,临时文件等). 如果内存在3G以上,请运行ram4g.reg以使用PAE扩展.
1.3> 重新启用XP, 优化XP: 禁用页面文件(pagefile.sys),修改用户和系统环境变量TEMP/TMP, 指向虚拟内存盘,执行其他优化措施,运行tuning-2003.reg,修改我的文档至其他分区(非系统分区);
1.4> 安装filedisk和wimfltr.sys. filedisk用于在线对ramxp的主启动映像进行维护,wimfltr.sys用于支持.WIM格式的打包文件.
拷贝filedisk.sys和wimfltr.sys至WINDIR\system32\drivers\下,拷贝filedisk.exe,imagex.exe,wimgapi.dll,wimtool.exe 至WINDIR\system32下
命令如下: copy filedisk.sys %WINDIR%\system32\drivers
copy wimfltr.sys %WINDIR%\system32\drivers
copy filedisk.exe %WINDIR%\system32\
copy imagex.exe %WINDIR%\system32
copy wimgapi.dll %WINDIR%\system32
copy wimtool.exe %WINDIR%\system32
双击install-filedisk.reg, 安装filedisk注册表项;
点中wimfltr.inf,右键,选择安装.
1.5> 安装windows RAMDRIVER驱动:
解压ms_ramdisk.zip,选择安装新硬件,选择从磁盘安装, 选择ramdisk.inf.
安装RAMDISK磁盘控制器 和 RAMDISK磁盘控制器(卷), 要分两次安装.
安装完成后,设置 HKLM\SYSTEM\CurrentControlSet\Services\Ramdisk\Start=dword:0
1.6> 安装各种软件, 基本不安装在缺省的Programs Files下,而单独安装在C:\Tools下. 但自动启动需要的软件还要安装在Programs Files下. 如CiscoVPN Client, ZoneAlarm Pro. 目的只有一个: ramxp镜像最大只能为489M, 所以Programs Files目录不能太大.
第二阶段: 将外置程序打包
2.1> 重新启动XP, 打开DOS窗口,输入如下命令:
imagex /capture /compress maximum C:\Tools D:\tools.wim "Tools software"
2.2> 在注册表中添加如下一行:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"Tools_Wim"="C:\\windows\\SYSTEM32\\imagex.exe /mountrw d:\\tools.wim 1 C:\\Tools"
第三阶段: 制作主启动镜像
3.1> 从本贴中下载grub.rar将其解压至系统盘根目录下;
3.2> 修改boot.ini,添加如下一行:
C:\C:\AVLDR="WinPE系统""
3.3> 重新启动机器,选WinPE系统启动 (上传中。。)
3.4> 在WinPE下,清理系统:
rm c:\windows\system32\wbdbase*
rm c:\windows\system32\*.lex
rm c:\windows\system32\noise*
rm c:\windows\system32\oembios*
rm -rf "C:\Document Settings\default users"
rm c:\windows\system32\dllcache\*
upx c:\windows\system32\xpsp2res.dll
upx c:\windows\system32\wmploc.dll
upx c:\windows\system32\wmcore.dll
upx c:\windows\system32\dxdiag.exe
upx c:\windows\system32\dxdiagn.dll
如果你没有PE系统,请自行删除这些文件. 但oembios.*不能删除,因为winlogon.exe不能被替换.
从winlogon-cracked.zip中解压winlogon-xp-sp3-cracked-zh.exe, 重命名为WINLOGON.EXE,覆盖C:\windows\system32\winlogon.exe. (此破解文件已不需要omebios.*, 所以删除oembios.*)
3.5> 清理优化系统, 精简document and settings目录. 以最大可能减少体积. 并删除多余垃圾文件,使WINDOWS安装目录保持在大约500M-600M, Program Files保持大约100M.
最后,系统盘上将会剩下以下几个目录: Document and Settings, Program Files, Tools, WINDOWS.
3.6> 使用filedisk定制一个493M的启动镜像文件, (这是偶经过多次测试后得到的最大值)
命令如下: filedisk /mount 1 D:\ramxp.img 493M Z:
然后将Z:格式化: format Z:/V:SYSTEM_RAMXP /FS:NTFS /A:1024 /C
如果你的PE系统没有集成filedisk, 那就先在PE下拷贝系统盘下那几个目录到别处:
ROBOCOPY "C:" "D:\TEMP" /E /ZB /COPYALL /R:5 /W:10
拷贝完成后, 清空D:\TEMP\Tools目录,但Tools目录保留
3.7> 在镜像文件上创建与系统相对应的目录:
md "Z:\Document and Settings" /mkdir Z:\DocSettings
md "Z:\Program Files" /mkdir Z:\Programs
md "Z:\WINDOWS" /mkdir Z:\WINNT
md "Z:\Tools"
右侧是偶建的目录,非WINDOWS缺省目录.
3.8> 使用如下命令拷贝SYSTEM C: 至启动镜像文件
robocopy "C:\Document and Settings" "Z:\Document and Settings" /E /ZB /COPYALL /R:5 /W:10
robocopy "C:\Program Files" "Z:\Program Files" /E /ZB /COPYALL /R:5 /W:10
robocopy "C:\WINDOWS" "Z:\WINDOWS" /E /ZB /COPYALL /R:5 /W:10
以上命令的含义是拷贝3个系统盘目录至镜像文件中, 而Tools目录用于挂接.WIM文件,不拷贝.
如果你没有集成filedisk/imdisk的BartPE,在windows启动后执行如下命令:
filedisk /mount 1 D:\ramxp.img 493M Z:
format Z:/V:SYSTEM_RAMXP /FS:NTFS /A:1024 /C
ROBOCOPY "D:\TEMP" "Z:" /E /ZB /COPYALL /R:5 /W:10
完成后取消挂接:
filedisk /umount Z:
3.9> 如有必要,进一步优化镜像盘上文件,缩小其体积. 确认镜像盘上有20M可用空间;
3.10> 在boot.ini中添加如下一行:
ramdisk(0)\WINDOWS="Windows XP in RAM" /fastdetect /rdpath=multi(0)disk(0)rdisk(0)partition(2)\ramxp.img
启动即可. 启动后系统后发现新硬件(RAMDISK),提示重启,不要重启哟. :)
注意,
1. /minint参数去掉,会直接模拟成C盘,原来C盘隐藏,这也是我最想要的。如果加上/minint,则会指定系统盘至X:
2. 请依据你的WINDOWS安装目录修改 ramdisk(0)\<WINDIR>
笔者还发现一个特点,以上方法启动XP时,HK_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run下启动项不启作用. 所以要修改到HK_LOCAL_MACHINE下方可.
注意: 以2G内存为例, 493M分配给MS_RAMDISK(不可见,你见到的是C:盘 488M), 假如RRAMDISK 384M, 那么留给系统运行的内存还有1.1G. 同时,你也可以在RRAMDISK上设置页面交换文件, 前提是内存足够大.
如果内存是4G, 则32位系统最大只使用约3G. 其他不可见. 但可以在RRAMDISK中启用PAE, 这样不论你设置了多大的虚拟盘,RRAMDISK会占满整修PAE,大约990M. 你可以在上面设置虚拟内存.
第四阶段: 修改硬盘节电参数 (仅限于日立,IBM磁盘)
4.1> 启动DOS,选择SuperDOS With Disk Feature Changes
4.2> 选择Change Disk features,更改磁盘节电模式,向左移(小于50%).
日常维护:
挂接启动镜像:
filedisk /mount 1 d:\ramxp.img Z:
你可以添加/修改相应程序, 同样,你也可以像PE那样修改注册表
取消挂接:
filedisk /umount Z:
关于imagex的用法,讲得太多了,不一一列举. 你也可以直接输入imagex,各种参数都会列出来.
如果依据上述方法不能成功制作ramxp者,请更新此贴.
问答:
Q: 如何不做成通用的镜像,供大家下载?
A: 做成一个现在的? 各机器配置不一样,硬件设备不一样,在注册表中没有相关数据, 重新启动后要重新识别一大堆硬件, 驱动是个大问题.即使有驱动,如果是新硬件,不停地按下一步也很烦. 何况有些硬件配置也不能正常工作.
因此,偶认为是无法做成通用的,即使勉强成功了,大家日常使用也别扭. 还不如就以自己的硬件配置做一个,做日常使用. 方便,安全还节能.
偶认为,授人以鱼,不如授人以渔!
Q: 为何启动镜像最大为493M,不能再大吗?
A: 主要是NTLDR (非setupldr.bin)有512000000字节限制(应是微软开发人员限定死了的), 转换后大约493M. 目前还没有被破解. 所以,你需要尽可以压缩优化WINDOWS目录,压缩至600M以下. 这样才可能放入启用NTFS压缩的镜像文件中. 不过偶觉得也够用了,再大,占用的内存也大.
Q: 我只有一个硬盘和一台机器,没有光驱,怎么办呢?
A: a>. 首先到从本贴中下载grub.rar,解压至当前系统根目录,并修改boot.ini;
b>. 启用BartPE, 使用ghost备份你现有的系统;
c>. 重新启动windows, 使用nlite在你的硬盘其他分区上精简好winxp sp3, 例如你放置于D:\temp\Winxp下,下载附件unattend.txt,并放置于D:\Temp\Winxp\I386\下;
d>. 再次进入BartPE,格式化系统盘: format C: /FS:NTFS /A:4096 /V:SYSTEM
e>. 安装WinXP: cd D:\Temp\Winxp\I386
winnt32 /unattend:unattend.txt
Q: 我要添加/安装软件怎么办呢?
A: 如果是绿色软件,最省事的就是启动到BartPE,重新执行2.1步. 如果涉及注册表,那就如同修改PE一样了. 或者,启动硬件上的XP,直接安装软件. 安装完重新执行2.1, 3.6 - 3.8步即可,也不麻烦,多做两次就熟了. |