同步在个人博客:https://www.zhyong.cn/posts/bb8d/
最近看了女娲工坊的关于系统启动相关的视频,以及U盘启动制作的三种方式并进行了实践,学到了很多,在此记录。
什么是WinPE
Windows预安装环境(Microsoft Windows Preinstallation Environment),简称Windows PE或WinPE,是Windows的轻量版本,用于安装、部署和修复 Windows。
WinPE的主要作用
- 通过 Windows PE,可以在安装 Windows 前设置硬盘;
- 使用来自网络或本地驱动器的应用或脚本安装 Windows;
- 捕获和应用 Windows 映像;
- 在 Windows 操作系统不运行时,对它进行修改;
- 设置自动恢复工具;从不可启动的设备中恢复数据;
- 添加自定义外壳程序或GUI来使此类任务自动化。
WinPE的分类
一是桌面操作,即带有资源管理器的PE,这种PE操作方便,界面美观友好,缺点是启动不如另外两种类型的PE迅速(因为开机时要花时间加载资源管理器)、资源占用较大。总体而言,比较适合初学者用户使用,也因为操作类似于真实的系统而得名RAMOS,同时也是最常见的PE类型。
二是半桌面操作,即不含有资源管理器,但含有作者编写的一种程序代替,最典型的例子就要数安装原版系统时所用的安装PE,这种PE启动较快,资源占用较少,同时操作也比较方便,适合有一定电脑经验的用户使用。
最后一种是命令行版本的PE,这种PE占用资源最少,启动最快,同时也是最原汁原味的PE。通过命令行来运行程序/操作,一般适合高手和专业级用户使用。推荐初学者用户最好选用第一种类型的PE,方便使用。
制作自己的WinPE
目前WinPE制作方式主要有这三种:U+、B+和UD,即通过Ultraiso、Bootice和fbinsttool工具进行制作。
U+是使用ultraiso(软碟通)软件把PE写入U盘,并由ultraiso自动加入U+主引导和分区引导,制作启动U盘的技术。目前兼容性最好的是U+V2,它可以把PE部署到U盘hdd或zip的可见区、隐藏区、高端隐藏区或深度隐藏区。
B+是使用无忧论坛版主Pauly制作的功能强大的引导扇区维护工具bootice对U盘进行操作,使之具备启动功能的方法,因为B+相对复杂些,目前使用的人还不是特别多。
UD是使用时空论坛bean制作的fbinst或者jianliulin制作的GUI界面fbinsttool产生的一个分区,可以在硬盘、U盘或者储存卡上分出一个隐藏的分区,其特性是除了基于fbinst的工具可以进行读取之外的任何软件或者系统都无法读取其中的数据,具有防病毒、木马和防格式化等功能。而且对U盘的普通格式化也不会破坏隐藏FBA文件。而且许多GUI工具可以调用fbinst程序,使得一键制作U盘启动功能越来越傻瓜化,UD也受到广大技术员及电脑爱好者的喜爱,成为目前较主流的U盘启动制作方式。
**注:**以上理论知识来源于女娲工坊扯闲篇儿的视频教程,在此感谢!
准备工具和软件
软件和工具大部分来自于无忧启动论坛,非常感谢。
- 金士顿 32G USB3.0 U盘一个
- 新年新U+利器神器——ultraiso9.7.1:U+启动
- 【BOOTICE: 启动维护工具】-(2016-06-17 v1.3.4 测试):B+启动
- fbinstTool 1.701 for fbinst v1.7【2017-03-18】变形金刚版:UD启动
- Message启动菜单个性化制作! 2016年5月23日更新1.0.3.3 完结版:制作UD启动的Message文件,作为背景以及相关设置
- Qemu启动测试器x64:用于测试U盘启动,而不需要在物理机上进行测试
在此我将上述五个软件打包好了:点击下载
除了制作软件,当然我们还需要制作好的WinPE,这样我们才能使用这三种方式写入U盘来进行启动。
由于网上各种各样的PE实在是太多太多,质量也参差不齐,按照我的经验,推荐这三款PE:
- 微PE工具箱 - 最好用的WinPE装机维护工具:微PE工具箱V2.0 64位
- 纯净、开放、美观、方便的WINDOWS 10 17763 PE X64
- Nüwa workshop:Win10PE 2in1——2019年4月28日
以上三种PE均无流氓行为,且均支持Legacy Bios和Uefi Bios启动,兼容性较好。
下载链接:https://pan.baidu.com/s/1vIMu5aEt0fj8f1up1AN-lA 提取码:1nfi ,下载后请校验文件。
**注意:**请选择一个空的U盘或提前备份U盘所有数据,避免因U盘原先的隐藏分区等干扰,以下三种方式制作启动盘提前使用FbinstTool
格式化U盘。
选择U盘,启动设置——格式化——重置磁盘,点击格式化!
请下载需要的软件和PE,下面详细介绍每种方式的制作过程。
一些说明
Legacy Bios和Uefi Bios的一些说明:
开机流程:
- Legacy Bios:开机——Bios初始化——Bios自检——引导操作系统——进入系统
- Uefi Bios:开机——Uefi初始化——引导操作系统——进入系统
因此Uefi Bios启动速度更快,现在大部分生产的电脑都是Uefi启动。
Legacy 引导和 Uefi 引导:
Legacy引导与MBR以及PBR有重大关系,而UEFI引导与MBR以及PBR无关,它关心的只是可识别的FAT文件系统分区中的引导文件bootx64.efi(引导64位PE)或者bootia32.efi (引导32位PE)。
关于隐藏分区(后面需要涉及),包含普通隐藏、高端隐藏、深度隐藏:
各种隐藏的目的提高启动成功率,提高启动兼容性,提高安全性。
- U+B+(普通)隐藏,PE隐藏区放在第一分区,可见区放在第二分区,设置第一分区为隐藏并激活。 BIOS兼容性好,UEFI兼容性好。
- U+B+高端隐藏,情况正好相反,可见区放在第一分区,PE隐藏区部署在第二分区并设置隐藏和激活。BIOS兼容性差,UEFI兼容性好。
- U+深度隐藏和UD隐藏,PE隐藏区还是放在U盘开头第一分区,而可见区放在U盘第二分区。但分区表中抹掉了隐藏分区信息,故在分区软件中深度隐藏分区显示为未分配状态。 UD隐藏BIOS兼容性好, U+深度隐藏不好引导,PBR需要Easyboot引导,两者都不支持UEFI。
故我们一般选择(普通)隐藏,启动方式一般选择U+V2(USB-HDD+ v2),兼容性最好。
如何选择启动分区的分区引导记录是bootmgr还是grldr:
在B+启动涉及。
打开PE的ISO文件,若文件目录中只有BOOTMGR,则是bootmgr,若只有grldr文件,则是grldr方式。这里我们选择的是bootmgr。
使用U+方式制作WinPE(初级难度)
所需材料:U盘、ultraiso9.7.1便捷版1.21、Qemu启动测试器x64、WePE_64_V2.0.iso
打开ultraiso9.7.1便捷版1.21
,文件——打开——选择WePE_64_V2.0.iso
点击 启动——写入硬盘映像
安装图示进行设置,最后点击:写入——是,制作完成!
通过BOOTICEx64的分区管理,可以看到一个隐藏分区(258.9M)和一个可见分区(28.6G)。
使用Qemu启动测试器x64
进行测试启动:
注意此工具对于Win10系统兼容性不好,我测试时Legacy Bios无法启动,Efi可以正常启动。是测试工具的原因,可以正常启动,可拿Legacy Bios的物理机进行测试。
最后建议将可见分区格式化为exFAT,使得单个文件支持4G以上。
此方式制作简单,但是普通隐藏会因bootmgr捣乱,在win/pe系统下运行某些一键还原软件如gghost时,会引起可见区与隐藏区的互换(可通过Bootice解决)。且如果需要更新PE或者更换PE,则必须格式化整个磁盘,不便于U盘数据的存储,这些可以通过B+的方式来解决。
使用B+方式制作WinPE(中级难度)
所需材料:U盘、BOOTICEx64、Qemu启动测试器x64、WePE_64_V2.0.iso
制作难度相对U+复杂,但可实现PE的无损替换!首先使用FbinstTool格式化U盘(前面有)。
打开BOOTICEx64
,选择目标磁盘为U盘,点击分区管理
,再点击U+V2
,根据下图设置,确定。
完成后,如图,将1G的分区添加隐藏。
此时可暂时将1G的分区设置为可见,将 WePE_64_V2.0.iso 解压复制到此分区,完成后再将另外一个分区设置可见。
到此,制作过程本应该已经结束,但是Bootice工具的问题,不能以U+v2的方式启动PE。有两种解决方法:
1. 使用U+方式制作后备份mbr,然后使用B+方式制作PE后恢复mbr
根据女娲工坊扯闲篇儿之八 :(中级难度)如何用BOOTICE制作干净启动盘中的说明,使用Bootice引导代码类型是U+v2的启动方式,因U盘不同而不同,可以通过以U+方式制作PE,然后备份MBR(备份扇区2-100不等,推荐100)。
然后以B+方式制作PE,再将备份的MBR进行恢复即可,亲测可用!此方式较复杂,以下为另一种简单方式。
2. 修改U+v2的主引导,改为U+引导:
更新或更换PE:
使用Bootice将隐藏分区设置为可见,格式化,将解压好的ISO文件全部复制进去,再将另外一个分区设置可见(则此分区自动隐藏)。
**注:**格式化分区后,会默认将PRB设置为BOOTMGR引导程序
(MRB不影响),若PE文件为grldr引导,则需手动修复PBR,否则不需要。
注意需再将U+v2的主引导记录文件(MBR)恢复即可。
使用UD制作WinPE(高级难度)
上述我们制作的都是单PE,这里我们通过UD制作一个多PE。
所需材料:U盘、FbinstTool1.7、Qemu启动测试器x64、WePE_64_V2.0.iso、Win10PE2in1.2019.5V2.iso、Win10x64PE_17763.iso、引导文件
目前公认兼容性最好的启动U盘模式是三分区,前端UD隐藏用于传统BIOS启动,中间可见分区存储数据,后面U+V2高端隐藏用于UEFI BIOS启动。
这里我们制作一个UD五分区的PE。
第一分区我们用来引导Legacy Bios的启动文件(3G),第二分区作为数据区(U盘大小减去其它四分区),用来存储个人数据,第三、四、五分区用来存放Uefi引导的PE文件(分别占用1G,共3G)。
- 准备工作:准备好上述三个PE并分别解压
- 使用FbinstTool格式化U盘(前面已经介绍):选择U盘,启动设置——格式化——重置磁盘,点击格式化!
- 点击 启动设置——格式化,按照图示操作,最后点击确定——是——是。
- 完成后如图,删除
mbr.pt
文件,再点击 数据管理——执行碎片整理 (整个过程不能有碎片,执行碎片整理比较伤U盘,故文件尽可能少时执行)
-
现在整个是一个空盘,依次导入grldr、message文件:右键——导入文件 (message文件是背景以及设置,可以使用
个性化启动菜单制作(1.0.3.3)完结版
进行制作或修改,此message文件是我制作的。) -
空白区右键——新建文件,按图示操作,再点击确定。此文件用来占位。
- 同样方式,建立第二个分区数据区,文件大小按照图示计算。
- 同样方式,建立三、四、五用于启动Uefi的分区,每个分区设为1G,最终结果
- 依次将新建文件转换为分区(除占座文件,即第一分区文件):选择——右键——加入到分区表
-
删除占座的 mbrpeiso.img :选中——右键——删除文件
-
添加Legacy Bios启动的三个(或者更多)PE文件,依次添加:右键——导入文件(扩展分区),选择PE的ISO文件,我们依次导入WePE_64_V2.0.iso、Win10x64PE_17763.iso和Win10PE2in1.2019.5V2.iso
添加的先后原则是:将不常更新的PE放在前面,常更新的PE放在后面,避免更新时产生碎片,而导致ISO仿真出现问题。 -
完成后,修改grldr菜单:点击菜单栏下面的Grldr菜单,替换如下,Ctrl+s保持即可,若删除或添加PE,则按照此模板修改即可。
timeout 10
default 0
gfxmenu (ud)/MESSAGEtitle 【01】极致纯净微PE 2.0 x64
map (bd)/WePE_64_V2.0.iso (0xff)
map --hook
chainloader (0xff)title 【02】纯净_开放_美观_Win10x64PE_17763
map (bd)/Win10x64PE_17763.iso (0xff)
map --hook
chainloader (0xff)title 【03】女娲工坊 Win10PE2in1
map (bd)/Win10PE2in1.2019.5V2.iso (0xff)
map --hook
chainloader (0xff)title 【04】启动本机WINDOWS操作系统
echo $[1106] Loading Start Hard disk Windows, Please Wait ...
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
map () (hd0)
map (hd0) ()
map --rehook
find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr
chainloader /ntldr || chainloader /bootmgrtitle 【05】重启reboottitle 【06】关机halt
然后下图操作:
选择最新版,点击更新。
完成后,即可点击FbinstTool中的Qemu测试,可以通过Legacy Bios启动。
- 设置其它三分区的Uefi启动
点击:启动设置——分区表,将uefi1.img调整到最上面,保存。
这时uefi1.img的分区就会在 “我的电脑” 中显示,将解压的WePE_64_V2.0.iso
的全部文件复制进去;
然后:启动设置——分区表,将uefi2.img调整到最上面,保存,将解压的Win10x64PE_17763.iso
的全部文件复制进去;
同样方法操作uefi3.img ,将解压的女娲工坊Win10PE2in1.2019.5V2.iso
的全部文件复制进去,完成后,将分区表的位置调整成默认,即:
通过计算机自带的磁盘管理,如图:
最后将数据区格式化为exFAT格式,这样我们的UD五分区的PE就制作完成了。
刚刚Legacy启动已经成功了,但是Uefi启动该如何选择从哪个PE启动呢?我的主板是Uefi启动,所以我使用我的物理机来演示。
进入固件设置,可以看到除系统启动盘外还有三个启动盘,分别对应Uefi1,Uefi2,Uefi3,如我选择最下面的 UEFI:KingstonDataTraveler3.0PMAP Partition4
那个盘启动,对应的是U盘分区的Uefi3,则进入的就是女娲工坊Win10PE2in1.2019.5V2.iso
。
通过前面的知识,对于Uefi启动,只需要识别FAT文件系统分区中的引导文件bootx64.efi
或bootia32.efi
即可成功启动PE,因此对于Uefi启动,我们只需要复制解压的PE到分区即可,而不需要管那些mbr、pbr。
至此,完美制作出UD5分区多PE启动盘。此启动盘兼容性好,支持Legacy Bios和Uefi Bios,支持无损更新或更换PE,且安全性非常高。
后记
花了9个小时写了这篇文章,关于系统启动、U盘启动和PE方面的知识是比较复杂的,这里也仅仅是对于制作U盘启动的三种方式进行简单总结,相对于网上所谓的一键制作(黑箱操作),这三种方式更加透明且经过大量检验,可放心使用。所用到的所有工具和PE我都注明来源并提供下载,在此非常感谢女娲工坊制作的相关视频。
参考:Win10PE 2in1——2019年4月28日,附4小时视频教程及全套制作工具