无忧启动论坛

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

[原创] 一个脚本让纯64位变成全兼容32位的Win8pe

    [复制链接]
跳转到指定楼层
1#
发表于 2013-5-30 18:50:25 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 hhh333 于 2013-5-30 19:15 编辑

这确实是一个创新,兼容性可大幅提升,为了吸引眼球,使用了以上标题!

经过测试可以让原来不能用的32位程序基本可以运行,如我上次发布的兼容版QQ不能用/Opera无声音,全部解决了,但没有增加任何体积!酷!爽!

原理:

  大家可以看到install.wim中的syswow64有1G多,因此要达到全兼容可能要把整个目录搬过来,显然不可能,64位全功能的system32才不过400M。这个目录是32位的system32中的程序,能不能利用合盘中现有的32位全功能版?将32位system32和install的syswow64内共同含有而64位PE的syswow64中缺失的文件集中起来,作为第二个卷追加到32位的内核中,在64位启动时,将32位中追加的添加进来,那么64位中将包括32位全功能版内核中的多数文件。如果32位全功能版采用三卡外置的方式,再将这些外置的支持文件(即启用时要添加了system32中的)也加进来,那么这个64位就变成了一个高度兼容32位的系统,而从头到尾基本不需要体积,只增加几行代码和32位内核追加,而追加的与原来的是完全相同的,就我的那个内核而言,追加了70M的卷大概只加了100kb。

pecmd.ini中增加了一句:IFEX %W%\sysWOW64\,FORX \BOOT\H3_8PE.WIM,MyIni,1,EXEC !CMD.EXE /C "imagex.exe /apply %MyIni% 2 %W%\syswow64"就实现了加载。
网卡驱动中增加了:
EXEC =!CMD.EXE /C "7z.exe e %CurDir%\..\..\DR8\Ethernet\NET_PART%BootOS%.7z -y -aos -o"%windir%\Syswow64" system32\* -r-"
EXEC =!CMD.EXE /C "7z.exe e %CurDir%\..\..\DR8\Ethernet\NET_PART%BootOS%.7z -y -aos -o"%windir%\Syswow64\zh-CN" system32\zh-CN\* -r-"

声卡驱动中增加了:
EXEC =!CMD.EXE /C "7z.exe e %CurDir%\..\..\DR8\Sound\SOUND_PART.7z -y -aos -o"%windir%\Syswow64" system32\* -r-"
EXEC =!CMD.EXE /C "7z.exe e %CurDir%\..\..\DR8\Sound\SOUND_PART.7z -y -aos -o"%windir%\Syswow64\zh-CN" system32\zh-CN\* -r-"

……

可见方法是一样的。当然PE的结构不同,代码可以变动。反正我用这个方法让很多原来用不起的32位程序用起来了。回到标题,将以上代码做成一个文件也可以,放到桌面上,运行一下不就完成了纯64到兼容32的改变?

听阿弥陀佛老大说不想搞全兼容的,主要搞基本兼容,这个最好了,搞一个最精简的syswow64,再从全功能32位中取文件,这个就达到了纯64位与兼容32位的统一,哈哈P大的“统一”的理论比马列主义还管用!
(本来想将64位syswow64中所有文件都去掉,完全从32位中取,没有成功,有的文件原来就要在那里才可以)

评分

参与人数 8无忧币 +40 收起 理由
612731 + 5 很给力!
sweetsea + 5 赞一个!
风神 + 5 很给力!
yesfei + 5 赞一个!
xadmin + 5 很给力哟!这评分,你值得拥有!
fukystone + 5 很给力!
innovation_ + 5 到处找你 原来你跑到这了
freesoft00 + 5 赞一个!

查看全部评分

2#
发表于 2013-5-30 18:57:38 | 只看该作者
好,支持新创。
回复

使用道具 举报

3#
发表于 2013-5-30 19:01:19 | 只看该作者
这种思路好
回复

使用道具 举报

4#
发表于 2013-5-30 19:01:42 | 只看该作者
也为微软的向下兼容开了思路。
回复

使用道具 举报

5#
发表于 2013-5-30 19:07:48 | 只看该作者
64兼容32的又一次革命!伟大
回复

使用道具 举报

6#
发表于 2013-5-30 19:12:36 | 只看该作者
继续创新
回复

使用道具 举报

7#
 楼主| 发表于 2013-5-30 19:17:28 | 只看该作者
现在主要希望阿弥陀佛老大能尽快出一个精简兼容的64位系统!看帖好象正在做。
回复

使用道具 举报

8#
发表于 2013-5-30 19:24:29 | 只看该作者
楼主这个方法需要一个32位的PE吧?只适用于合盘,不适用于单版本?
如果是这样,也不用第2个卷这么麻烦。挂载上,该拷贝什么就拷贝什么不就行了。

点评

1、当然是合盘,32位目前还是不可替代的。 2、原先我也是想先挂后拷,但关键是拷什么,不可能全拷过去的,还是做成卷方便。  详情 回复 发表于 2013-5-30 20:39
回复

使用道具 举报

9#
发表于 2013-5-30 19:42:11 | 只看该作者
100多M,基本可以很好的兼容32, 不差这点体积吧!

这样还不如直接带一个原版64的镜像好了
回复

使用道具 举报

10#
 楼主| 发表于 2013-5-30 20:39:40 | 只看该作者
sp_star 发表于 2013-5-30 19:24
楼主这个方法需要一个32位的PE吧?只适用于合盘,不适用于单版本?
如果是这样,也不用第2个卷这么麻烦。挂 ...

1、当然是合盘,32位目前还是不可替代的。
2、原先我也是想先挂后拷,但关键是拷什么,不可能全拷过去的,还是做成卷方便。

点评

用批处理决定考什么,更方便。  详情 回复 发表于 2013-5-30 20:42
回复

使用道具 举报

11#
发表于 2013-5-30 20:42:34 | 只看该作者

RE: 一个脚本让纯64位变成全兼容32位的Win8pe

hhh333 发表于 2013-5-30 20:39
1、当然是合盘,32位目前还是不可替代的。
2、原先我也是想先挂后拷,但关键是拷什么,不可能全拷过去的 ...

用批处理决定考什么,更方便。

点评

得先弄一个文件列表,也是一个好办法,更具有通用性,老大有不有兴趣做一个syswow64的列表,或者干脆将install.wim中的列表出来? 不过我用imagex效率很高,感觉不到延时就好了。  详情 回复 发表于 2013-5-30 20:52
回复

使用道具 举报

12#
 楼主| 发表于 2013-5-30 20:52:24 | 只看该作者
sp_star 发表于 2013-5-30 20:42
用批处理决定考什么,更方便。

得先弄一个文件列表,也是一个好办法,更具有通用性,老大有不有兴趣做一个syswow64的列表,或者干脆将install.wim中的列表出来?
不过我用imagex效率很高,感觉不到延时就好了。

点评

再说用2个卷的方法不是也要有个文件列表吗?  详情 回复 发表于 2013-5-30 21:06
imagex是挂载效率高吧?拷贝总有延时的。 syswow64列表我也做不出,需要收集很多常用程序需要的文件才行。要不就搞一个很大的,照着system32下64位的文件列表拷贝。 顺便请教一下,我用imagex只能接压缩,挂载就会  详情 回复 发表于 2013-5-30 21:04
回复

使用道具 举报

13#
发表于 2013-5-30 21:04:21 | 只看该作者
hhh333 发表于 2013-5-30 20:52
得先弄一个文件列表,也是一个好办法,更具有通用性,老大有不有兴趣做一个syswow64的列表,或者干脆将in ...

imagex是挂载效率高吧?拷贝总有延时的。
syswow64列表我也做不出,需要收集很多常用程序需要的文件才行。要不就搞一个很大的,照着system32下64位的文件列表拷贝。
顺便请教一下,我用imagex只能接压缩,挂载就会在最后说权限不足,知道怎么解决吗?imagx好像用的是wimmount.sys这个驱动。

点评

系统装什么,它就用什么。以前我用1800那个版本的imagex,压缩文件效率很低,现在用win7带的那个,同样的文件,我测试过,前者6分钟,后者1分钟搞定,也即快了5倍。 应该可以挂的。  详情 回复 发表于 2013-5-30 21:12
回复

使用道具 举报

14#
发表于 2013-5-30 21:06:26 | 只看该作者
hhh333 发表于 2013-5-30 20:52
得先弄一个文件列表,也是一个好办法,更具有通用性,老大有不有兴趣做一个syswow64的列表,或者干脆将in ...

再说用2个卷的方法不是也要有个文件列表吗?
回复

使用道具 举报

15#
发表于 2013-5-30 21:08:41 | 只看该作者
不错啊。好东西,值得学习一下,最后,32位PE不用要了,这个爽。
回复

使用道具 举报

16#
发表于 2013-5-30 21:09:36 | 只看该作者
嗯。P大应该统一win8 PE.
回复

使用道具 举报

17#
 楼主| 发表于 2013-5-30 21:12:21 | 只看该作者
sp_star 发表于 2013-5-30 21:04
imagex是挂载效率高吧?拷贝总有延时的。
syswow64列表我也做不出,需要收集很多常用程序需要的文件才行 ...

系统装什么,它就用什么。以前我用1800那个版本的imagex,压缩文件效率很低,现在用win7带的那个,同样的文件,我测试过,前者6分钟,后者1分钟搞定,也即快了5倍。

应该可以挂的。
回复

使用道具 举报

18#
发表于 2013-5-30 21:39:25 来自手机 | 只看该作者
支持新技术…继续创新
回复

使用道具 举报

19#
 楼主| 发表于 2013-5-30 21:50:36 | 只看该作者
刚才又试了下网启,经过以上方法改造后,网启也成功了。

点评

道个喜,一步步的离成功越来越近了。  详情 回复 发表于 2013-5-30 21:56
回复

使用道具 举报

20#
发表于 2013-5-30 21:56:14 | 只看该作者
hhh333 发表于 2013-5-30 21:50
刚才又试了下网启,经过以上方法改造后,网启也成功了。

道个喜,一步步的离成功越来越近了。
回复

使用道具 举报

21#
发表于 2013-5-30 21:57:39 | 只看该作者
HHH333老大,支持UEFI 64 PXE 方式启动搞定否?这个倒要捣鼓捣鼓.

点评

UEFI 64 PXE 是个啥子意思?不大懂。  详情 回复 发表于 2013-5-30 22:04
回复

使用道具 举报

22#
 楼主| 发表于 2013-5-30 22:04:07 | 只看该作者
chiannet 发表于 2013-5-30 21:57
HHH333老大,支持UEFI 64 PXE 方式启动搞定否?这个倒要捣鼓捣鼓.

UEFI 64 PXE 是个啥子意思?不大懂。

点评

我从VM9.0看到PXE EFI启动选项.但手头没这方面的更多料.  详情 回复 发表于 2013-5-30 22:11
回复

使用道具 举报

23#
发表于 2013-5-30 22:11:57 | 只看该作者
hhh333 发表于 2013-5-30 22:04
UEFI 64 PXE 是个啥子意思?不大懂。





我从VM9.0看到PXE EFI启动选项.但手头没这方面的更多料.
回复

使用道具 举报

24#
发表于 2013-5-30 22:33:16 | 只看该作者
支持楼主的创举,在PE下维护计算机时x86和x64软件肯定会混合运行,这是当前常见维护软件决定的。
回复

使用道具 举报

25#
发表于 2013-5-31 08:59:06 | 只看该作者
呵呵~~
乐见其成
等成品
回复

使用道具 举报

26#
发表于 2013-5-31 09:01:48 | 只看该作者
**,学习了
回复

使用道具 举报

27#
发表于 2013-5-31 10:19:20 | 只看该作者
H大辛苦了,真是折腾无止境啊
回复

使用道具 举报

28#
 楼主| 发表于 2013-5-31 18:51:39 | 只看该作者
把它改成了挂载拷入的方式,通用性更强,也不用对32位进行追加打包。
这是列表和主程序,做在一起:
  1. ;@echo off
  2. ;set s32=%1\Windows\system32
  3. ;set t64=%Windir%\syswow64
  4. ;if not exist %s32% exit
  5. ;for /f "eol=;" %%i in (%0) do if exist %s32%\%%i if not exist %t64%\%%i copy "%s32%\%%i" "%t64%\%%i" >nul
  6. ;goto :EOF
  7. ;
  8. ;syswow4
  9. 12520437.cpx
  10. 12520850.cpx
  11. aaclient.dll
  12. accessibilitycpl.dll
  13. ACCTRES.dll
  14. acledit.dll
  15. aclui.dll
  16. acppage.dll
  17. ActionCenter.dll
  18. .........
  19. ;syswow64\zh-CN
  20. zh-CN\aaclient.dll.mui
  21. zh-CN\accessibilitycpl.dll.mui
  22. zh-CN\acctres.dll.mui
  23. zh-CN\acledit.dll.mui
  24. zh-CN\aclui.dll.mui
  25. zh-CN\acppage.dll.mui
  26. zh-CN\ActionCenter.dll.mui
  27. zh-CN\ActionCenterCPL.dll.mui
  28. zh-CN\activeds.dll.mui
  29. zh-CN\AdmTmpl.dll.mui
  30. zh-CN\adprovider.dll.mui
  31. zh-CN\adrclient.dll.mui
  32. .......
复制代码
用“ADDWOW.CMD Y:\H3_8PE”来调用,其中Y:\H3_8PE为Win8pe 32位内核挂载的位置,可以在装载外置时调用:
  1. _SUB NT64_ADDWOW        `装载32位内核中的文件到WOW64
  2.         TEAM TEXT 查找32位H3 Win8内核以增加兼容性....... #0xEE00 $$20|WAIT 100
  3.         TEAM PATH %MountDrv%\H3_8PE|MOUN \BOOT\H3_8PE.WIM,%MountDrv%\H3_8PE,1|WAIT 500
  4.         IFEX %MountDrv%\H3_8PE\Windows\explorer.exe,!EXIT _SUB
  5.         EXEC !=CMD.EXE /C "%Windir%\System32\ADDWOW.CMD %MountDrv%\H3_8PE"
  6.         MOUN ,%MountDrv%\H3_8PE,0
  7. _END
  8. `64位利用32位内核增加兼容性
  9. IFEX %MountDrv%\H3_8PE,!IFEX %WinDir%\SysWOW64\,CALL NT64_ADDWOW
复制代码
这是适用于我那个合盘的两个文件,一个放h3pe下,一个放系统中system32下: H3PE.zip (24.99 KB, 下载次数: 24)

点评

试了一下这两个文件,播放器和qq是可以用了,但再G41主板上显示驱动装不上,无法播放,显示不是支持的电影文件,是不是自带驱动有些少,office还是没法使用,浏览器还是没声。  详情 回复 发表于 2013-6-1 10:50
其实我觉得wow64最关键的还是文件列表啊。准备一个体积受控制,又兼容性好的文件列表不容易。  详情 回复 发表于 2013-5-31 21:38
笨拙的我..雖然copy了這兩檔案進該目錄修正... 但...如圖... 我想我能等H3大的ISO整理完成版^^  详情 回复 发表于 2013-5-31 21:03
回复

使用道具 举报

29#
发表于 2013-5-31 21:03:43 | 只看该作者
hhh333 发表于 2013-5-31 18:51
把它改成了挂载拷入的方式,通用性更强,也不用对32位进行追加打包。
这是列表和主程序,做在一起:用“AD ...

笨拙的我..雖然copy了這兩檔案進該目錄修正...
但...如圖...
我想我能等H3大的ISO整理完成版^^

snap0760.png (384.44 KB, 下载次数: 37)

snap0760.png

点评

哈哈,还要改些文件  详情 回复 发表于 2013-5-31 21:11
回复

使用道具 举报

30#
 楼主| 发表于 2013-5-31 21:11:49 | 只看该作者
本帖最后由 hhh333 于 2013-5-31 21:17 编辑
peterpanheaven 发表于 2013-5-31 21:03
笨拙的我..雖然copy了這兩檔案進該目錄修正...
但...如圖...
我想我能等H3大的ISO整理完成版^^


哈哈,还要改些文件。想搞一个增量包,但也接近1G了,算了直接上传吧。又解决了penetwork不能运行的问题。干脆再等一下吧,7z和BC3目前没有右键。很不方便。

点评

^__^ 您才是比較辛苦啦!!  发表于 2013-5-31 21:18
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-5-20 07:17

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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