前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >24H2 Win11PE的制作和使用

24H2 Win11PE的制作和使用

原创
作者头像
Windows技术交流
修改2025-02-27 07:45:06
修改2025-02-27 07:45:06
2130
举报
文章被收录于专栏:Windows技术交流Windows技术交流

微软原版24H2WinPE没有图形界面,只有简单的cmd命令行,不适用普通用户,这版定制化的24H2WinPE集成了powershell和图形界面,并且软件兼容性较高,导致2G内存使用率高达98%左右,此时打开cmd命令行OK,如果再干点别的,比如打开powershell或者打开图形界面的东西比如任务管理器,就内存不足而异常了。建议≥2.5G内存的机器使用。

主要思路:用微软官方的办法给boot.wim集成powershell,然后用开源的wimbuilder2搞定图形界面

WimBuilder2是个开源项目,大大简化了WinPE制作。市面上WinPE很多,鲜有软件兼容性很强的,WimBuilder2是我遇到的唯一,在这之外我比较喜欢HotPE,虽然软件兼容性不如WimBuilder2,但HotPE的细节比较好。

WimBuilder2在使用24H2 ISO制作WinPE时的坑很多,如果不着急,可以等作者下一年度的新版,或者使用23H2 ISO制作WinPE,但23H2不支持24H2的ReFS,这才是我搞24H2 WinPE的根因。

1、微软ISO

https://www.microsoft.com/zh-cn/software-download/windows11

2、微软官方制作winpe的adk工具

首先,参考微软官网文档https://learn.microsoft.com/zh-cn/windows-hardware/get-started/adk-install配置环境winpe开发环境

配好后在开始菜单会有个"部署和映像工具环境"的快捷方式,即C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Windows Kits\Windows ADK\Deployment and Imaging Tools Environment.lnk

该快捷方式指向C:\windows\system32\cmd.exe /k "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\DandISetEnv.bat"

用微软24H2 Win11 ISO中sources目录下的boot.wim替换C:\WinPE_amd64_PS\media\sources\boot.wim

然后按下面指令改造boot.wim给winpe集成powershell等模块

代码语言:txt
复制
copype amd64 C:\WinPE_amd64_PS

Dism /Mount-Image /ImageFile:"C:\WinPE_amd64_PS\media\sources\boot.wim" /Index:1 /MountDir:"C:\WinPE_amd64_PS\mount"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-ZH-CN.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-ZH-HK.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-FontSupport-ZH-TW.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Fonts-Legacy.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureBootCmdlets.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-HSP-Driver.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\lp.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\lp.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-WMI.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-WMI_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-WMI_zh-cn.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-NetFX.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-NetFX_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-NetFX_zh-cn.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Scripting.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Scripting_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-Scripting_zh-cn.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-PowerShell.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-PowerShell_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-PowerShell_zh-cn.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-StorageWMI.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-StorageWMI_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-StorageWMI_zh-cn.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-DismCmdlets.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-DismCmdlets_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-DismCmdlets_zh-cn.cab"


Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-HTA.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-HTA_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-HTA_zh-cn.cab"


Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-Dot3Svc.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-Dot3Svc_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-Dot3Svc_zh-cn.cab"

Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\WinPE-SecureStartup.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\en-us\WinPE-SecureStartup_en-us.cab"
Dism /Add-Package /Image:"C:\WinPE_amd64_PS\mount" /PackagePath:"C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Windows Preinstallation Environment\amd64\WinPE_OCs\zh-cn\WinPE-SecureStartup_zh-cn.cab"




Dism /Get-Packages /Image:"C:\WinPE_amd64_PS\mount"

Dism /Set-AllIntl:en-US /Image:"C:\WinPE_amd64_PS\mount"
Dism /Set-AllIntl:zh-CN /Image:"C:\WinPE_amd64_PS\mount"

Dism /Image:"C:\WinPE_amd64_PS\mount" /Get-Drivers
Dism /Image:"C:\WinPE_amd64_PS\mount" /Add-Driver /Driver:"C:\Users\Administrator\Desktop\amd64\viostor.inf" /ForceUnsigned
Dism /Image:"C:\WinPE_amd64_PS\mount" /Add-Driver /Driver:"C:\Users\Administrator\Desktop\amd64\netkvm.inf" /ForceUnsigned
Dism /Image:"C:\WinPE_amd64_PS\mount" /Add-Driver /Driver:"C:\Users\Administrator\Desktop\amd64\bnxtnd.inf" /ForceUnsigned
Dism /Image:"C:\WinPE_amd64_PS\mount" /Get-Drivers

Dism /Unmount-Image /MountDir:"C:\WinPE_amd64_PS\mount" /Commit
#Dism /Unmount-Image /MountDir:"C:\WinPE_amd64_PS\mount" /Discard

3、wimbuilder2

wimbuilder2的坑很多,无法一一言明,直接用我debugfix后的压缩包

通过百度网盘分享的文件:WimBuilder2-Full.v2024-11-11_debugfix.7z

链接: https://pan.baidu.com/s/1wqVcsROZoaLITlKKmwNN-Q?pwd=ivas 提取码: ivas

4、使用说明

①解压WimBuilder2-Full.v2024-11-11_debugfix.7z,把改造好的C:\WinPE_amd64_PS\media\sources\boot.wim放到WimBuilder2-Full.v2024-11-11_debugfix\test\目录下

②高版本系统一般能直接双击挂载ISO,不能挂载ISO的话,安装虚拟光驱软件(比如WinCDEmu)来挂载

③双击WimBuilder.cmd,左侧“设置”检查是否专家模式,是的话继续,不是的话选专家模式

④左侧“准备”,选一下install.wim的序号、boot.wim一定要选前面改造好的test\boot.wim

⑤next到下图界面选预设配置文件,选custom88888

⑥选定后一直next下图界面,勾选"构建后立即创建ISO",然后点箭头所指的按钮后等着,不要管自动刷新的回显有啥报错,最后会出现编译好的ISO的路径

这样一个既有powershell、又有图形界面的24H2 Win11PE就制作好了。

WinPE本身的盘符是X:,显示有8GB空间,这个是虚拟的,不是真能塞8GB东西,主要看机器内存容量,内存2GB的话很容易崩溃的,因为操作系统运行以及桌面"创建快捷方式.bat"触发压缩包释放的一些文件其实都在内存里,包括后续任何动作产生的X:盘新增空间占用,其实都是消耗内存。

X:原本我是搞2GB的,但dism++有5GB剩余空间要求,因此搞的8GB来骗过dism++不报错。

注意事项:

1、winpe下,原系统分区的盘符不一定是C:,也不一定会自动分配盘符,如果没看到盘符,需要在磁盘管理器里手动指定一个盘符。当然也可以通过命令行分配。

2、dism++图形界面能处理用户密码、启动引导、驱动和补丁维护等问题

此定制版24H2WinPE支持的功能:

1、 支持安装常用软件,比如notepad++、notepad--、cosbrowser、StarWind、UltraISO、Registry Workshop等

绿色软件无穷尽,天下WinPE一通抄,需要什么自己装,建议>2GB内存的机器使用

2、 集成了常用绿色软件(桌面有个"创建快捷方式.bat",双击后产生绿色软件快捷方式到桌面)

耐心等等窗口自己消失

3、 开机自动运行.bat文件做一些初始化的动作

开机自动运行的文件位置:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup\

耐心等等窗口自己消失

如果二次开发,需要开机自动执行什么动作,脚本可以放到上述目录,这是Windows本身机制

一般有2个目录,我习惯放在shell:common startup(这个是简写,建议绝对路径,也就是前面提到的那个ProgramData路径)

shell: startup

shell:common startup

假设原系统盘盘符在winpe下是E:,假设virtio驱动安装文件内置在X:\amd64\,要集成virtio驱动的话

代码语言:txt
复制
假设原系统盘盘符在winpe下是E:,假设virtio驱动安装文件内置在X:\amd64\,要集成virtio驱动的话
Dism /Image:"E:" /Get-Drivers
Dism /Add-Driver /Image:"E:" /Driver:"X:\amd64\viostor.inf" /ForceUnsigned
Dism /Add-Driver /Image:"E:" /Driver:"X:\amd64\netkvm.inf" /ForceUnsigned
Dism /Add-Driver /Image:"E:" /Driver:"X:\amd64\bnxtnd.inf" /ForceUnsigned
Dism /Image:"E:" /Get-Drivers

4、 支持设备管理器devmgmt.msc、磁盘管理器diskmgmt.msc、本地连接ncpa.cpl

不支持appwiz.cpl

5、 支持“Ctrl+空格”切换中英文输入法,默认En,方便粘贴命令

6、 桌面右键有在此处打开cmd以及重启explorer的功能

7、 常见使用场景

①修复启动引导

先给efi分区(ESP分区)在diskpart命令里分配一个盘符,假设分配的是A,假如对应的系统分区的盘符是D,则修复启动引导的命令是:

bcdboot D:\Windows /s A: /f UEFI

如果是BIOS启动类型,修复启动引导的话,命令是:

bcdboot D:\Windows /s D:

②修复virtio驱动

可以使用dism命令

可以使用dism++图形界面

③替换备份注册表、修改注册表键值

比如,在系统运行时,维护注册表时提示没权限

server系统才有备份注册表,pc系统没有

替换备份注册表参考https://cloud.tencent.com/developer/article/2472924

④修改密码

⑤处理文件

比如,在系统运行时,操作一些文件时提示没有权限

⑥安装系统

下载iso到数据盘,通过winntsetup或iso里的setup.exe安装系统

winntsetup参考https://cloud.tencent.com/developer/article/2029919

setup.exe参考https://cloud.tencent.com/developer/article/2479579

⑦一些个性化的操作,比如

https://cloud.tencent.com/developer/article/2482055

https://cloud.tencent.com/developer/article/2328253

https://cloud.tencent.com/developer/article/2056947

https://cloud.tencent.com/developer/article/2464843

后记:win10pe Administrator用户支持远程和共享文件夹、切换到SYSTEM用户则不支持远程和共享文件夹

最早的win10pe我默认设计的Administrator,支持启用远程和445共享(需要自己命令行设置Administrator密码),桌面有图标可以切换system用户

后来的pe越来越大,加之一些场景只能提权至system处理,综合考虑权衡取舍之下只保留system用户,但system不支持远程和445共享

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 注意事项:
  • 此定制版24H2WinPE支持的功能:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档