WoeUSB Ubuntu

17 Mar 2025 | 6 分钟阅读

WoeUSB 简介

Etcher、Fedora Media Writer 和 ISO Image Writer 等工具都可以创建可启动的 U 盘。但它们在创建带有 Windows 的可启动内存卡和 U 盘时也遇到了一些问题。

我们今天讨论的这个工具可以毫不费力地完成这项壮举;它被称为 WoeUSB。 这是一个 Linux 工具,用于使用真实的镜像或 Windows DVD 创建 Windows U 盘安装程序。它包含两个程序。它是 Congelli501 的 WinUSB Windows 的一个分支,该分支在 2012 年获得了最后一次更新。

WoeUSB 也是一个 CLI 工具,它从磁盘映像或以前的 Windows 安装创建真正的可启动 Windows 安装 U 盘存储设备。顾名思义,WoeUSB 是一个基于 WxWidgets 的 WoeUSB 的 GUI 包装器。

  • 然而,Linux 用户并非每项任务都需要 Windows,但有时我们可能会遇到只能在 Windows 上完成的事情。
  • 在几乎所有情况下,要么是这样,要么是转向 Windows 的原因。
  • 无论哪种情况,在这种情况下,我们需要一些东西来支持两个不同操作系统之间的互操作性。
  • 最方便、最简单的方法就是制作可启动的 U 盘。
  • WoeUSB 主要用于将所有文件从 源介质提取到目标介质, 安装 GNU GRUB 引导加载程序,并对其进行配置以支持链式加载 Windows BOOTMGR。
  • 此外,它还支持 UEFI 的引导方案,但将使用 Windows UEFI 引导加载程序。

WoeUSB 功能

WoeUSB 的一些功能如下所述

WoeUSB Ubuntu
  • 支持传统 PC 引导: WoeUSB 支持从 BIOS(传统 PC 固件)引导 Windows 安装程序,安装 GNU GRUB 引导加载程序作为主引导代码,并用于链式加载 BOOTMGR(Windows 引导管理器)。
  • 支持原生 UEFI 引导: WoeUSB 支持从 UEFI 引导 Windows 安装程序。UEFI 是最新的 PC 固件,无需 CSM(兼容性支持模块)。它包含从 Windows 7 及更高版本的每个版本。
  • 重要提示: Windows BOOTMGR 的引导加载程序仅适用于支持 8 及更高版本的安全启动介质。
  • 支持 NTFS 文件系统: 现在,它支持 NTFS 作为存储设备的目标文件系统,并与传统 UEFI/PC 引导一起从其引导。
    重要提示: 如果 UEFI 固件不支持 NTFS,则需要 UNSUPPORTED/DISABLED/OFF 安全启动状态。
    注意: 运行时将下载 UEFI:NTFS 引导程序,但需要互联网连接。
  • 权限提升: WoeUSB 使用 pkexec 而不是 gksudo。WoeUSB 在 GitHub 上免费提供其源代码。
  • 它支持 Windows PE、Windows 10(所有版本和语言)、Windows 8、Windows 7 和 Windows Vista。
  • 它支持 WxWidgets 的 2 和 3 版本。
  • 支持的引导模式
    • 原生 UEFI 引导(不包括 FAT 文件系统只能用作目标文件系统)。
    • IBM/MBR 样式/传统 PC 兼容引导模式。

WoeUSB 概要

WoeUSB 的命令行选项

创建方法

  • -p/--partition source_media target_partition
  • 它挂载目标分区的​​文件系统,将源介质中的所有文件提取到其中,并使其可启动。

注意:在 target_partition 上,源介质中具有相同文件名的所有现有文件都将被覆盖。

  • -d/--device source_media target_device
    它删除 target_device 的分区表(如果存在),创建一个新的 MBR/Legacy/PC 分区表,创建一个跨越整个磁盘的新 NTFS/FAT32 分区,并在其上设置 Windows(可启动)。

注意:target_device 上的所有现有数据都将被删除。

杂项

  • -h/--help
    它打印应用程序的帮助消息。
  • -V/--version
    它打印应用程序的版本号。
  • -ab/--about
    它打印有关应用程序的信息。
  • -v/--verbose
    更详细
  • --no-color
    它禁用消息的颜色。
  • --debug
    它启用脚本的调试。
  • -l/--label filesystem_label
    它在创建方法(即 --device)中为新创建的文件系统指定一个标签。

注意:标签的有效性未经验证,对于文件系统可能无效。

  • --debugging-internal-function-call function_name (function_parameters...)
    对于开发人员来说,这是一项开发选项,用于在不执行整个构建的情况下测试许多函数。
  • --workaround-bios-boot-flag
    对于有问题的 BIOS,它提供了一种解决方法,如果其分区没有一个引导标志被切换,它将不考虑可启动设备。
  • --tgt-fs/--target-filesystem filesystem_name
    它定义了要作为目标分区文件系统的文件系统。目前,它支持 NTFS/FAT(默认)。
  • 退出状态
    如果失败,则返回 1(或非零值),如果成功,则返回 0。
  • 可自定义的目标文件系统标签
    在可启动设备创建过程中,文件系统标签可以在创建模式(即 --device)下自定义,从而无需之后重命名。
  • 早期错误检测
    如果检测到任何问题,WoeUSB 将立即退出并帮助用户识别问题。

WoeUSB 的替代方案

在这里,我们将列出 WoeUSB 的所有已知类似替代方案或替代方案

WoeUSB Ubuntu

bootiso

  • 不支持 32 位 Windows 7/Vista/XP
  • 仅支持 FAT32
  • 支持 64 位 Windows 7 及更高版本
  • 用 Bash 指定
  • 仅限 Linux/GNU
  • 自由软件

Etcher

  • 不适用于 Windows ISO
  • 基于 Electron Web 技术
  • 跨平台
  • 自由软件

mkusb - 创建可启动驱动器的工具

  • 声称支持从 12 版开始准备 Windows 安装驱动器,但实现方式与 WoeUSB 的直接方法有些奇怪。
  • 支持准备可启动的 Linux+GNU 驱动器
  • 基于 GNU Bash 脚本,带 GUI(基于 Zenity)
  • 自由软件

MultiSystem

  • 自定义 GRUB 菜单和主题
  • 支持多重引导
  • 自由软件
  • 包含 PPA
  • 法国网站(软件是多语言的)

Rufus

  • 支持 NTFS 作为目标文件系统
  • 仅限 Windows
  • 基于 D 语言
  • 自由软件

WinToUsbLinux

  • 使用 FAT 文件系统,支持通过 Wimlib 将 4 GiB 源映像分割
  • Wimlib
  • 基于 Bash 脚本语言
  • 自由软件
  • Windows DVD/USB 下载工具
  • 自由软件
  • 仅限 Windows
  • 由 Microsoft 提供

WinUSB(原始分支)

  • 包含官方 PPA
  • 仅支持传统 PC 引导
  • 基于 WxWidgets 和 Bash
  • 仅限 Linux/GNU

WinUSB - 在不格式化的情况下制作 Windows 可启动 U 盘以实现多重引导

  • 与实际项目名称冲突
  • 支持创建模式(非格式化)
  • 支持 Ubuntu/Windows 存在于同一驱动器上
  • 支持多重引导
  • 免费软件
  • 仅限 Windows

WoeUSB 的缺点

以下是 WoeUSB 几个值得明确指出的已知缺点

  • FAT32 文件系统 4GiB 单个文件大小限制
    FAT32 文件系统中文件大小以 32 位整数值存储,范围为 0~4,294,967,295(4GiB-1)字节。因此,限制文件长度小于大约 4GiB。这导致源映像中带有 install.win 安装映像,该映像大于 4GiB,无法复制到任何目标文件系统。
    我们可以使用支持更大单个文件大小限制且受 Windows 安装程序支持的目标文件系统,这会将选择限制在 exFAT、NTFS 和其他文件系统,同时支持从传统 PC UEFI 和 BIOS 启动。
  • 解释器支持的缺点
    WoeUSB 需要先前 GNU Bash 版本中不可用的各种功能。

权限和许可

WoeUSB Ubuntu
  • 超级用户访问
    要获得以下某些权限,需要超级用户访问。如果将来开发了 Polkit,则可以取消此需求。
  • 挂载/卸载文件系统
    WoeUSB 应用此权限来挂载/卸载目标和源文件系统,以便在它们之间复制文件。
  • 清除磁盘上的分区表和/或文件系统签名
    WoeUSB 在创建方法(即 --device)中应用此权限,以确保旧签名不会导致 GNU GRUB 引导加载程序出现错误。
  • 在磁盘上建立分区
    WoeUSB 应用此权限来建立目标分区以及需要时的另一个分区。
  • 在磁盘上建立分区表
    WoeUSB 应用此权限在 --device 中建立分区表。

如何在 Ubuntu 上安装 WoeUSB?

安装 WoeUSB 非常简单明了。尽管如此,有一个缺点是该程序不再由原始创建者积极支持。这意味着我们无法从原始 GitHub 存储库下载或安装它。

尽管如此,社区中许多人仍然分叉了该应用程序并继续开发。因此,我们可以从它们的 PPA(包存档)获取它。

  • 我们将开始在我们的 Ubuntu 系统上安装 WoeUSB 工具。我们所要做的就是在终端窗口中执行一组命令。首先,从活动菜单打开终端,或者使用键盘上的Ctrl+Alt+T
  • 第一步是将 WoeUSB 存储库添加到我们的软件源中。可以通过在终端中执行以下命令来完成
    $ sudo add-apt-repository ppa:tomtomtom/woeusb
    WoeUSB Ubuntu
  • 接下来,我们将通过执行如下所示的命令来更新软件包信息
    $ sudo apt update
  • 现在,我们可以通过运行以下命令最终安装 WoeUSB 工具
    $ sudo apt install woeusb-frontend-wxgtk
    WoeUSB Ubuntu
  • 我们已成功安装 WoeUSB。

注意:如果我们想避免将 WoeUSB 的 PPA 添加到我们的存储库,我们也可以下载 .deb 包。