Skip to content

WoeUSB/WoeUSB

Repository files navigation

WoeUSB

https://github.com/WoeUSB/WoeUSB

A Microsoft Windows® USB installation media preparer for GNU+Linux

Continuous Integration(CI) Status Badge REUSE status

WoeUSB logo

Features

  • Support Legacy PC/UEFI booting
  • Support FAT32 and NTFS filesystems
  • Support using physical installation disc or disk image as source

Supported Windows® installation images

  • Windows Vista and later
  • Any language or edition variants
  • Windows PE

NOTE: Non official installation media may be supported, but not guaranteed

Dependencies

The following are the dependencies that WoeUSB requires, in one way or another. Refer the wiki for distro-specific information.

Required

WoeUSB will not be able to function without these software installed in their proper locations:

  • GNU Bash
    For interpreting and executing the program logic
    Requires >= 4.3
  • The GNU Core Utilities(Coreutils)
    For common Unix utilities necessary for basic operations
  • util-linux
    For low-level utilities interacting with storage devices, etc
  • GNU Grep and Gawk
    For parsing necessary information out from a command output
  • The GNU Find Utilities
    For enumerating files required for operation
  • GNU GRUB
    For installing the bootstrap code used in a Legacy PC boot
    We specifically requires modules of the i386-pc architecture, for Debian-based distributions these are provided via the grub-pc-bin package
  • GNU Parted
    For manipulating disk partition table and partitions
  • GNU Wget
    For acquiring Pete Batard's UEFI:NTFS UEFI bootloader
  • dosfstools
    For creating FAT filesystem in --device creation method
  • NTFS-3G
    For creating NTFS filesystem in --device creation method
  • wimlib
    For splitting install.wim Windows Imaging (WIM) archive so that archives over 4GiB can be fit in an FAT32 filesystem

Optional

Without the following dependencies WoeUSB will still able to run, but some functionalities will be unavailable:

  • p7zip
    For workaround the problem where the Windows 7 installation media doesn't ship their UEFI bootloader in the proper location
  • Pete Batard's UEFI:NTFS UEFI bootloader
    For supporting NTFS filesystems in the target USB key
  • GNU gettext
    For supporting message internationalization(I18N)

Installation

To be addressed. For now refer Run from source.

Run from source

WoeUSB is a program that can be run without installation(excluding its dependencies):

  1. Download the program(woeusb-N.N.N.bash) from the Releases page
  2. Fix the missing executable file permission (chmod +x path/to/woeusb-N.N.N.bash)
  3. Launch a terminal application and run the program via the appropriate path(sudo path/to/woeusb-N.N.N.bash --help)

Usage

Environment variables

The following are the environment variables that may change WoeUSB's runtime behavior:

Variable name Usage
RUFUS_UEFI_NTFS_VERSION The release tag/revision of the Rufus source tree to fetch the UEFI:NTFS image from, will use a tested version by default

License

WoeUSB is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

WoeUSB is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with WoeUSB. If not, see http://www.gnu.org/licenses/.

Identify otherwise specified licenses applicable to a certain product/development asset

If the asset is in plaintext format:

  1. Check the SPDX-License-Identifier tag in the file's header
  2. Check the .reuse/dep5 file from the source tree/release tree directory

If the asset is not in plaintext format:

Check the .reuse/dep5 file from the source tree/release tree directory

Credits