https://github.com/WoeUSB/WoeUSB
A Microsoft Windows® USB installation media preparer for GNU Linux
- Support Legacy PC/UEFI booting
- Support FAT32 and NTFS filesystems
- Support using physical installation disc or disk image as source
- Windows Vista and later
- Any language or edition variants
- Windows PE
NOTE: Non official installation media may be supported, but not guaranteed
The following are the dependencies that WoeUSB requires, in one way or another. Refer the wiki for distro-specific information.
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
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)
To be addressed. For now refer Run from source.
WoeUSB is a program that can be run without installation(excluding its dependencies):
- Download the program(woeusb-N.N.N.bash) from the Releases page
- Fix the missing executable file permission (
chmod x path/to/woeusb-N.N.N.bash
) - Launch a terminal application and run the program via the appropriate path(
sudo path/to/woeusb-N.N.N.bash --help
)
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 |
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/.
If the asset is in plaintext format:
- Check the
SPDX-License-Identifier
tag in the file's header - 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
- WoeUSB is a fork of Colin GILLE's WinUSB project, without standing on their shoulders WoeUSB will not exist in the first place
- We would like to thank @slacka for the maintenance of the WoeUSB project when it was hosted under their namespace, they have been extremely helpful and cooperative in many conversations that contributed in WoeUSB's improvement
- We would like to thank Pete Batard for their splendid work on the UEFI:NTFS UEFI bootloader, which is included in WoeUSB to enable the NTFS filesystem support
- Source code contributors on GitHub:
- Everyone who have contributed to WoeUSB in one way or another but we're unable to enumerate them due to our ignorance