在 Ubuntu 上创建 Windows 10 可启动 USB 时出现 NTFS 分区服务问题

Aft*_*han 5 live-usb windows system-installation

我想创建一个 Windows 10 可启动 USB,用于在我的旧系统上安装 Windows。

我按照这个问题的答案中给出的说明进行操作:How can I create a Windows bootable USB Stick using Ubuntu?
然而,它并不像答案中提到的那么简单。

当尝试启动它时,我遇到了一个神秘的错误

Could not start NTFS partition service
Run Code Online (Sandbox Code Playgroud)

细节:

  • 在 Ubuntu 20.04 上 Focal Fossa
  • 从官方链接下载Windows 10 iso
  • 使用woeusb工具

Aft*_*han 5

所以按照官方步骤:

sudo add-apt-repository universe
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb
Run Code Online (Sandbox Code Playgroud)

向我抛出一个依赖项之一的错误:libwxgtk
经过一些谷歌搜索,我发现了这个

这就是我找到第一个障碍的答案的地方:
下载此评论中libwxgtk提供的链接

所以woeusb现在已经正确安装了。


更多问题

当我打开应用程序时,UI 未检测到 USB 设备WoeUSB
尝试在线搜索多种内容,然后决定通过命令行执行此操作。

sudo woeusb --tgt-fs NTFS --device <iso-path> /dev/sdX
Run Code Online (Sandbox Code Playgroud)

在此之前,我必须使用 Ubuntu 的磁盘实用程序格式化 USB 设备。

你瞧,可启动 USB 的第一次切割未能检测到。
经过一番挖掘后,我偶然发现了这一点
。本质上,对于 UEFI 设备,您需要使用 GPT 而不是 MBR(默认)来格式化 USB。

因此,重复整个过程,使用 GPT 格式化 USB。


最后的阻挡者

现在 USB 被检测到,当我设置启动顺序并尝试启动 USB 时,我收到了一个相当神秘的错误:Could not start NTFS partition service

谷歌搜索这个错误让我发现了这个Github 问题
通读了关于这个问题的整个对话,这个评论让我印象深刻

他提到该工具在EfiFSv1 和 v1.1 上运行良好。
这让我想起了命令行运行的输出之一woeusb。它从github 存储库
下载了最新版本。uefi-ntfs.imgrufus

所以我做了一些挖掘,并在这里找到了该文件的足够旧的版本

我下载了这个,然后在 USB 上的 UEFI:NTFS 分区上重写了这个映像。

dd if=<path-to-uefi-ntfs.img> of=/dev/sdX2 # find out the proper partition reference using the disks utility
Run Code Online (Sandbox Code Playgroud)

现在终于可以用了!!


摘要 - 最后步骤

  • 从官方链接下载 Windows 10 ISO
  • 安装woeusb
sudo add-apt-repository universe
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb
Run Code Online (Sandbox Code Playgroud)
  • 如果您遇到依赖性问题,请从此链接libwxgtk下载 deb 文件
  • 安装Deb文件并重新安装woeusb

  • 插入笔式驱动器

  • 使用磁盘实用程序,使用 GPT 分区格式化 USB。
  • 并创建可启动USB
sudo woeusb --tgt-fs NTFS --device <iso-path> /dev/sdX
Run Code Online (Sandbox Code Playgroud)

此时,整个事情应该适用于大多数情况。
但如果您的系统较旧,可能会引发一些有关 NTFS 分区服务的错误。然后继续:

  • 从这里下载旧版本的 UEFI:NTFS 分区映像
  • 使用此映像覆盖 UEFI:NTFS 分区
dd if=<path-to-uefi-ntfs.img> of=/dev/sdX2
Run Code Online (Sandbox Code Playgroud)

现在再试一次,它对我有用!

  • +1+1 的繁重工作:感谢您帮助我们再次使用 woeusb :-) 我认为使用 [mkusb-plug](https://help.ubuntu.com/community/mkusb/plug) 更容易,位于至少在 woeusb 被修复之前,至少文本模式版本可以“开箱即用”。 (3认同)
  • 我没有遇到“mkusb-plug”。下次,我会尝试一下。谢谢! (2认同)
  • @AftabKhan,感谢您发布此内容。您不必再降级到旧版本的“uefi-ntfs.img”,因为旧 UEFI 固件存在的问题现在应该已得到解决。 (2认同)