当前位置: 首页>>技术教程>>正文


我如何使用Ubuntu创建Windows可启动U盘?

, ,

问题描述

我想创建一个Windows 8可启动USB存储棒,但我没有一台Windows机器与我一起这样做。

那么,如何使用Ubuntu来做到这一点?

最佳解决方案

通过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

windows,usb-creator,ubuntu

Ubuntu EFI警告:

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

做手册re-install做:

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

次佳解决方案

任何Ubuntu版本

甚至其他Linux发行版,只要安装了GParted和GRUB。

在Ubuntu上安装GParted和GRUB:

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

对于BIOS:MBR分区方案

  1. 将分区表重写为msdos,并使用GParted将USB驱动器格式化为NTFS(然后将”Manage flags”添加到boot标志中)。

  2. 在GParted中,右键单击USB分区并选择信息。因为您需要将UUID复制到某处。

  3. 使用您最喜欢的文件管理器将所有文件从装载的Windows ISO或DVD复制到USB驱动器。

  4. 转到USB驱动器,如果名为boot的文件夹具有大写字符,请将其重命名为全部小写字母。

  5. 在USB上安装GRUB:

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

    把它写入文件中:

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

对于UEFI:GPT分区方案*

*较旧的Windows版本/版本可能不被正确支持或根本不被支持。我建议阅读Microsoft UEFI Firmware页面。

  1. 使用GParted将USB驱动器的分区表格改写为GPT。

  2. 创建一个新的主分区并将其格式化为FAT32。

  3. 将所有Windows文件(从挂载的ISO或DVD)复制到USB驱动器。

  4. 查看efi/boot/文件夹中的USB。如果有文件bootx64.efi(bootia32.efi),那么你就完成了。 USB是可引导的。跳到第7步。

  5. 否则,使用存档管理器打开sources/install.wim(您必须安装7z)并浏览至./1/Windows/Boot/EFI/。从这里提取bootmgfw.efi,将其重命名为bootx64.efi(或支持32位OS [?]的bootia32.efi),并将其放在efi/boot/文件夹的USB中。

  6. 如果您制作的是Windows 7 USB,请将boot文件夹从efi/microsoft/复制到efi文件夹。

  7. 不要忘记卸下(安全删除)USB驱动器。从BIOS中选择适当的EFI加载程序。


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

来源:我的博客文章可以在Make a bootable Windows USB from Linux找到。

说明

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

第三种解决方案

Ubuntu 14.04-17.10

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

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

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

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

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

这将安装WinUSB图形界面和WinUSB命令行工具。 WinUSB GUI比WinUSB命令行工具更容易使用。单击它所说的位置左侧的单选按钮从磁盘映像(ISO),浏览到Windows .iso文件的位置,在目标设备下选择USB闪存驱动器,打开磁盘应用程序并检查磁盘中的设备名称匹配WinUSB中的目标设备(它应该是/dev /sdX,其中X是字母表中的字母),然后单击安装按钮进行安装,以便在USB闪存驱动器上创建可启动的Windows安装介质。

windows,usb-creator,ubuntu

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

sudo update-grub
sudo grub-install /dev/sdX # replace X with the letter of the partition where grub is located
sudo update-grub
sudo reboot

第四种方案

The current UNetbootin boot chain is not compatible with UEFI and computers that come with a pre-installed copy 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. 上网安装所有上述内容,Windows ISO映像和超过4GB的USB memory 棒。

所以,首先备份你的USB棒的所有内容。一旦完成,请安装gparted和unetbootin:

sudo apt-get install gparted unetbootin

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

一旦完成,拔下并插入你的USB memory 棒,以便它被挂载(你也可以从同一个GParted中挂载它),现在再次执行Unetbootin,你可以在短划线中查看或在终端中输入。选择你想使用ISO,寻找你的ISO路径。

选中复选框查看所有设备,在这里您必须选择与您在Gparted中选择的设备完全相同的设备,否则您的数据可能会丢失。选择继续。等一下,然后完成。重新启动电脑并选择从USB启动。

第五种方案

在Non-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
    }
    

在我的博客Creating a bootable windows USB from Linux上查看完整答案

第六种方案

答案已经过时,WinUSB不再工作了。但是有一个名为WoeUSB的工作分支。

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

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

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

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

它不会卸载grub-efi了。

第七种方案

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

然而,没有winusb包装的俏皮。然而,您可以通过在此处下载并使用软件安装程序打开它来安装raring软件包。它与有趣的工作。

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

第八种方案

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

看起来很难找到一个可以在Windows上创建启动驱动器(U盘,存储卡…)的Linux工具,所以我将此功能添加到mkusb-nox,随后在此功能中创建了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: added feature: make USB install drive for Windows

mkusb/v7 – ubuntu help page

mkusb-nox可以创建一个Windows 7 – 10的USB启动棒,但是您必须应对命令行界面。

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

help.ubuntu.com/community/mkusb#Windows_USB_install_drive

mkusb-nox:

windows,usb-creator,ubuntu

dus与guidus别名mkusb版本12:

windows,usb-creator,ubuntu

windows,usb-creator,ubuntu

编辑2:

  • 一个新的改进版本mkusb 12.2.9现在可以通过标准(和稳定的)PPA获得。 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来在你的Ubuntu上安装WinUSB,遵循这些指令。

Okey,如果你来自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附带一个简单的图形用户界面,并提供最少的选项,以下是如何使用WinUSB从Ubuntu制作可启动的Windows USB。您可以使用任何Windows ISO可能用于XP,Windows 7,Windows 8,Windows 8.1或任何其他。

  1. 插入闪存驱动器和放大器获取您的Windows ISO(我使用Windows 10 Technical Preview)或插入Windows CD /DVD

  2. 启动WinUSB,没有其他任何事情需要解释。

  3. 选择您的来源,ISO或CD驱动器

  4. 选择您的目标(USB)设备。如果没有出现,请点击刷新并确保已安装。

  5. 点击“Install”并输入您的密码(需要安装设备并直接写入驱动器)

这就是您需要做的创建可启动的Windows USB Stick的全部内容

来源:How to install and use WinUSB in Ubuntu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/60.html,未经允许,请勿转载。