以下是我在 Ubuntu 系统上尝试过的操作:
- 我从微软下载了 Windows 10 ISO。
- 我将文件复制到不同的目录,并将 autounattend.xml 文件复制到那里以进行自动配置。
- 我使用 mkisofs 及其 -allow-limited-size 开关创建了一个新的 ISO 文件,因为 Windows 文件大于 4GB。
- 我使用 dd 命令将 ISO 内容复制到 USB 记忆棒。
- USB 记忆棒未显示在 BIOS 启动选项中。在 BIOS 设置中,USB 启动已启用,安全启动已禁用。似乎只能使用 EFI 进行启动,因为没有允许传统启动的选项。
我在这里遗漏了什么?
答案1
您实际上不应该将 ISO 映像放在 USB 记忆棒上。
Linux 发行版以特殊方式(使用“isohybrid”工具)构建 ISO 映像以实现此目的。它们的映像具有用于 CD/DVD 启动的 El Torito 启动结构和MBR 引导扇区和 EFI 系统分区用于磁盘引导,因此固件可以看到它想要看到的任何内容。
然而,从“mkisofs”中生成的常规 ISO 映像只是用于 CD/DVD 的普通 ISO9660(或 UDF)文件系统映像仅有的– 它们既没有磁盘应有的 MBR 分区表,也没有 GPT 分区表。您下载的官方 Windows ISO 映像也是如此。
所以你的步骤 3–4 是不必要的;使用 USB 存储棒时,你根本不需要 mkisofs。相反,你应该对 USB 存储棒进行分区就像普通磁盘一样,在其上创建一个 FAT32 分区,并将 Windows ISO 的内容作为常规文件提取到已挂载的 FAT32 文件系统中。(以下是微软官方文档关于这一点。
(注意:“将分区标记为活动”仅适用于 BIOS/传统启动。对于 UEFI,FAT32 文件系统和“EFI/BOOT/”目录使磁盘可启动。)
通常,ISO内容只有一个超大文件——镜像install.wim
,你可以分裂分成几个 2GB 的 *.swm 块,以便复制到 FAT32。上面的文章建议使用 dism.exe,Linux 等效程序来自wimsplit
wimlib 工具包(Ubuntu 的拆分包装将其放在“wimtools”包中)。
答案2
使用 mkusb
sudo add-apt-repository universe
sudo add-apt-repository ppa:mkusb/ppa
sudo apt update
sudo apt install mkusb
Ubuntu 帮助: