无忧启动论坛

标题: Paragon APFS for Win10/11PE x64 制作教程 [打印本页]

作者: Bluebells    时间: 2024-9-18 20:30
标题: Paragon APFS for Win10/11PE x64 制作教程
本帖最后由 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 的运行环境初始化过程



作者: yc2428    时间: 2024-9-18 20:40
谢谢分享
作者: 13325531750    时间: 2024-9-18 20:58
Paragon APFS for Win10/11PE x64 制作教程.感谢分享!
作者: wn168cn@163.com    时间: 2024-9-18 22:13
感谢分享
作者: wang1126    时间: 2024-9-19 05:59
谢谢楼主分享
作者: martin313    时间: 2024-9-19 09:50
本帖最后由 martin313 于 2024-9-19 09:55 编辑

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

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

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

作者: gbzx    时间: 2024-9-19 10:31
谢谢楼主分享
作者: liangyi    时间: 2024-9-19 10:51
非常专业的教程,感谢分享
作者: yigeren    时间: 2024-9-19 11:33
这软件去年不是就已发了个3.1.1的压缩版,无需安装和不需要MSI安装组件的

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

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

作者: Bluebells    时间: 2024-9-19 12:54
yigeren 发表于 2024-9-19 11:33
这软件去年不是就已发了个3.1.1的压缩版,无需安装和不需要MSI安装组件的

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

渔和鱼的区别
作者: gbzx    时间: 2024-9-23 15:55
本帖最后由 gbzx 于 2024-9-23 16:19 编辑

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


3.1.1的变成1.0

作者: 孟仁飞    时间: 2024-9-23 16:20
学习
作者: Bluebells    时间: 2024-9-23 16:35
本帖最后由 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 楼提供的完整代码


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

谢谢,版本号正常了
作者: yzqmxh    时间: 2024-9-24 09:12
学习了
作者: j4tan    时间: 2024-9-24 10:40
感谢大佬分享绿化教程,我用你一楼的代码存成Initialize.ini然后PECMD用LOAD加载后桌面自动生成了APFS for Windows by Paragon Software的快捷方式,但是双击没任何反应,不知道咋回事
作者: gbzx    时间: 2024-9-27 14:18
j4tan 发表于 2024-9-24 10:40
感谢大佬分享绿化教程,我用你一楼的代码存成Initialize.ini然后PECMD用LOAD加载后桌面自动生成了APFS for  ...

我的不会,你仔细检查一下,哪里出错
作者: vyuha    时间: 2024-10-3 02:18
感谢分享
作者: 2012fengxi    时间: 2024-10-4 09:28
弄一个支持linux 分区的啊
作者: wn168cn@163.com    时间: 2024-10-18 08:20
谢谢分享
作者: mr8246    时间: 2024-10-18 08:35
谢谢分享
作者: edison21    时间: 5 天前
还是提示未激活,不知道缺了哪个环境,楼主能分享下压缩包吗
作者: Bluebells    时间: 4 天前
edison21 发表于 2025-2-13 21:40
还是提示未激活,不知道缺了哪个环境,楼主能分享下压缩包吗

这个教程没有提到软件注册方面
你要软件激活,要么有注册码,要么使用和谐版
还有如果是在WinPE环境,则该环境还需要有所需的wmi组件,不然无法激活




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3