从Linux创建可启动的Windows 10 USB驱动器(UEFI)


24

如何从Linux创建可启动的Windows 10 USB驱动器?

请注意:

  • WinUSB不适用于Windows 10。
  • UNetbootin也不起作用。
  • dd 方法效果不佳。

除此之外,我尝试创建一个GPT分区表和一个ef00类型的分区,并将其格式化为fat32,然后将所有ISO内容复制到其中。它可以启动,但是当我开始安装时,它会显示提示对话框。

更新资料

另一种尝试:

  1. 创建了一个GPT
  2. 在50 MB驱动器末尾创建FAT32
  3. 在剩余空间上创建NTFS
  4. 将UEFI:NTFS放在FAT32上
  5. 将ISO内容复制到NTFS

安装开始正常,但在进度开始时显示错误0xc0000005(如果我没有记错的话)。


我认为应该将其格式化为NTFS ...(您是在reddit上问这个问题的人吗?)
Alex

@Alex,不是,不是我...而且,UEFI只能从FAT32引导!
维克多·奥雷里奥(VictorAurélio)2015年

您是否修理了BCD商店?
fpmurphy

@ fpmurphy1不是,该怎么做?
维克多·奥雷里奥(VictorAurélio)2015年

1
“在FAT32上放入UEFI:NTFS”是什么意思?
菲利普·路德维希

Answers:


7

你没事 用fat32制作gpt表,然后从iso上复制所有数据。但是您还需要在该分区上设置标志“ msftdata”(而不是“ boot”),例如parted。


1
对于那些使用gdisk的用户:而不是ef00创建0700分区。
维克多·奥雷利奥

设置标志“ msftdata”(而不是“ boot”),谢谢@Feretj,您救了我的命
gpanda

截至2019年6月,您不能将所有数据都放在FAT32驱动器上。最新更新包含的windows.wim容量大于4.1 GiB。
Ben

8

在任何Linux发行版上准备Windows 2018年10月10日发行的UEFI可启动USB驱动器的指南。

请注意,Windows 10 October 2018版本的安装文件sources/install.wim大于最大FAT32文件大小,因此我们将USB驱动器格式化为NTFS。Windows安装程序也无法使用EFI分区(代码ef00),因此我们将使用Microsoft basic data分区类型(代码0700)。

使用名称创建USB驱动器的步骤/dev/sdc用您的设备名称替换所有命令!):

  1. 将USB驱动器插入计算机,并确保已卸载。有些发行版喜欢自动挂载USB驱动器,因此请确保卸载它们。可以使用找到已挂载的分区mount -l | grep '/dev/sdc',然后使用卸载sudo umount /dev/sdcX(X是分区号)。
  2. 使用打开USB阻止设备gdisk /dev/sdc,将其配置为GPT并创建Microsoft basic data分区(代码0700),然后写入更改并退出(下一步将破坏USB驱动器中的分区表!!!)。
sudo gdisk /dev/sdc
o
> This option deletes all partitions and creates a new protective MBR.
> Proceed? (Y/N): y
n
> Partition number ... > hit Enter
> First sector ... : > hit Enter
> Last sector ... : > hit Enter
> Current type is 'Linux filesystem'
> Hex code or GUID (L to show codes, Enter = 8300): 0700
p
> Should print something like:
> Disk /dev/sdc: 15646720 sectors, 7.5 GiB
> Model: DataTraveler 160
> Sector size (logical/physical): 512/512 bytes
> Disk identifier (GUID): ...
> Partition table holds up to 128 entries
> Main partition table begins at sector 2 and ends at sector 33
> First usable sector is 34, last usable sector is 15646686
> Partitions will be aligned on 2048-sector boundaries
> Total free space is 2014 sectors (1007.0 KiB)
> Number  Start (sector)    End (sector)  Size       Code  Name
>    1            2048        15646686   7.5 GiB     0700  Microsoft basic data
w
> Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING PARTITIONS!!
> Do you want to proceed? (Y/N): y
q
  1. 将新分区格式化为NTFS:
sudo mkfs.ntfs /dev/sdc1
  1. 将新的USB分区挂载到家中的临时目录中:
mkdir ~/tmp-win10-usb-drive
sudo mount /dev/sdc1 ~/tmp-win10-usb-drive
  1. 下载Windows安装ISO,在您的主目录中创建新的临时目录,并将其安装在此处:
mkdir ~/tmp-win10-iso-mnt
sudo mount Win10_1809Oct_English_x64.iso ~/tmp-win10-iso-mnt
  1. 将所有文件从已安装的ISO复制到USB驱动器(您可以rsync用来查看进度):
sudo cp -rT ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. 卸载Windows ISO和USB驱动器并删除临时目录:
sudo umount ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
rmdir ~/tmp-win10-iso-mnt/ ~/tmp-win10-usb-drive/
  1. 将USB驱动器插入新计算机并从中启动。

2
某些固件不检查NTFS分区中的启动文件,如果我错了,有人可以纠正我。
VictorAurélio

您可以使用“ wimtools”和“ solid”压缩级别将install.wim压缩为小于4GB。这样您可以简单地使用FAT32,请参阅tqdev.com/2019-cannot-copy-windows-10-install-wim
mevdschee

当您先跳过用零填充时,可以显着加快棍子的格式化速度:sudo mkfs.ntfs -Q / dev / sdc1
Robert

3

我已经通过以下方式在Ubuntu上使用了woeusb警告:这将覆盖整个分区表!):

sudo woeusb --tgt-fs NTFS --device Win10_1809Oct_Hungarian_x64.iso /dev/sdc

如果遇到此错误消息:

擦除所有签名后仍会检测到分区,这表明驱动器可能由于寿命终止而被锁定为只读模式。

执行以下操作:sudo fdisk /dev/sdc,然后选择d,然后最终w

(来源:https : //github.com/slacka/WoeUSB/issues/219。)在此之后,再次尝试运行上述命令。

无论如何,woeusb使用此方法创建了一个具有两个分区的gpt分区表:

partition      file system    label          size          flags
----------------------------------------------------------------
/dev/sdc1      nfts           Windows USB     57.00 GiB
/dev/sdc2      fat16          UEFI_NTFS      512.00 KiB    lba
unallocated                                    4.00 MiB

最后,我要做的就是在/ dev / sdc2分区(与lba一起)中放置带有gparted 的引导标志。

这样,我可以成功以UEFI模式启动并从USB记忆棒安装Windows 10。


发表评论只是为了提醒自己是否可以投票。
巴西那家伙


0

EFI分区必须为Fat32。它在EFI规范中。如果将安装程序文件放在NTFS分区上,则系统将永远不会启动。

您甚至不需要任何特殊软件。安装程序的GPT / FAT32,从iso中提取所有文件(我假设您使用媒体创建工具拥有最新的iso,因为它包含11月更新),并使用gparted设置了“启动标志”。假设您在计算机启动时从启动选项中选择EFI USB,它将以EFI模式启动到安装程序。


问题是,安装程序一开始安装过程,便会引发问题中所述的错误。
维克多·奥雷里奥

您尝试过使用其他iso?我会怀疑我的消息来源。按照我的答案中的说明来获取最新的。如果您使用USB进行引导,但仍然出现错误,我将开始质疑硬件...
Pingers

是的,我也尝试过...
VictorAurélio'16
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.