您可以使用这些说明创建可以运行Windows 10安装程序的GRUB的可启动USB驱动器。我使用Arch Linux来准备我的USB设备,但是任何像Debian或Ubuntu这样的Linux版本都可以运行。
我假设你有一个适当大的USB磁盘/dev/sdz
,你可以完全擦除这个过程。
如果已安装,请卸载USB驱动器。
1 | sudo umount /dev/sdz* |
擦除USB设备上的所有分区。
1 | sudo dd if=/dev/zero of=/dev/sdz bs=512 count=1 conv=notrunc |
使用sfdisk
创建两个分区。第一个分区是500MiB
bootable(*
)Linux分区,第二个分区是一个占用剩余空间的ntfs
分区(7
)。
1 | sudo sfdisk /dev/sdz << EOF |
格式化第一个分区,/dev/sdz1
如ext4
。
1 | sudo mkfs.ext4 /dev/sdz1 |
格式化第二个分区,/dev/sdz2
如ntfs
。
1 | sudo mkfs.ntfs /dev/sdz2 |
安装在/dev/sdz1
当地的某处。就我而言,我正在使用/mnt/part1
。
1 | sudo mount /dev/sdz1 /mnt/part1 |
安装在/dev/sdz2
当地的某处。就我而言,我正在使用/mnt/part2
。
1 | sudo mount /dev/sdz2 /mnt/part2 |
装载Windows 10安装ISO。在我的情况下,我正在安装它/mnt/win10
。
1 | mount -t udf ~/win10.iso /mnt/win10 |
将grub安装到ext4
分区(sdz1
)。此命令提供了受Arch Linux文章启发的最小GRUB安装。
我承认我并不完全知道每个模块在这里做了什么,但我选择了一个似乎需要我配置的最小列表。
1 | sudo grub-install \ |
grub.cfg
在/mnt/part1/grub-boot/grub/grub.cfg
。创建GRUB配置文件。grub.cfg
基于一些 文章,这是一个相对较小的。
1 | # USB Device:/grub-boot/grub/grub.cfg |
将Windows 10安装文件复制到ntfs
分区(sdz2
)。
1 | rsync -vr /mnt/win10/ /mnt/part2/ |
将文件同步到设备。根据设备的速度,这可能需要一些时间。
1 | sync |
清理。
1 | sudo umount /dev/sdz* |
启动!你应该全力以赴。
如果从USB设备启动到Windows 10时遇到错误,说明:
缺少计算机所需的媒体驱动程序。这可以是DVD,USB或硬盘驱动器。如果您有带驱动程序的CD,DVD或USB闪存驱动器,请立即插入。
注意:如果Windows的安装介质位于DVD驱动器或USB驱动器上,则可以在此步骤中安全地将其删除。
那么您可能希望查看解决该问题的Microsoft社区文章。您可能还想验证所有文件是否正确复制rsync
或重新复制文件以防万一有损坏。您可能还需要验证源Windows 10 iso
文件的完整性。最后,我发现USB 2.0驱动程序对我来说比USB 3.0更可靠,并且当我在我的一台机器上遇到它时解决了这个错误。