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

我想创建一个Windows 8可启动的USB记忆棒,但我没有Windows机器这样做。

那么我该如何使用Ubuntu呢?

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

然而,这个答案是为了历史目的留在原处。

通过WinUSB软件从Ubuntu创建可启动的Windows USB(Vista及更高版本)。

Ubuntu 12.04到15.04

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

sudo add-apt-repository ppa:colingille/freshlight sudo apt-get update sudo apt-get install winusb 

WinUSB截图

Ubuntu EFI警告:

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

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

 sudo update-grub sudo grub-install /dev/sda sudo update-grub sudo reboot 

任何Ubuntu版本

甚至其他Linux发行版,只要安装了GPartedGRUB

使用以下命令在Ubuntu上安装GParted和GRUB:

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

对于BIOS:MBR分区方案

  1. 将分区表重写为msdos,并使用GParted将USB驱动器格式化为NTFS (然后“管理标志”并添加boot标志)。
  2. 在GParted中,右键单击USB分区并选择信息 。 根据需要将UUID复制到某处。
  3. 将所有Windows文件(从已安装的ISO或DVD)复制到USB驱动器。
  4. 转到USB驱动器,如果名为boot的文件夹具有大写字符,请通过重命名将它们全部设为小写。
  5. 在USB上安装GRUB:

     sudo grub-install --target=i386-pc --boot-directory="//boot" /dev/sdX 
  6. 在USB驱动器文件夹boot/grub/创建一个GRUB配置文件,名称为grub.cfg

    将其写入文件:

     echo "If you see this, you have successfully booted from USB :)" insmod ntfs insmod search_fs_uuid search --no-floppy --fs-uuid  --set root ntldr /bootmgr boot 
  7. 卸下USB驱动器并重新启动PC。 选择USB作为BIOS中的第一个引导设备并开始从中启动。

对于UEFI:GPT分区方案*

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

  1. 使用GParted将USB驱动器的分区表重写为GPT
  2. 创建一个新的主分区并将其格式化为FAT32
  3. 将所有Windows文件(从已安装的ISO或DVD)复制到USB驱动器。
  4. efi/boot/文件夹中查看USB。 如果有一个文件bootx64.efibootia32.efi ),那么你已经完成了。 USB可启动。 跳到第7步。
  5. 否则,使用Archive Manager打开sources/install.wim (必须安装7z )并浏览到./1/Windows/Boot/EFI/ 。 从这里解压缩bootmgfw.efi ,将其重命名为bootx64.efi (或bootia32.efi支持 32位操作系统[?])并将其放在efi/boot/文件夹中的USB上。
  6. 如果您正在制作Windows 7 USB,请将boot文件夹从efi/microsoft/复制到efi文件夹。
  7. 不要忘记卸下(安全移除)USB驱动器。 从BIOS中选择正确的EFI加载程序。

  • /dev/sdX是设备(例如/dev/sdb而不是 /dev/sdb1 )。

来源:我的博客文章可以在Linux上制作可启动的Windows USB 。

注意

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

Ubuntu 14.04及更高版本

WinUSB是一个用于创建用于安装Windows的可启动USB闪存驱动器的工具。 4GB或更大的USB闪存驱动器具有足够的容量来为Windows 10版本的Windows版本安装介质.Windows 7及更高版本的映像支持本机UEFI启动(仅限FAT文件系统作为目标设备)。 WoeUSB是WinUSB项目的更新分支。

在Ubuntu 14.04 / 16.04 / 17.10 / 18.04 / 18.10中安装WoeUSB (WinUSB项目的更新分支):

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

在Ubuntu 14.04 / 16.04 / 16.10 / 17.04中安装WinUSB:

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

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

WinUSB GUI比WinUSB命令行工具更容易使用。 要在NTFS分区上安装Windows ISO并使用WinUSB和WoeUSB命令行工具编辑设备的主引导记录(MBR),请运行以下命令:单击左侧的单选按钮从磁盘映像(iso) ) ,浏览到Windows .iso文件的位置,在目标设备下选择一个USB闪存驱动器,打开磁盘应用程序并检查磁盘中的设备名称是否与WinUSB中的目标设备匹配(它应该类似于/ dev / sd X其中X是字母表中的字母),然后单击“ 安装”按钮进行安装以在USB闪存驱动器上创建可引导的Windows安装介质。

在此处输入图像描述

在加载EFI的Ubuntu上安装WinUSB将卸载grub-efi软件包以安装grub-pc软件包,因此在重新启动之前运行以下命令来修复grub:

  sudo update-grub
 sudo grub-install / dev / sd X #将gr替换为grub所在分区的字母
 sudo update-grub
 sudo重启 

当前的UNetbootin启动链与UEFI和预装了Windows 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. 上网所有安装的Internet访问,Windows ISO映像和超过4GB的USB记忆棒。

所以,首先, 备份你的usb棒的所有内容 。 完成后,安装gparted和unetbootin:

 sudo apt-get install gparted unetbootin 

现在在Dash中查找gparted或在终端中输入gparted 。 从右侧下拉列表中选择您的USB记忆棒。 在我的情况下,它是/dev/sdg ,你的可能会有所不同。 删除所有分区并使用Gparted创建一个大的FAT32分区。

完成后,拔下并插上USB记忆棒,使其挂载(您也可以从同一台GParted上安装),现在再次执行Unetbootin,您可以查看破折号或输入终端。 选择要使用iso,查找ISO的路径。

选中复选框以查看所有设备,此处您必须选择在Gparted中选择的设备, 否则您的数据可能会丢失 。 选择继续。 等一会儿完成。 重新启动电脑,然后选择从USB启动。

答案已经过时,WinUSB不再工作了。 但是有一个叫做WoeUSB的工作分叉。

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

安装

Ubuntu / Debian

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

 pacaur -S woeusb-git 

Fedora的

 dnf install -y WoeUSB 

编写ISO

安装完成后,使用该命令编写windows ISO:

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

(将/dev/sdXX替换为与USB对应的字母。您可以在程序磁盘中找到正确的字母。)

不再卸载 grub-efi。

在非UEFI机器中,我们可以使用GRUB2使USB棒可引导。 然后,我们可以在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.cfg”放入USB驱动器,将GRUB配置为启动Windows:

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

请参阅我的博客中的完整答案。 从Linux创建可启动的Windows USB

mkusb-nox和mkusb版本12可以创建Windows安装驱动器

似乎很难找到可以用Windows创建启动驱动器(USB记忆棒,存储卡……)的linux工具,因此我将此function添加到mkusb-nox以及稍后使用此function创建的mkusb版本12 。 它适用于所有当前版本的Ubuntu(和Ubuntu风格:Kubuntu,Lubuntu …… Xubuntu)和Debian Jessie。 创建的启动驱动器可以在UEFI和BIOS模式下启动64位Windows。

您可以通过以下命令从mkusb PPA获取/更新此新版本的mkusb和mkusb-nox

 sudo add-apt-repository universe # this line only for standard Ubuntu sudo add-apt-repository ppa:mkusb/ppa sudo apt-get update sudo apt-get install mkusb mkusb-nox sudo apt-get install usb-pack-efi # only for persistent live drives 

看到这些链接,

mkusb-nox 11.1.2:添加function:为Windows安装USB安装驱动器

mkusb / v7 – ubuntu帮助页面

mkusb-nox可以使用Windows 7 – 10创建USB启动棒,但您必须处理命令行界面。

编辑1: 新增: mkusb版本12 ,新版本为同一方法提供了图形用户界面。 看到这些链接,

help.ubuntu.com/community/mkusb#Windows_USB_install_drive

mkusb硝: 用户对话的屏幕截图

dus与guidus别名mkusb版本12: 在此处输入图像描述 在此处输入图像描述

编辑2:

  • 现在可以通过标准(和稳定的)PPA获得新的改进版本mkusb 12.2.9

     sudo add-apt-repository universe # this line only for standard Ubuntu sudo add-apt-repository ppa:mkusb/ppa sudo apt-get update sudo apt-get install mkusb mkusb-nox sudo apt-get install usb-pack-efi # only for persistent live drives 
    • 它也可以从在UEFI模式下运行的已安装系统安装到BIOS模式。

    • 一些轻微但刺激性的虫子被压扁了。

    • 使用我能够下载的iso文件,我可以创建这些类型的Windows安装驱动器

      • 在BIOS模式下启动的Windows 7安装程序
      • 在UEFI模式和BIOS模式下引导的Windows 8.1安装程序
      • 在UEFI模式和BIOS模式下启动的Windows 10安装程序

一个简单的“自己动手”的方法

接受答案的winusb是我找到的唯一简单方法。

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

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

你可以使用WinUSB在你的Ubuntu上按照这些指令安装WinUSB。

哦,如果你来自Ubuntu 13.10,13.04,12.10,12.04,那么在终端运行:

 sudo add-apt-repository ppa:colingille/freshlight sudo apt-get update sudo apt-get install winusb 

如果您来自Ubuntu 14.04,那么在终端中运行:

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

WinUSB带有一个简单的GUI,只需要很少的选项,下面是如何使用WinUSB从Ubuntu制作可启动的Windows USB。 您可以使用任何Windows ISO可能适用于XP,Windows 7,Windows 8,Windows 8.1或任何其他。

  1. 插入Flash Drive并获取Windows ISO(我使用的是Windows 10技术预览版)或插入Windows CD / DVD
  2. 启动WinUSB,其他任何事情都不需要解释。
  3. 选择您的来源,ISO或CD驱动器
  4. 选择目标(USB)设备。 如果没有出现,请点击刷新并确保已挂载。
  5. 单击“安装”并输入您的密码(安装设备并直接写入驱动器所需)

这就是创建可启动Windows USB Stick所需的全部操作

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

为了完整起见,让我添加有关如何从ThinkPad的UEFI / BIOS更新ISO创建可启动USB磁盘的说明。 上述答案都不适合我。 (也许与其他供应商存在类似的问题。)

  1. 使用geteltorito创建一个img文件

     sudo apt install genisoimage geteltorito .iso -o .img 
  2. 将img文件写入磁盘。 使用这个精确的块大小很重要。

     sudo dd if=.img of=/dev/sdX bs=512K && sync