在安装 Windows 10 时,可以使用 Microsoft 的媒体创建工具来创建 USB 安装介质。该棒本机支持与 UEFI 结合使用的安全启动。
如果您想进行安装以预修补 Windows 更新、更改设置和/或添加软件,您将使用 NT Lite 创建一个新的 ISO,并使用 RUFUS 之类的工具将该 ISO 刻录到 USB 记忆棒上。
我过去已经这样做了,但是在最近的 Windows 10 20H2 中,当我使用 Rufus 时,它告诉我 Secure Boot 将不起作用,并且必须在启动之前将其禁用,并且可以在安装后启用是完毕。
鉴于它在过去有效,有没有办法让安全启动正常工作,以便我始终可以安装我修改后的 Windows 10 安装程序并启用安全启动和 UEFI?
虽然 OP 已经找到了解决方案,但我使用这个答案空间来添加更多选项。
选项 1:拆分 WIM 文件。
WIM 文件是可以进行流式传输的格式,将 .ESD 转换为 .WIM,然后在其中添加您自己的驱动程序/程序包等可能需要 Windows 10 安装。WIM 大于 4GB。
使用 DISM 命令(在 Windows 10 中随时可用)将 .WIM 文件拆分为 .SWM,每个大小为 3 GB。从提取的源中删除原始 WIM,并使用 OSCDIMG.exe 命令(Windows 10 ADK 的一部分)使用现在包含已排序的 SWM 文件和其他 Windows 10 源文件的源重建 ISO。Rufus 现在允许您使用 FAT32 分区,因为 ISO 中的文件现在没有大于 4 GB。Windows 10 安装程序将自动检测已排序的 SWM,并在启用安全启动时顺利运行和安装,因为它使用原始的 Windows 10 引导加载程序。与 WIM 到 ESD 的转换不同,吐出 WIM 非常快。
上面的 oscdimg 命令创建 Legacy + UEFI 可启动 ISO。Windows 10 源文件位于 C:\src,C:\Slipstremed.iso 是创建的新 ISO 文件。
选项 2 – 签署 Rufus Bootloader 和 NTFS 驱动程序。
当 Rufus 创建 UEFI 可启动 NTFS 格式的 Windows 10 笔式驱动器安装程序时,它会在笔式驱动器的末尾创建一个小的 512KB FAT 分区,并使用自己的引导加载程序和 NTFS 驱动程序加载它,该驱动程序未签名(由 Microsoft),因此 Rufus 通知您禁用安全启动以进行安装。
如果目标计算机上的 UEFI 固件设置允许用户级安全启动数据库密钥管理,您可以在 UEFI 计算机上使用该笔式驱动器安装安全启动并打开安全启动。许多 UEFI 实现根本不允许或认为没有必要提供。但是,这就是它原则上的工作方式。假设目标 PC 使用 x64 架构。
在工作的 Windows 10 计算机上,以管理员权限运行 Powershell 创建用于代码签名的自签名证书
在证书存储中访问相同的内容并将其与私钥一起导出到受密码保护的 PFX 文件。将其公钥导出到 DER 编码的 X509 .CER 文件以及 Base64 编码的 X509 .CER 文件。
在固件设置中以用户模式访问安全启动变量并将 CER 文件推送到 db 密钥中。检查这两种格式中的哪一种在 db 中是可接受的。
使用 Signtool.exe(Windows 10 SDK 的一部分)使用 PFX 文件对相应的 Rufus Bootloader 和 NTFS 驱动程序进行签名。
还有 K:\EFI\Rufus\ntfs_x64.efi。K:例如是 Pen Drive 的驱动器号。
使用 Rufus 在安全启动打开的目标计算机上创建 NTFS 格式的笔式驱动器启动。
选项 3 – 检查目标计算机上的 UEFI 固件是否确实支持 NTFS 引导。
如果是这样,只需在 NTFS 格式的笔式驱动器上提取 ISO,然后在 Secure Boot ON 的情况下通过它启动。一些 UEFI 固件实现确实支持 NTFS。我的带有 AMI UEFI 固件的基于 MSI B450 芯片组的主板确实支持 NTFS 引导。我什至不需要 Rufus 在 UEFI 模式下安装 Windows 10。
我终于发现了我的问题,并决定这是应该很容易搜索的信息,所以它会出现在 SuperUser 上。
为了能够在具有安全启动环境的 UEFI 上启动 Windows 10 安装 USB 记忆棒,该记忆棒必须使用 GPT 分区方案并且必须使用 FAT32 进行格式化。如果这是真的,那么棍子就会起作用。
然而,FAT32 有一个很大的限制。FAT32 不支持任何大于 4GB 的文件。如果您的滑流棒有一个大于 4GB 的文件,RUFUS 会自动检测到这一点并从可能的选项中删除 FAT32 并默认为 NTFS。GPT+NTFS 不允许安全启动,所以这不起作用。
使用 NTLite 创建安装介质时,第一步是将 ESD 转换为 WIM 格式,NTLite 生成的 install.wim 会很大。就我而言,Windows 10 20H4 的 install.wim 为 6GB,因此不受 FAT32 支持。
我的问题的解决方案是不要将其保留为 WIM 格式,而是在 NTLite 的最后一步将其转换回 ESD。ISO 的构建花费了相当长的时间,但 install.esd 文件现在是 3.5GB。小到可以在 FAT32 文件系统上,因此 RUFUS 正确检测到 GPT+FAT32。
所以... TL;DR:确保您在 NTLite 中转换回 ESD,然后 RUFUS 将允许您选择 GPT+FAT32。
您是否尝试过制作 Easy2Boot 多重引导 USB 驱动器并将所有 ISO 复制到其中?如果在提示时添加 agFM UEFI 引导文件,您应该能够从第二个 FAT32 分区保护 UEFI64-boot,然后从第一个分区上的任何 ISO 安装。