如何使用Ubuntu创建Windows可启动USB记忆棒?

我想创建一个Windows可启动USB记忆棒,但我目前没有Windows机器。 如何使用Ubuntu实现相同的目标?

WinUSB是旧的,过时的,过时的。 它可能会在较新的系统上导致问题。 您应该使用WineUSB或其他软件代替WinUSB。

然而,这个答案是出于历史目的而留在这里的。

通过从Ubuntu创建可启动的Windows USB(Vista及以上) WinUSB的 软件。

Ubuntu12.04到15.04

在终端上运行以下命令以从 PPA,

sudo add-apt-repository ppa:colingille/freshlightsudo apt-get updatesudo apt-get install winusb

WinUSB screenshot

Ubuntu EFI的警告:

在加载Ubuntu的Efi上安装WinUSB将卸载grub-efi软件包,以便安装grub-pc软件包。 如果您在重新启动之前不手动重新安装grub-efi软件包,它将使您的系统无法启动。

要手动重新安装,请执行以下操作:

sudo update-grubsudo grub-install /dev/sdasudo update-grubsudo reboot

任何Ubuntu版本

甚至其他Linux发行版只要 GPartedN.食物,食物 已安装。

在Ubuntu上安装GParted,GRUB,7Z和NTFS:

sudo apt-get install gparted grub-pc-bin p7zip-full ntfs-3g

对于BIOS:MBR分区方案

  1. 使用GParted,将USB驱动器的分区表重写为 msdos,将其格式化为 NTFS,然后"管理标志"并添加 boot 国旗。

  2. 在GParted中,右键单击USB分区并选择 资料. 将UUID复制到您需要的地方。

  3. 挂载Windows ISO或DVD并将其所有文件复制到USB驱动器。

  4. 转到USB驱动器,如果文件夹命名 boot 具有大写字符,通过重命名使它们全部小写。

  5. 在USB驱动器上安装GRUB。

    在下面的命令中,替换 /dev/sdX 与设备(例如 /dev/sdb, 不是 /dev/sdb1)和替换 <USB_mount_folder> 与您安装USB驱动器的文件夹(可能是这样的 /media/<username>/<UUID>).

    sudo grub-install --target=i386-pc --boot-directory="/<USB_mount_folder>/boot" /dev/sdX
  6. 在USB驱动器文件夹中创建GRUB配置文件 boot/grub/ 带着名字 grub.cfg.

    将此写入文件,替换 <UUID_from_step_2> 使用您在步骤2中复制下来的UUID。

    echo "If you see this, you have successfully booted from USB :)"insmod ntfsinsmod search_fs_uuidsearch --no-floppy --fs-uuid <UUID_from_step_2> --set rootntldr /bootmgrboot
  7. 卸载USB驱动器。

  8. 现在要使用它,请重新启动PC,然后从USB驱动器启动。

对于UEFI:GPT分区方案 *

*较旧的Windows版本/版本可能无法正常支持或根本不支持。 我建议阅读 Microsoft UEFI固件 页。

  1. 使用GParted,将USB驱动器的分区表重写为 政府资讯科技总监.
  2. 创建一个新的主分区并将其格式化为 脂肪32.
  3. 挂载Windows ISO或DVD并将其所有文件复制到USB驱动器。
  4. 看看USB在 efi/boot/ 文件夹。 如果有文件 bootx64.efi (bootia32.efi)那你就完了。 USB是可启动的。 跳到步骤7。
  5. 否则,打开 sources/install.wim 与存档管理器(你必须有 7z 已安装)并浏览至 ./1/Windows/Boot/EFI/. 从这里提取 bootmgfw.efi 某处,将其重命名为 bootx64.efi (或 bootia32.efi支持 32位OS[?])并将其放在USB in efi/boot/ 文件夹。
  6. 如果您正在制作Windows7USB,请复制 boot 文件夹从 efi/microsoft/efi 文件夹。
  7. 不要忘记卸载(安全删除)USB驱动器。
  8. 从BIOS中选择适当的EFI加载程序。

资料来源: 我的博客文章可以在 从Linux制作可启动的Windows USB.

注意事项

当与兼容的目标操作系统正确使用时,这两种方法都应该为您提供可启动的USB驱动器。 但是,这并不能保证成功安装Windows。

用WoeUSB写ISOs(WinUSB叉)

有些答案已经过时了,因为WinUSB不再工作了。 但是有一个工作叉子叫 WoeUSB.

Github: https://github.com/WoeUSB/WoeUSB

TLDR:

sudo woeusb --target-filesystem NTFS --device /path/to/your.iso /dev/sdX

安装工程

确实如此 未卸载 grub-efi了!

☞Ubuntu/Debian

sudo add-apt-repository universe # contains the p7zip-full dependencysudo add-apt-repository ppa:nilarimogard/webupd8sudo apt updatesudo apt install woeusb

您拱门

pacaur -S woeusb

☞软呢帽

dnf install -y WoeUSB

☞OpenSUSE

zypper install WoeUSB

识别USB记忆棒(/dev/sdX路径)

GUI方法

搜索名为的程序 磁盘,或者如果你使用gnome,你可以通过执行启动它 gnome-disks.

命令行方法

有几个命令可用于列出存储设备。 你可以试试其中的一个:

sudo lsblk --scsi --paths sudo lshw -class disk -short

识别您的usb设备并查看它的路径(如/dev/sdX)。

编写ISO

安装后,使用以下命令将windows ISO写入存储设备。 在下面的命令中 将/dev/sdX中的X替换为usb设备路径 (见上文如何找到它)。

sudo woeusb --target-filesystem NTFS --device /path/to/your.iso /dev/sdX

--target-filesystem NTFS 如果安装映像大于4gb,则需要flag,这是当前Windows10官方ISO文件的情况。

WoeUSB是用于创建用于安装Windows的可启动USB闪存驱动器的工具。 Windows7和更高版本的映像支持本机UEFI引导。 WoeUSB是WinUSB项目的更新分支。

某些第三方安装程序具有Windows安装映像(/sources/install.wim)大于4GB,使FAT32作为目标文件系统变得不可能。 NTFS文件系统支持已添加到WoeUSB3.0.0及更高版本。

WoeUSB(GUI+CLI)安装

Ubuntu18.04及更高版本

  1. 浏览 Woeusb GitHub页面 并查找格式为woeusb-x.x.x.bash的文件(例如:woeusb-5.2.2。bash)。

  2. 下载woeusb-x.x.x.bash(示例: wget https://github.com/WoeUSB/WoeUSB/releases/download/v5.2.2/woeusb-5.2.2.bash 但最新版本可能与5.2.2不同)。

  3. 右键单击下载的woeusb-x.x.x.bash文件,选择 物业,并在 权限 tab在复选框中放一个检查,然后在它说的地方 允许以程序形式执行文件.

  4. 打开终端和更改位置与 cd 到包含woeusb-x.x.x.bash的目录。

  5. 安装wimtools。

    sudo apt install wimtools
  6. 插入USB闪存驱动器。 如果USB闪存驱动器上有任何文件,请将它们备份到其他设备。 打开磁盘应用程序并记下稍后在步骤7中使用的设备。 该设备应具有的形式 /dev/sdX 哪里 X 是字母表中的一个字母,在步骤7中,您必须替换 X 用你在磁盘上找到的字母表的正确字母。

  7. 运行woeusb-x.x.x.bash脚本。

    sudo ./woeusb-x.x.x.bash --target-filesystem NTFS --device Windows10.iso /dev/sdX #适用于视窗10

    sudo ./woeusb-x.x.x.bash --target-filesystem NTFS --device Windows11.iso /dev/sdX #适用于视窗11

    其他版本的Windows的命令具有与上述两个命令类似的形式。

带有Windows installer的USB驱动器在UEFI模式或BIOS模式下启动。

  • UEFI模式(也在启用安全启动的情况下启动)

  • BIOS模式(可称为CSM或遗留模式)

Ubuntu14.04-18.04

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

这将安装WoeUSB图形界面和woeusb命令行工具。 WoeUSB支持FAT32/NTFS/ExFAT USB闪存驱动器的UEFI和BIOS。

要在所有当前支持的Ubuntu版本中安装WoeUSB命令行工具snap包,请打开终端并键入:

sudo snap install --edge woe-usb  sudo snap connect woe-usb:removable-media

要启动woe-usb snap package命令行工具,请运行以下命令:

/snap/bin/woe-usb.woeusb

如果你得到一个 permission denied 错误点击 权限 按钮上的 祸-usb 屏幕在Ubuntu软件和切换权限选项从关闭到打开,如下面的截图所示。

woe-usb Permissions

WoeUSB GUI比woeusb命令行工具更容易使用。 点击它所说的左边的单选按钮 从磁盘映像(iso),浏览到窗口的位置。iso文件,下 目标设备 选择一个USB闪存驱动器,打开磁盘应用程序,并检查磁盘中的设备名称是否与WoeUSB中的目标设备匹配(它应该是类似/dev/sd的东西X 哪里 X 是字母表中的一个字母),然后单击 安装/安装 要安装的按钮可在USB闪存驱动器上创建可启动的Windows安装介质。

enter image description here

来自Ubuntu的Windows USB驱动器反复失败
WoeUSB问题

当前的UNetbootin引导链是 与UEFI不兼容 和带有预安装副本的计算机 视窗8

您可以使用 dd 相反,当你在做什么时要小心:

sudo dd if=/path/to/iso/windows.iso of=/dev/sdX bs=4M; sync
  • 更换/更换 sdX 与您要使用的驱动器(在我的情况下, sdg):
  • 这要求您的主板能够从CDROM-USB启动。

如果你还想使用UNetbootin,你需要2(3)件东西:

  1. Unetbootin脱脩脟茅脕麓陆脱
  2. Gparted
  3. 互联网接入安装上述所有,Windows ISO映像和超过4GB的USB记忆棒。

所以,首先, 备份您的usb记忆棒的所有内容. 一旦完成,安装gparted和unetbootin:

sudo apt-get install gparted unetbootin

现在在破折号或类型中查找gparted gparted 在终端。 从右侧下拉列表中选择您的USB记忆棒。 就我而言,这是 /dev/sdg,你的可能会有所不同。 删除所有分区并使用Gparted创建一个大的FAT32分区。

一旦完成,拔下并插入您的USB记忆棒,以便它被安装(您也可以从同一个GParted安装它),现在执行Unetbootin,再次,您可以查看破折号或在终端中键入。 选择要使用iso,查找ISO的路径。

标记复选框以查看所有设备,在这里您必须选择您在Gparted中选择的相同设备, 否则您的数据可能会丢失. 选择继续。 等待片刻,并完成。 重新启动pc并选择从USB启动。

在非UEFI机器中,我们可以使用GRUB2使U盘可启动。然后,我们可以在GRUB2中使用'ntldr'命令从USB启动Windows。

  • 在USB驱动器的目标分区上启用引导标志。 使用名为"GParted"的工具可以轻松完成。 它是一个用于驱动器分区的GUI工具。
  • 如果安装映像是ISO文件,请将其挂载并访问文件。
  • 将所有文件复制到USB驱动器的根目录。
  • 将GRUB安装到USB驱动器:

    sudo grub-install --boot-directory="/media/user/MyUSBDrive/boot" /dev/sdX
  • 通过将以下文件放置为"/boot/grub/grub",将GRUB配置为引导Windows。cfg"在USB驱动器:

    set menu_color_normal=white/blackset menu_color_highlight=black/light-graymenuentry 'Install Windows 8' { ntldr /bootmgr}

在我的博客上看到完整的答案从Linux创建可启动的windows USB

一个简单的"自己动手"方法

在以下链接中描述了一个相当简单的"自己动手"方法. 您可以创建在UEFI模式和BIOS模式下工作的Windows安装驱动器,


这种"自己动手"的方法适合你

  • 如果您有包含文件的Windows iso文件, install.wim,与大小>4GiB,或
  • 如果你不喜欢PPAs,或者
  • 如果你想'自己动手'并了解细节

mkusb版本12.5.6及更新版本

这种"自己动手"的方法是在 mkusb-tow 并通过mkusb版本12.5.6(mkusb-dus)和mkusb-plug提供。

您可以通过以下命令从mkusb PPA获取/更新这个新版本的mkusb

sudo add-apt-repository universe  # this line only for standard Ubuntusudo add-apt-repository ppa:mkusb/ppasudo apt-get updatesudo apt-get install mkusb mkusb-plugsudo apt-get install usb-pack-efi  # only for persistent live drives

mkusb-nox和mkusb版本12(32位系统的旧方法)

这个'mkusb'方法适合你

  • 如果您运行的是32位操作系统,并且其他方法存在解压缩文件被截断的问题
  • 如果要为Windows7或8创建启动驱动器
  • 如果要为[旧版]Windows10版本创建启动驱动器,其中iso文件中的任何文件都不超过4GiB。

这是很难找到一个linux工具,可以创建启动驱动器(usb记忆棒,存储卡。..)与Windows,所以我将此功能添加到 mkusb-nox 后来创造了 mkusb版本12 有了这个功能。 它适用于所有当前版本的Ubuntu(和Ubuntu):Kubuntu,Lubuntu。.. Xubuntu)和Debian8-10。 创建的启动驱动器可以在UEFI和BIOS模式下启动64位Windows。

dus与guidus别名mkusb版本12:enter image description hereenter image description here

winusb从接受的答案是我发现的唯一简单的方法。

但是,saucy没有winusb软件包。 但是,您可以通过在此处下载并使用软件安装程序打开来安装raring软件包。 它适用于俏皮。

http://ppa.launchpad.net/colingille/freshlight/ubuntu/pool/main/w/winusb/

您可以使用WinUSB在Ubuntu上安装WinUSB,请按照以下说明进行操作。

好吧,如果你是从Ubuntu13.10,13.04,12.10,12.04,然后在终端运行这个:

sudo add-apt-repository ppa:colingille/freshlightsudo apt-get updatesudo apt-get install winusb

如果你是从Ubuntu14.04然后在终端运行此:

sudo add-apt-repository ppa:colingille/freshlightsudo sh -c "sed -i 's/trusty/saucy/g' /etc/apt/sources.list.d/colingille-freshlight-trusty.list"sudo apt-get updatesudo apt-get install winusb

WinUSB带有一个简单的GUI,带有最少的选项,这里是如何使用WinUSB从Ubuntu制作可启动的Windows USB。 您可以使用任何WINDOWS ISO可能是XP,Windows7,Windows8,Windows8.1或任何其他。

  1. 插入闪存驱动器&功放;让你的Windows ISO(我用的是Windows10技术预览版)或插入Windows CD/DVD
  2. 启动WinUSB和,没有别的真的需要解释。
  3. 选择您的来源,ISO或CD驱动器
  4. 选择您的目标(USB)设备。 如果它没有出现,请点击刷新并确保它已安装。
  5. 点击"安装"并输入您的密码(需要安装设备并直接写入驱动器)

这是所有你需要做的创建一个可启动的Windows USB记忆棒

资料来源 : 如何在Ubuntu中安装和使用WinUSB

对于任何一个使用woeUsb获取文件限制异常,请使用终端命令

sudo woeusb --device /home/uName/Downloads/Win10_1809Oct_English_x64.iso /dev/sdb --target-filesystem NTFS

而不是 /home/uName/Downloads/Win10_1809Oct_English_x64.iso 使用iso文件的路径和

而不是 /dev/sdb 使用您的路径做闪存驱动器。

Psicofrenia"UNetbootin允许您为Ubuntu,Fedora和其他Linux发行版创建可启动的实时USB驱动器,而无需刻录CD。",而且我已经尝试使用它,发现UNetbootin真的不能用于创建Windows可启动usb记忆棒。

@MrSeed我试过这个教程,也下载了旧版本的UNetbootin,但问题是旧版本依赖于一个库,该库不适用于Ubuntu13.04,因为它太旧了,顺便说一下,最新版本的库可用,但该应用程序

您是否尝试过遵循任何Windows8教程如何刻录USB蜱和使用葡萄酒使那些指示的软件之一运行?

这家伙似乎不这么想。… -->[从LINUX创建可启动的WINDOWS7USB驱动器(在UBUNTU上测试)](http://www.webupd8.org/2010/10/create-bootable-windows-7-usb-drive.html)

看看http://askubuntu.com/questions/381953/how-to-install-winusb

相关问题:[如何创建仅限UEFI的可启动USB live媒体?](boot - How to create UEFI-only bootable USB live media? - Ask Ubuntu’。efi的二进制文件。

最近我发布了这个answer,希望有帮助。

如果您更喜欢命令行,请阅读[serverfault的答案](How to make Windows 7 USB flash install media from Linux? - Server Fault)。

@Psicofrenia,我已经尝试过自己(wine+USB creator for Windows),但我无法使其工作。 老实说,我没有探索太多这种可能性,也许它有效,但它不是直接和直观的。 老实说,Wine似乎不喜欢使用外部设备。