如何创建仅启动和安装 UEFI 的 Windows 安装媒体?

如何创建仅启动和安装 UEFI 的 Windows 安装媒体?

我正尝试在我的 Mac Pro 4,1 上以 UEFI 模式安装 Windows 8.1,该机器已刷新至 5,1,搭载 3.46GHz Intel W3690。

据我所知,Windows 只会创建以创建媒体的盒子启动方式启动的媒体。如果盒子通过 BIOS/CSM 启动,它创建的媒体将(仅)以 BIOS/CSM 模式安装 Windows。如果盒子通过 UEFI 启动,它创建的媒体将以 UEFI 模式安装 Windows。如果不是这样,也许有人可以纠正我。

我在网上找到的所有关于创建 UEFI 安装介质的说明都涉及在 PC 的 BIOS 屏幕中选择 UEFI 模式并创建安装介质。当然,Mac 没有这个选项。

以下是我所做的:

我最初遇到了有据可查的“选择 CD ROM 类型问题”,但通过以下方法解决了这个问题此处的说明我使用 PC、从 Microsoft 下载的 ISO、oscdimg 和 ImgBurn 成功创建了 Windows 8.1 DVD。

我安装了 Windows 8.1 并将其升级到 Windows 10。您可能认为我会很高兴并继续前进,但我必须让事情变得困难。:p 我想要从 (U)EFI 启动,而不是 BIOS/CSM。

我按照以下说明将目标驱动器格式化为 GPT 驱动器这些说明,但是当我尝试安装到它时,Windows 安装程序(在 BIOS/CSM 中启动)告诉我它无法安装到 GPT 格式的驱动器。

我成功破解了我的 Bootcamp Assistant Info.plist,并可以选择创建一个 USB 驱动器,使用 Bootcamp Assistant 安装 Windows 7 或更高版本。BCA 报告复制 Windows 文件,下载 Bootcamp 文件,然后简单地报告安装无法完成。o_O

但是,USB 驱动器似乎有安装 Windows 所需的所有文件,只是没有 Bootcamp 文件。我从单独下载了 Bootcamp 文件,它们可以毫无问题地安装到前面提到的 BIOS/CSM 版本。

无论我使用什么方法创建 USB(Bootcamp、Windows 上的 Rufus 或手动构建 Windows),USB 都会显示现在熟悉的蓝色窗口几秒钟,然后进入一个大蓝屏并告诉我:

    Your PC needs to be repaired.

    An unexpected error occurred.

A needed file is missing or corrupted \Windows\system32\boot\winload.efi

    Error Code: 0xc0000001

    Use your install media to repair your PC or contact your Sys Admin...

我的 Mac Pro 大约 30 秒后关机。

我对使用命令行非常熟悉。我安装了 Rod Smith 的 gdisk。我安装了 XCode。我在 Windows 端安装了 Rufus 和 ImgBurn。我还有 Windows ADK,但我还没有使用它,因为它似乎假设您要设置网络共享来安装 Windows。如果有办法使用该 Windows 工具创建此媒体,请提供详细的分步说明,并记住我不能简单地选择以 UEFI 模式启动,因为我的主板没有该选项。

干杯

答案1

事实证明,它实际上非常简单,尽管我是根据在 Microsoft 系统管理员网站上找到的信息将其拼凑起来的。

解决方案是从安装 USB 的根目录中删除 bootmgr 文件。请注意,USB必须格式化为单分区 GPT 磁盘,以便让 4.1 或 5.1 Mac Pro 以 UEFI 模式启动。它可能适用于或不适用于允许访问 EFI 固件的其他硬件,但如果 Mac Pro 找到 MBR,它将在 BIOS/CSM 中启动。

此外,至少在我的 Mac Pro 上(如前所述,2009 4.1 刷新到 5.1),当我使用 Apple 的磁盘实用程序或 Gdisk 格式化 USB 驱动器时,它不起作用 - 对不起,Rod Smith。您是一位传奇人物,您教会了我很多东西,但我不得不使用 Windows diskpart 来格式化 USB 驱动器。

因此,具体步骤如下:

从任何 Windows 环境(我在 Mac Pro 上的 BIOS/CSM 中启动)打开命令行提示符并输入:

diskpart

list disk

sel disk *N* (where *N* is the number of your USB drive from the list)

clean

convert gpt

format quick fs=fat32 label="NAME"(where NAME is whatever you want to call your USB. Use quotes if you want to use a space, i.e. label="Windows 10")

exit

然后,仍然在 Windows 中,我装载了从 MS 下载的 ISO,并将除 bootmgr 可执行文件之外的所有内容拖到 USB 驱动器的根目录。请注意,我确实复制了 bootmgr.efi,但没有复制 bootmgr.exe。

按住 alt/option 重新启动,选择标有“EFI Boot”的 USB 驱动器并按照说明进行操作。

根据 Stack Exchange 政策,我是这样想的:

我最终这一页。我在哪里找到了关于以所需模式启动的这句引言,这正是我试图解决的问题:

如果这是一个经常出现的问题,您可以删除 UEFI 模式或 BIOS 模式的启动文件,以防止 PC 以错误模式启动。如果 PC 固件设置为以错误模式启动,则媒体将立即无法启动,这样您就可以立即重试将 PC 启动到正确的模式。

Boot in UEFI mode: To prevent Windows PE from booting in BIOS mode, remove the bootmgr file on the root of the media.

Boot in BIOS mode: To prevent Windows PE from booting in UEFI mode, remove the efi folder on the root of the media.

他们正在讨论使用 ADK 和 Windows PE 构建自定义 Windows 安装媒体以便在大型组织中部署,但我尝试了这个非常简单的解决方案,它适用于 Windows 8.1 和 Windows 10。

答案2

对于创建仅支持 UEFI 启动的 USB,没有什么重大哲学。

让我们从 Windows ISO 开始。挂载它。

然后用 FAT32 格式化整个 USB(MBR 样式,单个分区),无活动分区

然后将所有文件从 ISO 复制到 USB。

如果 USB 包含 \EFI 文件夹,则它是 UEFI 可启动的。

如果 USB 没有 \EFI 文件夹,则不是UEFI 可启动。

\EFI 文件夹应该有两个子文件夹:\EFI\boot 和 EFI\Microsoft\boot 以及相应的文件。

如果 USB 没有活动分区,则不是BIOS 可启动。

如果您可以将保护性 MBR 写入 USB,那么它将仅可通过 UEFI 启动。

如果媒体以 UEFI 方式启动,它将安装 UEFI 可启动的 Windows 8.1/10(例如,预期 GPT 磁盘作为目标)。

相关内容