我正在尝试构建一个多操作系统启动 USB 闪存驱动器,包括 Windows 和 Linux 操作系统。
我使用 Linux 作为工具/实用程序机器。
Win10 ISO文件SW_DVD9_Win_Pro_Ent_Edu_N_10_1809_64-bit_English_MLF_X21-96501.ISO
我尝试了以下方法:
- 使用
dd if=my.iso of=/dev/sda3 bs=1M
将 ISO 直接“刻录”到分区。但不知何故,WinPE 或 EFI 都无法读取该分区。diskpart
在 WinPE 中运行会将分区列为RAW
。Linuxlsblk
会将分区列为FS=udf
。当我尝试浏览到 efi 启动文件的分区时,EFI 无法看到它。 - 挂载 ISO 文件并尝试将所有文件和文件夹
tar
复制cp
到分区(格式为 FAT32)。但tar
许多文件都出现大量权限错误,cp
无法复制,/sources/install.wim
因为文件大小超过 4GB! - 尝试将文件/文件夹复制到格式化为 NTFS 的分区。现在我可以复制所有内容,但现在 EFI 无法读取 \EFI 子文件夹,因此我必须
bcdboot
从 WinPE 执行,但它给出了错误Failure when attempting to copy boot files
。不确定它是否无法在 USB 闪存驱动器上找到源文件或目标 EFI 分区(无法从中为其分配驱动器号diskpart
)。
我没有主意了……救命!
我想我可以直接复制c:\bootmgr.efi
到 EFI 分区并为其创建一个启动项(使用systemd-boot
),但它不知道 Windows 安装在哪个分区,我认为 bscboot 会解决这个问题,对吗?