WoeUSB 错误代码 256,使用 NTFS 格式化的 USB。

我试着用WoeUSB创建一个Windows 10的USB启动介质。我用NTFS分区格式化了一个U盘,但是WoeUSB报错说:
Installation failed!
Exit code: 256
Log:
WoeUSB v@@WOEUSB_VERSION@@
==============================
Mounting source filesystem...
Error: File "/media/woeusb_source_1543626298_6098/sources/install.wim" in
source image has exceed the FAT32 Filesystem 4GiB Single File Size Limitation
and cannot be installed.  You must specify a different --target-filesystem.
Refer: https://github.com/slacka/WoeUSB/wiki/Limitations#fat32-filesystem-4gib-single-file-size-limitation for more info.
Unmounting and removing "/media/woeusb_source_1543626298_6098"...
You may now safely detach the target device

我也尝试过通过命令行启动WoeUSB,但没有成功。
sudo woeusb --partition Win10_1809Oct_English_x64.iso /dev/sdb

我的iso文件位于: home/sawyer/Downloads/Win10_1809Oct_English_x64.iso
非常感谢!我已经连续三个晚上都在尝试安装Windows,所以对任何帮助实现这个目标的支持都非常感激。
5个回答

编辑6:重大修改

现在我们来谈谈 woeusb 的 GitHub 版本

GitHub 版本为5.1.3,适用于 Ubuntu 20.04.x LTS(以及 18.04.x LTS,可能适用于所有当前版本的 Ubuntu,但我没有测试过)。

woeusb 的 PPA 版本已弃用

请注意,woeusbppa:nilarimogard/webupd8 的 PPA 版本已弃用(适用于 Ubuntu 18.04.x LTS,但在 20.04.x LTS 中失败)。今天(2021-11-07)它的版本为3.3.1(日期为2020-02-13)。

测试

WoeUSB github下载并测试了woeusb-5.1.3.bash以及tarball中的版本。它们只在指定版本的那一行有所不同。因此,我使用了带有明确版本号的单独版本。
我使用了以下命令行:
sudo ./woeusb-5.1.3.bash --target-filesystem NTFS --device Windows11.iso /dev/sdx

找不到wimlib-imagex,因此woeusb退出。可以使用以下命令从universe存储库安装它:
sudo apt install wimtools
当安装到FAT32文件系统时,需要它来分割巨大的install.wim文件,但选择NTFS时,安装应该可以继续进行而无需wimtools。这样,WoeUSB bash shell脚本将可以在没有wimtools的情况下工作(但需要互联网连接以获取uefi-ntfs.img)。
Windows安装程序的USB驱动器: - 在18.04.6 LTS和20.04.3 LTS中创建 - 可以在以下两种模式下引导: - UEFI模式(包括安全启动) - BIOS模式(别名CSM或传统模式)。

编辑6结束

我在PPA上测试了当前的woeusb(在运行持久化的Lubuntu 18.04.1 LTS),以下命令行对我有效。

sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb

sudo woeusb --target-filesystem NTFS --device path/windows.iso /dev/sdx

在我的情况下,ISO文件位于/media/lubuntu/usbdata/images/,目标设备是/dev/sdb,但在你的情况下,请仔细检查确保你将写入到正确的驱动器(避免在其他驱动器上破坏有价值的数据)。
sudo woeusb --target-filesystem NTFS --device /media/lubuntu/usbdata/images/windows.iso /dev/sdb

请注意,目标设备上的所有分区必须卸载。
创建的USB启动驱动器有一个小的FAT分区(用于UEFI引导)和一个带有Windows文件的大的NTFS分区。它可以使用woeusb 3.2.10.1(PPA中的2018-09-19版本)在BIOS和UEFI模式下安装Windows。
使用NTFS可以使用大于4 GiB的文件大小。 install.wim的大小是
在一些微软自己的iso文件中,例如在Win10_1809Oct_Swedish_x64.iso中,大小小于4 GiB。
对于某些特定计算机、OEM以及微软自己的几个iso文件来说,大小大于4 GiB。例如:
- Win10_1809Oct_English_x64.iso:大小为4.094 GiB - Win10_1809Oct_EnglishInternational_x64.iso:大小为4.085 GiB - Win10_1809Oct_German_x64.iso:大小为4.099 GiB - Win10_1809Oct_Spanish_x64.iso:大小为4.101 GiB
还有一个图形界面版本的woeusbgui。我认为它没有创建一个带有FAT文件系统和NTFS文件系统的目标驱动器的选项,所以我建议使用命令行版本的woeusb

编辑 1:

你可以在详细的帮助下自己动手完成

help.ubuntu.com/community/Installation/iso2usb/diy/windows-installer-for-big-files

这种方法适用于BIOS和UEFI模式,也适用于安全启动。 (但在大多数情况下,应该可以关闭安全启动,使用由woeusb创建的驱动器,并重新启用安全启动。) 编辑 2
感谢@John的评论,指出源文件名中不应有空格字符。如果有空格,您可以对文件进行重命名,然后woeusb就能正常工作。
感谢@qbit。这没有解决我的问题,但是您提到解析错误的想法帮助我意识到它不喜欢源文件名中有空格。这使我向前迈进了一步。
编辑 3
Ubuntu 20.04 LTS存在一个问题。
$ LANG=C sudo apt install woeusb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 woeusb : Depends: libwxgtk3.0-0v5 (>= 3.0.4+dfsg) but it is not installable
E: Unable to correct problems, you have held broken packages.

在解决woeusb问题之前,您可以根据此链接使用mkusb-plug

help.ubuntu.com/community/mkusb/plug

mkusb-plug的工具mkusb-tow现在也可以通过dus(mkusb版本12.5.6)使用。请查看此链接: mkusb 12.5.6带有新的Windows安装程序 编辑4: 以下链接描述了Ubuntu 20.04 LTS中woeusb的一组解决方法命令: 在Ubuntu上创建Windows 10可启动USB时的NTFS分区服务问题 编辑5: 今天(2021年10月16日),我测试了mkusb可以从Windows 11 iso文件创建可工作的安装程序驱动器。

这个答案对我也起作用了。对于那些不确定如何卸载的人,我是通过命令行来完成的。使用lsblk命令确定你的USB设备所在位置。在我的情况下是sdd1,然后我执行了sudo umount /dev/sdd1命令进行卸载。之后,我使用上面的命令创建了USB。请注意,我需要从驱动器中删除1,所以在woeusb命令的最后,我使用了/dev/sdd - rayryeng
我猜只是图形用户界面(GUI)的问题。我将我的USB格式化为NTFS,并按照GUI的指示操作,但每次都出现这个错误。在Ubuntu 18.04中,使用带有标志的命令行是唯一能让它正常工作的方法,而且需要使用当前PPA。似乎GUI只知道如何格式化为FAT,而忽略了分区已经被格式化为NTFS的事实。 - Routhinator

无法重现错误,因为运行该命令会产生另一个错误(check_runtime_parameters: Error: Target media "/dev/sdb" is not an partition!)。

看起来有效的方法是使用以下命令从头开始擦除和构建引导驱动器:

sudo woeusb --tgt-fs NTFS -d ~/Downloads/Win10_1809Oct_English_x64.iso /dev/sdb


一些第三方安装程序,例如Win10_1809Oct_English_x64.iso,包含大于4GB的Windows安装镜像,使得FAT32作为目标文件系统不可能。NTFS文件系统支持已添加到WoeUSB 3.0.0及更高版本中。如果您使用的WoeUSB版本早于3.0,请更新它。发布本答案时的最新版本是3.3.1。
对于WoeUSB v3.0及更高版本,命令行选项"--format"不再可用。
尝试使用以下命令从终端打开woeusbgui:
sudo -H woeusbgui &>/dev/null

2我的USB是8GB。我对警告的理解是FAT32格式的USB无法处理大于4GB的文件,所以需要格式化为NTFS。问题是,我已经将我的USB格式化为NTFS,但似乎WoeUSB看不到这一点。 - SLD

没有其他答案对我起作用。我试图在18.04上使用woeusb创建一个Windows 7 USB。我尝试了图形界面、命令行界面,尝试了格式化和不格式化,尝试了不同的参数顺序...什么都没用。
最后,qbit's answer给了我一个想法,可能存在解析问题。我注意到我的ISO文件名包含空格。我将文件重命名为没有空格的名称(重命名为WINDOWS7.ISO),然后命令行版本终于开始复制文件(没有尝试图形界面)。然而,在最后阶段它崩溃了。
最后,我使用VirtualBox中的Windows.iso创建了一个Windows虚拟机。然后我使用rufus.exe通过Windows将ISO写入USB。这样做是成功的,当天我就得到了一台安装有Windows的笔记本电脑。
我从未能让woeusb工作。希望作者们能修复它,因为似乎没有其他在Ubuntu下运行的实用程序可以创建Windows启动USB。
我通过ppa安装了woeusb。在我发布这个答案之后,我注意到woeusb进行了更新。在更新到最新版本之后,我发现woeusb现在可以成功地写入Win7和Win10的iso文件。
所以,在尝试我的答案之前,请先更新woeusb。

你的最后评论可能是正确的,关于当前版本的Windows 10,但是mkusb可以与Windows 7、Windows 8和早期的Windows 10 ISO文件一起使用(当install.wim大小不超过4 GiB时)。奇怪的是,woeusb对我和许多其他人有效,但对你无效。也许如果你尝试使用Windows 10(但显然不适用于Windows 7),它也会对你有效。 - sudodus
1@sudodus 我曾尝试过几个版本的Windows 10,但最终放弃并尝试了Windows 7。我无法让Windows 7或10与woeusb配合使用。也许是我的设置有些独特(但我认为我的设置相当标准,除了使用Budgie桌面环境)。 - John
1@sudodus 有趣的是,自从我之前遇到的问题以来,woeusb 在我的机器上刚刚更新了,现在它可以很好地创建 USB(我测试了 Win7 和 Win10)。所以,也许我应该修改我的答案为“更新 woeusb” :-) - John
1是的,@John,修改你的答案为“更新woeusb”是个好主意。再次感谢你分享经验 :-) 顺便说一下,今天,2020-02-15,根据apt-cache policy woeusb,我的Lubuntu 18.04.x LTS版本是3.3.0-1webupd8bionic0。 - sudodus

因为某种未知原因,上述解决方案https://askubuntu.com/a/1098185/846139https://askubuntu.com/a/1098076/846139对我来说并没有按预期工作。
在woeusb v3.2.12中存在参数解析问题
在自建的WoeUSB v3.2.12中,在ubuntu 18.10 cosmic上将目标文件系统选项放在开头并不起作用。
然而,以下方法起作用
sudo woeusb -d  /somewhere/Win10_abcd_xy_x64.iso /dev/sdb --target-filesystem ntfs

有趣的 :-) woeusb 在我的 Ubuntu 18.04.1 LTS 上运行良好,而且相同版本的 woeusb 似乎已经移植到了适用于 18.10 的 PPA。你试过在命令行末尾加上 --target-filesystem ntfs 并使用来自 PPA 的版本吗? - sudodus
ppa版本做了一些有趣的事情: $ woeusb --version @@WOEUSB_VERSION@@ - qbit
1而且,是的,ppa版本的WoeUSB v@@WOEUSB_VERSION@@(3.2.12-1webupd8cosmic0)也接受附加的--target-filesystem选项。但是,当作为第二个选项给出时,sudo woeusb -d --target-filesystem ntfs ...不接受。 - qbit
@John,谢谢你分享这个重要的信息。如果你恢复删除的回答,我会给它点赞的 :-) - sudodus
@John,我明白了。但你已经解决了一个可能的障碍。无论如何,如果你在使用woeusb时遇到困难,我可以提供两种替代方法:1. mkusb,这个工具可以预期在Windows 7、8和早期的Windows 10上运行。但是当前版本的Windows 10包含一个大小大于4 GiB的文件,而mkusb(尚未?)不支持这种情况。另一种选择是根据此链接手动操作。 - sudodus
@John,有时候,即使woeusb报错了,U盘仍然可以正常工作。你测试过吗?/ds - sudodus
@约翰,请告诉我们你是否在虚拟机中成功了与Rufus相关的事情。 - sudodus
1@sudodus 我把所有的评论都写成了一个回答,方便未来的访问者(同时也为了保持评论线程的整洁)。 - John