无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 37605|回复: 108
打印 上一主题 下一主题

基于WIM的RAM XP新思路,新实践!【20100903更新】

[复制链接]
跳转到指定楼层
1#
发表于 2010-8-18 22:42:35 | 显示全部楼层 回帖奖励 |倒序浏览 |阅读模式
声明:这些程序只能用于研究目的,不得用于任何商业用途。
这些程序造成蓝屏死机BSOD、数据丢失等任何影响与本人无关。
FBWF/RAMDISK/WIMFLTR是微软公司产品,感谢微软公司提供这么好的工具让我们研究。
感谢无忧启动论坛提供这么好的场所让我们交流。
______________________________________________________________________
20100903 更新,去除对FBWF的依赖,临时文件保存到 X:\TEMP 目录。详情见 70楼
______________________________________________________________________
20100827 更新,增加grouporderlist,兼容精简系统。内含 c_laotou.sys,需要的人自己改名为 laotou.sys 。密码照旧。
______________________________________________________________________
详细操作步骤、附件见17楼
解压密码为本人ID。



基于WIM的RAM XP新思路
“wim格式的ram启动XP成功---更新,保成功”引导RAMOS的有一次热潮!
WIM的优势让大家看到了RAMOS的新希望,让我们欢欣鼓舞!
与此同时,这种启动方式成功率实在太低,BOOTMGR经常罢工。
于是我就想了,我们能不能用NTLDR来引导WIM呢?
又要破解NTLDR了,我不会!
俄罗斯的高手也淡出了,怎么办呢?
我们来分析一下,NTLDR的功能,它不就是从WIM里面读出ntoskrnl.exe等内核驱动,然后引导整个系统吗?
如果我建立一个IMG格式的RAM XP把NTLDR需要的文件全部给它,其他文件用WIM封装,用内核模块挂载到windows目录。
这样整个系统就可以跑起来了。
经过一个多月的摸索,现在初步有了一个结果,实验证明是可行的。
目前的进展是:
建立目录X:\TEMP
在VMWARE安装XP,把X:\WINDOWS封装成windows.wim。
破解wimfltr.sys,修改注册表使得wimfltr自动运行,在wimfltr启动时把 x:\boot\windows.wim可写方式挂载到x:\windows(临时目录指向x:\temp)
删除X:\WINDOWS目录下面的多余文件(参考uWin,目前是20M),重启电脑,成功了。

[ 本帖最后由 liulaotou2 于 2010-9-4 14:50 编辑 ]

wimXP效果对比.JPG (135.67 KB, 下载次数: 224)

wimXP效果对比.JPG

路径.JPG (92.43 KB, 下载次数: 186)

路径.JPG

laotou_Wim.rar

121.32 KB, 下载次数: 826, 下载积分: 无忧币 -2

20100827

评分

参与人数 2无忧币 +105 收起 理由
879792799 + 5 很给力!
zhxy9804 + 100 很欣赏,支持你!可惜俺没有权限精华...

查看全部评分

2#
 楼主| 发表于 2010-8-19 20:15:44 | 显示全部楼层

回复 #2 pseudo 的帖子

比单纯WIM格式多20M,这20M在启动完成以后可以删除,这样RAMDISK就多出20M空闲空间了。
回复

使用道具 举报

3#
 楼主| 发表于 2010-8-19 20:16:34 | 显示全部楼层

回复 #3 huaqingyuan 的帖子

还没有完全成功,还在测试中。
最终会公布方法的。
回复

使用道具 举报

4#
 楼主| 发表于 2010-8-19 20:18:23 | 显示全部楼层
杯具了,实机测试的时候,都看到开始菜单条了,飞快重启了!
好像被正版验证干掉了,定位中。。。。。。
回复

使用道具 举报

5#
 楼主| 发表于 2010-8-19 23:12:23 | 显示全部楼层
多拷贝了一些垃圾驱动,drivers目录占15M,应该可以干掉一些。
我本来就把RAMDISK当临时目录使用,所以只要能释放出来,20M我也无所谓。
目前发现wimfltr破解不彻底,有兼容性问题,正在优化中。
回复

使用道具 举报

6#
 楼主| 发表于 2010-8-21 20:56:04 | 显示全部楼层
20100821进展通报:
采用FiraDisk制作RAMXP,然后用WIM压缩,在实机测试成功,但是由于采用的是用内存盘当缓存,wimfltr占用缓存速度飞快,空闲空间很快就消耗一空,正在考虑只读方式挂载WIM,用FBWF来做缓存,看看是否会改善。
回复

使用道具 举报

7#
 楼主| 发表于 2010-8-21 20:59:43 | 显示全部楼层

回复 #13 yichya 的帖子

没看懂你说的什么意思?
wimfltr是minifilter的一种,层次比FIRADISK要高很多,所以需要drivers目录下面的部分驱动才能运行。
windows本身没有做任何改动。
在RAMOS已经完成的情况下只要安装wimfltr就可以了。
剩下的就是打包了。
回复

使用道具 举报

8#
 楼主| 发表于 2010-8-22 13:46:22 | 显示全部楼层
操作步骤如下:
1、安装Windows XP,安装驱动,盘符为 X,最好完整版。至少有fltmgr,并能够正常工作。
2、解压laotou_Wim.rar。
3、运行install.bat安装ramdisk和fbwf驱动.
4、进入wimfltr目录,右键点击wimfltr.inf,选中“安装”菜单,安装wimfltr和laotou.sys。
5、重启电脑,进入另外一个WINDOWS,运行removeMoreFiles.bat精简不必要的文件。
(非必要操作,注意我这里默认步骤1安装的XP在C:)
6、按照主楼图片,抓取documents.wim、programs.wim、windows.wim这3个文件。
7、用Virtual Drive Manager建立一个300M左右的IMG比如c:\g4d\ramxp_fbwf_wim.img,格式化,NTFS,压缩,快速格式化。
8、按照laotou_Wim.rar中的filelist.txt拷贝文件到IMG。
注意:drivers目录请直接拷贝c:\windows\system32\drivers替换。
9、修改boot.ini增加:
ramdisk(0)\WINDOWS="Windows XP WIM RAM" /fastdetect /minint /rdpath=multi(0)disk(0)rdisk(0)partition(1)\g4d\ramxp_fbwf_wim.img
10、重启电脑,选择 "Windows XP WIM RAM" 启动电脑。
11、跟其他RAMXP一样处理。新硬件驱动确认、盘符修改,导出system文件。
效果图、解压密码见顶楼:

[ 本帖最后由 liulaotou2 于 2010-8-22 23:04 编辑 ]

laotou_Wim.rar

118.32 KB, 下载次数: 578, 下载积分: 无忧币 -2

WIMXP配套软件。

评分

参与人数 1无忧币 +4 收起 理由
fujianabc + 4 原创内容

查看全部评分

回复

使用道具 举报

9#
 楼主| 发表于 2010-8-22 19:06:48 | 显示全部楼层
已知缺点:
1、用来引导的windows目录太大,需要精简。有兴趣的人可以尝试。
2、只能加载Ramdisk上的WIM文件,这个问题可以解决,但是需要很长时间。
还有什么缺点,大家一起来提啊!
回复

使用道具 举报

10#
 楼主| 发表于 2010-8-24 11:33:40 | 显示全部楼层
to cfan512
请参考"路径.jpg",并建立对应的路径,哪怕是空目录。
应该没有350M的限制,只有500M的限制,实际空间大约478M。
thttht :
原理是可以,但是我没有使用过64位的XP,所以不知道应该怎么修改wimfltr来调用laotou.sys
laotou.sys是我自己写的代码,编译成64位版本还是比较容易的。
回复

使用道具 举报

11#
 楼主| 发表于 2010-8-24 14:20:19 | 显示全部楼层
to fujianabc:
2种方法:
1、你在正在使用的windows里面,修改HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices下面的某个盘符为X盘,重启电脑再进来就真的是X盘。使用winnt32.exe安装新的XP到X盘就可以了。
2、在正在使用的XP里面运行winnt32.exe安装新的XP到某盘比如F盘,文件复制完成要求重启电脑时按ESC键,在$开头的2个目录里面找 mi*.inf 里面有\DosDevices\F:,把这个F改成X就可以了。
to thttht:
windows 2003 enterprise server的32位版本支持大内存。
回复

使用道具 举报

12#
 楼主| 发表于 2010-8-25 19:27:00 | 显示全部楼层
改了1个C盘版本,大家将就着用。
等过一段时间,我再更新自动检查盘符的版本。

laotou_Wim.rar

117.74 KB, 下载次数: 359, 下载积分: 无忧币 -2

C盘版本

回复

使用道具 举报

13#
 楼主| 发表于 2010-8-27 22:55:03 | 显示全部楼层
cfan512  成功没有?
我在用完整版本的XP时可以成功。
用TINYXP安装的XP却没有成功,还在检查。
估计是需要增加引导的文件。
回复

使用道具 举报

14#
 楼主| 发表于 2010-8-27 23:35:33 | 显示全部楼层
定位了一周,终于发现问题了,不成功的人注意看:
凡是使用精简版的操作系统,无论是XP还是2003,都可能蓝屏,根本原因是注册表被精简过度了。
我装了好多个精简系统,也就BabyXP没有问题,说明我的运气不错,否则就没有 laotou.sys 了。
大家把附件里面的文件导入注册表就可以了,如果是脱机导入,就自己改一下。

grouporderlist.rar

1.27 KB, 下载次数: 199, 下载积分: 无忧币 -2

WimXP蓝屏补丁

回复

使用道具 举报

15#
 楼主| 发表于 2010-8-28 18:56:25 | 显示全部楼层
to yichya :
你要源代码干什么?自己用IDA反汇编、再转C,最后跟真正的源代码差不多。

to others:
20100829 删除测试方法,参考52楼。

[ 本帖最后由 liulaotou2 于 2010-8-29 18:53 编辑 ]
回复

使用道具 举报

16#
 楼主| 发表于 2010-8-29 00:22:57 | 显示全部楼层

回复 #44 zsjyzx 的帖子

这是wimfltr没有正常启动的现象,请按照42楼的方法先验证一下再封装。
回复

使用道具 举报

17#
 楼主| 发表于 2010-8-29 00:28:21 | 显示全部楼层

回复 #43 yichya 的帖子

说起来容易,做起来难啊!
在启动阶段读注册表或者文件有很大限制,有没有明确的文档,MSDN没有相关内容,全部要自己去尝试。
速度快不起来,一不小心就蓝屏了。
驱动编程要慢慢学,只有动手才知道困难。
回复

使用道具 举报

18#
 楼主| 发表于 2010-8-29 12:18:31 | 显示全部楼层
to zsjyzx  
还是wimfltr没有成功启用的错误提示,如果成功了,就可以找到autochk了。
按照42楼的方法检查。
to chenall
正在学习中,移植了部分代码,由于驱动模型不同,蓝的厉害。
平时要上班,周末还要休息,投入时间比较少。
回复

使用道具 举报

19#
 楼主| 发表于 2010-8-29 18:51:40 | 显示全部楼层
我今天尝试使用C盘版本时发现根本不能成功。
根本原因是FBWF启动后不干活,原来是启动选项里面没有 minint ,然后就出现 unknown hard error 了。
所以需要调整操作步骤,安装完驱动以后不着急封装,先用IMG格式启动RAM XP,运行fbwfmgr启用C盘的写保护。
导出system文件,拷贝c:\fbwf.cfg,下面就可以封装了,把fbwf.cfg也要拷贝到IMG里面,system文件替换一下。

我当初尝试的使用BB_XP并且安装到X盘,使用 minint 参数,还是很大的运气。
回复

使用道具 举报

20#
 楼主| 发表于 2010-8-29 23:55:55 | 显示全部楼层
我的第一个版本就是不用FBWF的,但是同等情况下,FBWF消耗的内存会少很多。
启用minint的情况,也可以由fbwf.cfg控制的,改fbwf.sys就可以了。

[ 本帖最后由 liulaotou2 于 2010-8-30 00:17 编辑 ]
回复

使用道具 举报

21#
 楼主| 发表于 2010-8-30 21:25:05 | 显示全部楼层
fbwf.sys需要版本配套才行,我贴的附件的那个fbwf.sys没有配套的控制台程序,大家换一个就可以了。
回复

使用道具 举报

22#
 楼主| 发表于 2010-8-30 21:55:04 | 显示全部楼层
大家有没有感觉WIM格式的XP运行速度稍微慢一些,特别是刚刚启动的时候,反映速度很慢。
回复

使用道具 举报

23#
 楼主| 发表于 2010-9-3 11:21:52 | 显示全部楼层
用FIRADISK也是可以的
回复

使用道具 举报

24#
 楼主| 发表于 2010-9-4 03:47:10 | 显示全部楼层
可写版本已经完成。
需要额外建立 X:\Temp 目录,不依赖FBWF。
可以在磁盘安装,也可以在内存盘安装。
如果是内存盘,至少要有50M的空闲空间。
大家继续测试啊!

可写版本.JPG (86.86 KB, 下载次数: 109)

X盘在磁盘测试

X盘在磁盘测试

WimFltr.rar

143.48 KB, 下载次数: 300, 下载积分: 无忧币 -2

写入临时目录版本

回复

使用道具 举报

25#
 楼主| 发表于 2010-9-6 04:10:54 | 显示全部楼层
没有什么限制,你先安装FIRADISK启动的RAM XP,安装我提供的WIMFLTR驱动,到处SYSTEM,拷贝DRIVERS目录,就可以封装了。
回复

使用道具 举报

26#
 楼主| 发表于 2010-9-11 04:26:33 | 显示全部楼层
正在努力尝试自动识别系统盘符,谁有建议可以提。
回复

使用道具 举报

27#
 楼主| 发表于 2010-9-15 13:48:16 | 显示全部楼层
盘符的问题现在基本有思路了,但是现在没空写代码。
多WIM也没有问题,但是WIM必须在系统分区,其他分区蓝屏。
回复

使用道具 举报

28#
 楼主| 发表于 2010-10-24 19:01:10 | 显示全部楼层

回复 #108 忧无 的帖子

请按照 http://bbs.wuyou.net/forum.php?mod=viewthread&tid=179132 这个帖子的操作步骤操作,现在不用FBWF了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-5-22 11:33

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表