无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 3170|回复: 20
打印 上一主题 下一主题

[教程] Paragon APFS for Win10/11PE x64 制作教程

  [复制链接]
跳转到指定楼层
1#
发表于 2024-9-18 20:30:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Bluebells 于 2024-10-26 10:41 编辑

一提到 Paragon APFS for Windows, 某人就默认这是个只在 WinPE 使用且没啥用处的应用程序
我觉得这是一个很搞笑的结论! Paragon 有很多文件系统解决方案的产品, 但人家本身是设计用于正常的操作系统

Paragon APFS for Win10/11PE x64 的制作其实就是该应用程序的运行环境初始化(所谓的"绿化")问题
某些人说, 若要在 WinPE 使用, 需要该 WinPE 支持 msi 安装组件, 那是因为他直接使用该软件的安装包
其实只要解包出来, 再执行该应用程序的运行环境初始化就可以, 根本无需 WinPE 支持 msi 安装组件(当然, 这涉及软件绿化门槛问题)

1. 安装包解包
解包方式有很多, 这里推荐使用 LessMSI


2. 整理文件结构
提取并整理后的文件目录树结构如下:
│  APFS for Windows by Paragon Software.exe
│  dokan.dll
│  extmounter.exe
│  FS4WinUI_lang.qm
│  libeay32.dll
│  msvcp140.dll    ;VC 运行库文件之一, 可根据所使用的 WinPE 是否需要该文件而放置到此处(其它运行库文件也一样)
│  paragon_service.exe
│  Qt5Core.dll
│  Qt5Gui.dll
│  Qt5Network.dll
│  Qt5WebSockets.dll
│  Qt5Widgets.dll
│  qtbase.qm
│  ssleay32.dll
│  vcruntime140.dll    ;VC 运行库文件之一
│  
├─dokandrv10x64
│      dokan.cat
│      dokan.inf
│      dokan.sys
│      
├─platforms
│      qwindows.dll
│      
└─utils
        fsdump.exe
3. 编写程序运行环境初始化脚本
  1. _SUB GetNTVersion
  2.     TEAM SET$# &pMajorVersion=*4 0| SET$# &pMinorVersion=*4 0| SET$# &pBuildNumber=*4 0
  3.     CALL $--qd --ret:&&ret ntdll.dll,RtlGetNtVersionNumbers,*&pMajorVersion,*&pMinorVersion,*&pBuildNumber
  4.     IFEX #%&ret%=0,EXIT
  5.     TEAM ENVI?int &pMajorVersion=&MajorVersion| ENVI?int &pMinorVersion=&MinorVersion| ENVI?int &pBuildNumber=&BuildNumber
  6.     ENVI-ret %~1=%MajorVersion%
  7.     ENVI-ret %~2=%MinorVersion%
  8.     ENVI-ret %~3=%BuildNumber%
  9. _END

  10. _SUB DetectRunningEnvironment
  11.     IFEX "%&CurDir%\APFS for Windows by Paragon Software.exe",! EXIT FILE
  12.     IFEX "%&CurDir%\dokandrv10x64\dokan.inf",! EXIT FILE
  13.     CALL GetNTVersion &MajorVersion
  14.     IFEX $%&MajorVersion%<10,EXIT FILE
  15.     IFEX $%&bX64%=0,EXIT FILE
  16.     REGI $HKLM\SYSTEM\CurrentControlSet\Control\SystemStartOptions,&&SSO
  17.     SED &&MNT=?:0,MININT,,%&SSO%
  18.     FIND $%&MNT%=0,EXIT FILE
  19. _END

  20. _SUB Initialize
  21.     SITE ?&FVER,&PVER=FVER,%&CurDir%\APFS for Windows by Paragon Software.exe
  22.     IFEX $%&PVER%<4,ENVI &DFN=Paragon! ENVI &DFN=Paragon Software
  23.     ;安装并启动 dokan 驱动程序
  24.     SERV ?&Ret2 dokan
  25.     IFEX |%&Ret2%=1,
  26.     {
  27.         ENVI^ DisX64=1,OldCfg
  28.         DEVI $%&CurDir%\dokandrv10x64\dokan.inf,DefaultInstall,128
  29.         ENVI^ DisX64=%OldCfg%
  30.         SERV dokan
  31.     }
  32.     ;预定义一些配置(禁用自动更新, 禁止收集匿名统计信息, 禁用日志记录)
  33.     REGI #HKLM\SOFTWARE\Wow6432Node\Paragon Software\APFS for Windows by Paragon Software\service\\AutoUpdate=0
  34.     REGI #HKLM\SOFTWARE\Wow6432Node\Paragon Software\APFS for Windows by Paragon Software\service\\CollectAnonymStatistics=0
  35.     REGI #HKLM\SOFTWARE\Wow6432Node\Paragon Software\APFS for Windows by Paragon Software\service\\Logging=0
  36.     ;添加版本号信息到注册表(没啥用, 强迫症患者所需)
  37.     REGI $HKLM\SOFTWARE\Wow6432Node\Paragon Software\APFS for Windows by Paragon Software\Update\\version=%&PVER%
  38.     ;某些和谐版本需要存在"%ProgramData%\Paragon\APFS for Windows"目录才能成为已注册版本
  39.     IFEX "%ProgramData%\%&DFN%\APFS for Windows",! MDIR "%ProgramData%\%&DFN%\APFS for Windows"
  40.     ;创建并启动 ParagonAPFSMounter 服务项
  41.     SERV-Create ParagonAPFSMounter,%&CurDir%\paragon_service.exe,16,2,1,,,,ParagonAPFSMounter
  42.     SERV ParagonAPFSMounter
  43.     ;创建桌面快捷方式
  44.     IFEX "%&Desktop%\APFS for Windows.lnk",! LINK %&Desktop%\APFS for Windows,%&CurDir%\APFS for Windows by Paragon Software.exe
  45. _END

  46. CALL DetectRunningEnvironment
  47. SERV ?&Ret1 ParagonAPFSMounter
  48. IFEX |%&Ret1%=1,CALL Initialize
复制代码
将上述脚本代码保存为 Initialize.ini 文本文件, 并将该文件放置在 APFS for Windows 主程序所在目录即可
PS: 如果你不需要进行运行环境判断, 直接使用 _SUB Initialize 代码段里面的内容即可
4. 使用 PECMD 的 LOAD 命令加载上面创建的 Initialize.ini 文件即可完成 APFS for Windows 的运行环境初始化过程


2#
发表于 2024-9-18 20:40:16 | 只看该作者
谢谢分享
回复

使用道具 举报

3#
发表于 2024-9-18 20:58:09 | 只看该作者
Paragon APFS for Win10/11PE x64 制作教程.感谢分享!
回复

使用道具 举报

4#
发表于 2024-9-18 22:13:14 | 只看该作者
感谢分享
回复

使用道具 举报

5#
发表于 2024-9-19 05:59:15 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

6#
发表于 2024-9-19 09:50:05 | 只看该作者
本帖最后由 martin313 于 2024-9-19 09:55 编辑

这个APFS,无论在正常系统还是PE环境,都没啥用

但楼主分享的方法,赞!赞!赞!

下次有绿化需求,找你指导
回复

使用道具 举报

7#
发表于 2024-9-19 10:31:31 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

8#
发表于 2024-9-19 10:51:45 | 只看该作者
非常专业的教程,感谢分享
回复

使用道具 举报

9#
发表于 2024-9-19 11:33:00 | 只看该作者
这软件去年不是就已发了个3.1.1的压缩版,无需安装和不需要MSI安装组件的

http://bbs.wuyou.net/forum.php?m ... d=438305&extra=

PS:此软件对于黑苹果来说,还是有一点点用处的

点评

渔和鱼的区别  详情 回复 发表于 2024-9-19 12:54
回复

使用道具 举报

10#
 楼主| 发表于 2024-9-19 12:54:16 | 只看该作者
yigeren 发表于 2024-9-19 11:33
这软件去年不是就已发了个3.1.1的压缩版,无需安装和不需要MSI安装组件的

http://bbs.wuyou.net/forum.p ...

渔和鱼的区别
回复

使用道具 举报

11#
发表于 2024-9-23 15:55:36 | 只看该作者
本帖最后由 gbzx 于 2024-9-23 16:19 编辑

按你的方法制作,发现启动后,版本号不对,代码获取版本号部分出错了


3.1.1的变成1.0

点评

代码获取版本号那里只是获取系统的 NT 版本而已 Paragon APFS for Windows 主程序显示的版本号不正确是因为没有将版本号信息写入注册表中导致而已  详情 回复 发表于 2024-9-23 16:35
回复

使用道具 举报

12#
发表于 2024-9-23 16:20:02 | 只看该作者
学习
回复

使用道具 举报

13#
 楼主| 发表于 2024-9-23 16:35:47 | 只看该作者
本帖最后由 Bluebells 于 2024-9-23 16:38 编辑
gbzx 发表于 2024-9-23 15:55
按你的方法制作,发现启动后,版本号不对,代码获取版本号部分出错了

代码获取版本号那里只是获取系统的 NT 版本而已
Paragon APFS for Windows 主程序显示的版本号不正确是因为没有将版本号信息写入注册表中导致而已
  1. SITE ?&FVER,&PVER=FVER,%&CurDir%\APFS for Windows by Paragon Software.exe
  2. REGI $HKLM\SOFTWARE\Wow6432Node\Paragon Software\APFS for Windows by Paragon Software\Update\\version=%&PVER%
复制代码
PS: 1 楼中提供的代码已更新, 可以直接使用 1 楼提供的完整代码

点评

谢谢,版本号正常了  详情 回复 发表于 2024-9-23 17:11
回复

使用道具 举报

14#
发表于 2024-9-23 17:11:56 | 只看该作者
Bluebells 发表于 2024-9-23 16:35
代码获取版本号那里只是获取系统的 NT 版本而已
Paragon APFS for Windows 主程序显示的版本号不正确是 ...

谢谢,版本号正常了
回复

使用道具 举报

15#
发表于 2024-9-24 09:12:10 | 只看该作者
学习了
回复

使用道具 举报

16#
发表于 2024-9-24 10:40:57 | 只看该作者
感谢大佬分享绿化教程,我用你一楼的代码存成Initialize.ini然后PECMD用LOAD加载后桌面自动生成了APFS for Windows by Paragon Software的快捷方式,但是双击没任何反应,不知道咋回事

点评

我的不会,你仔细检查一下,哪里出错  详情 回复 发表于 2024-9-27 14:18
回复

使用道具 举报

17#
发表于 2024-9-27 14:18:01 | 只看该作者
j4tan 发表于 2024-9-24 10:40
感谢大佬分享绿化教程,我用你一楼的代码存成Initialize.ini然后PECMD用LOAD加载后桌面自动生成了APFS for  ...

我的不会,你仔细检查一下,哪里出错
回复

使用道具 举报

18#
发表于 2024-10-3 02:18:08 | 只看该作者
感谢分享
回复

使用道具 举报

19#
发表于 2024-10-4 09:28:01 | 只看该作者
弄一个支持linux 分区的啊
回复

使用道具 举报

20#
发表于 2024-10-18 08:20:32 | 只看该作者
谢谢分享
回复

使用道具 举报

21#
发表于 2024-10-18 08:35:13 | 只看该作者
谢谢分享
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-1 00:49

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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