我有一个可启动的 USB 驱动器,它是使用dd
从 Microsoft 官方网站下载的 Windows 10 创建的,每次我在 BIOS 中将该驱动器配置为可启动驱动器时,都会出现错误
An operating system wasn’t found. Try disconnecting any drives that don’t contain an operating system.
我使用的命令:
sudo dd if=windows10.iso of=/dev/sdf bs=1m status=progress
我也尝试过:
sudo dd if=windows10.iso of=/dev/sdf1 bs=1m status=progress
我尝试使用unetbootin
,但也没有用(我认为它存在一些问题)
我尝试从驱动器中擦除所有内容,删除所有分区,格式化,创建 FAT32 分区并向其添加可启动标志,但都没有成功。我尝试创建 MBR 和 GPT 分区表,但也没有成功。我在 Fedora 37 和 Macbook 上都试过了,结果都一样。我遗漏了什么?
lsblk -f
NAME FSTYPE FSVER LABEL UUID FSAVAIL FSUSE% MOUNTPOINTS
sda
sdb
├─sdb1 vfat FAT32 11AC-A58B 581.4M 3% /boot/efi
├─sdb2 ext4 1.0 eb1a62b0-1f8a-4353-a67f-b3f1ab851416 637.5M 28% /boot
└─sdb3 btrfs fedora_localhost-live 1be3b604-47e4-4fb5-8e9b-aa05dd8bc156 208.3G 10% /home
/
sdc
└─sdc1 ntfs Filmy, gry, muzyka 96C8335EC8333BB5
sdd
├─sdd1
├─sdd2 ntfs FC00B1A200B16474
└─sdd3
sde
sdf udf 1.02 CCCOMA_X64FRE_EN-GB_DV9 1aab80004d532055 0 100% /run/media/jedrek/CCCOMA_X64FRE_EN-GB_DV9
sr0
zram0 [SWAP]
sdf
是我的 USB 驱动器。
答案1
格式化 USB 并使用 Ventoy。
Ventoy 在创建可启动磁盘时会格式化 USB 磁盘。但是,我注意到它无法对已经可启动的 Linux 磁盘执行此操作。因此,我建议您在继续操作之前先格式化 USB 磁盘。
下载并解压 Ventoy.tar.gz
文件后,
进入解压的文件夹,你会发现里面有几个脚本。你需要运行一个名为 VentoyWeb.sh 的脚本。
Ventoy 在浏览器中运行。运行时它会给你一个 URL。复制此 URL 并将其粘贴到浏览器中。它会打开一个网页,其中 Ventoy 正在运行,如果 USB 已经插入,它应该会识别它。如果没有,请按刷新按钮。
使用 GPT 分区方案进行 UEFI 安装。点击安装后,磁盘上将有两个分区。
- 维托耶菲:用于 UEFI 文件的小分区。
- 文图伊:一个 ExFAT 格式的大型空白分区,您将在其中复制 ISO 映像。
将 Windows 10 的 ISO 映像复制到 USB 磁盘上更大的 ExFAT 分区中。
继续安装。
这是完整详细的指南。
答案2
真正的问题主要是 ISO(实际上是 UDF)包含sources/install.wim
大于 4G 的文件(),因此您无法使用一个 FAT32 来包含所有内容,以便可以通过 UEFI 启动。但除此之外,您实际上可以挂载 ISO(UDF)文件并将文件复制到 NTFS 分区。如果您的机器具有 AMI(又名 Aptio)的 UEFI 固件,您应该能够直接从 NTFS 分区进行 UEFI 启动。
ms-sys
可以帮助您将必要的启动代码写入 MBR和NTFS 分区的引导扇区。
如果您想要 BIOS 启动,请确保使用 MBR/DOS 样式的分区表而不是 GPT。
此外,需要在 NTFS 分区上设置活动标志(有时称为启动标志)。
对于 UEFI,另外创建一个 FAT32 分区并在其中安装一组 grub。
grub-install --target x86_64-efi --efi-directory $mp --boot-directory $mp --removable
$mp
FAT32 分区的挂载点在哪里。在某些发行版上,您可能需要运行grub2-install
。
然后,您可以创建一个grub.cfg
(在 下$mp/grub/
)来链式加载 NTFS 分区上的内容。例如:
menuentry 'Windows Setup' {
search -u ... -s
chainloader /efi/boot/bootx64.efi
}
其中...
应该是 NTFS 文件系统的卷 ID,可以通过以下 UUID 找到,例如lsblk -f
。
从技术上讲,任何类型的分区表都可以用于 UEFI 本机启动。
PS 该dd
方法从来就不适用于未专门准备非光学启动支持的图像文件。