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

评论

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

您是否尝试过按照Windows 8教程中的有关如何刻录USB滴答声并使用Wine来运行这些指定的软件之一的方法?

好吧,这个家伙似乎在想别的...->从LINUX创建一个可启动的WINDOWS 7 USB驱动器(在UBUNTU上测试)

@MrSeed我已经尝试过本教程,还下载了旧版本的UNetbootin,但是问题在于旧版本依赖于Ubuntu 13.04不能使用的库,因为它太旧了。库可用,但该应用程序在安装后仍无法使用。

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

#1 楼

用WoeUSB(WinUSB分支)编写ISO
由于WinUSB不再起作用,因此有些答案已过时。但是有一个名为WoeUSB的工作叉。
Github:https://github.com/slacka/WoeUSB
安装
它不再卸载grub-efi!
☞Ubuntu / Debian
sudo add-apt-repository universe # contains the p7zip-full dependency
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb

☞Arch
pacaur -S woeusb-git

☞Fedora
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 --device /path/to/your.iso /dev/sdX


评论


工作完美。在Achlinux pacaur -S woeusb-git上

–dvim
17年8月18日在6:28

WoeUSB非常完美!而且,与WinUSB不同,它不需要将整个Web工具包都作为依赖项(仅在我的台式PC上编译Web工具包要花费几个小时)。

– davcri
17年10月31日在17:17

出现错误:目标设备当前正忙,请使用sudo umount / dev / sdb(或相应的设备)。 (“弹出” USB记忆棒无济于事,因为它不能完全消失,只能卸载分区。否则,错误将是:探测初始化失败:找不到媒体)

–弗兰克·诺克(Frank Nocke)
'18 Apr 1'在12:28

还使用Win10_1803_x64 iso在Fedora 28上工作。要安装:dnf install -y WoeUSB

– eddygeek
18年5月29日在7:14



如果看到错误“源图像中的文件已超过FAT32 Filesystem 4GiB单个文件大小限制”,则需要在命令行中添加--tgt-fs ntfs。

–亚当·丁格尔
19年1月26日在16:02

#2 楼


WinUSB是旧的,过时的和过时的。它可能在较新的系统上引起问题。您应该使用WineUSB或其他软件来代替WinUSB。
但是,出于历史目的,此答案按原样留在此处。

创建可启动的Windows USB(Vista及更高版本)从Ubuntu通过WinUSB软件。
Ubuntu 12.04至15.04
在终端上运行以下命令以从PPA安装WinUSB,
sudo add-apt-repository ppa:colingille/freshlight
sudo apt-get update
sudo apt-get install 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


评论


像sudo add-apt-repository“ deb http://ppa.launchpad.net/colingille/freshlight/ubuntu saucy main”之类的东西对于14.04会更好吗? apt-add-repository不仅用于PPA ...

–野生
2014年6月22日14:34



@empedokles 1.如果要制作Windows XP USB,请不要理会。它不适用于WinUSB。 2.要解决错误512,请阅读此内容。

– Cornelius
2014年11月13日15:54

@ThoVo阅读此答案:askubuntu.com/a/539803/269282

– Cornelius
15年7月19日在10:21

在15.10、16.04、16.10中不起作用

–牧场
17年2月10日在14:07

这篇文章已经过时,WinUsb已停产,但是WoeUsb维护得很好。还要看看这些答案(需要更多投票):askubuntu.com/a/928874/256359 askubuntu.com/a/489556/256359

– davcri
2017年12月5日19:37



#3 楼

只要安装了GParted和GRUB,任何Ubuntu版本甚至其他Linux发行版。
在Ubuntu上安装GParted,GRUB,7z和NTFS的方式如下:
sudo apt-get install gparted grub-pc-bin p7zip-full ntfs-3g

对于BIOS:MBR分区方案


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


在GParted中,右键单击USB分区,然后选择信息。将UUID复制到需要的位置。


安装Windows ISO或DVD,并将其所有文件复制到USB驱动器。


转到USB驱动器,如果名为boot的文件夹具有大写字母,请通过重命名使它们全部变为小写。


在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



在USB驱动器文件夹boot/grub/中创建一个名为grub.cfg的GRUB配置文件。
将其写入文件,将<UUID_from_step_2>替换为您在步骤2中复制的UUID。
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



卸载USB驱动器。


现在可以使用它,重新启动PC,然后从USB驱动器启动。


对于UEFI:GPT分区方案*
*可能未正确支持Windows的旧版本或根本不支持。我建议阅读Microsoft UEFI固件页面。

使用GParted,将USB驱动器的分区表重写为GPT。
创建一个新的主分区并将其格式化为FAT32。
挂载Windows ISO或DVD,并将其所有文件复制到USB驱动器。
efi/boot/文件夹中查看USB。如果有一个文件bootx64.efibootia32.efi),那么您就完成了。 USB是可启动的。跳到步骤7。
否则,使用存档管理器打开sources/install.wim(必须安装7z)并浏览到./1/Windows/Boot/EFI/。从此处解压缩bootmgfw.efi,将其重命名为bootx64.efi(或将bootia32.efi重命名为受支持的32位OS [?]),并将其放在USB的efi/boot/文件夹中。
如果要制作Windows 7 USB,请从以下位置复制boot文件夹: efi/microsoft/efi文件夹。
不要忘记卸载(安全卸下)USB驱动器。
从BIOS中选择正确的EFI加载器。可以在“从Linux制作可启动Windows USB”中找到。
注意
与兼容的目标操作系统一起正确使用时,这两种方法都可以为您提供可启动的USB驱动器。但是,这不能保证Windows的成功安装。

评论


@GuiImamura右键单击GParted中的分区,选择Manage Flags并选中启动旁边的复选框。

– Cornelius
2015年12月12日在18:46

EFI方法是用于Win10的方法。现在,您可以放心地跳过步骤4-6。

–伊万·阿尼舍克(Ivan Anishchuk)
16-3-21在5:48

在尝试了许多其他事情之后,这是唯一对我有用的方法。谢谢。

–壁虎
16年4月4日在13:20

我可以确认UEFI / GPT方法在Windows 10下无需步骤4-6就可以工作。

– josch
16-4-7在5:50



如果您遇到任何错误,请查看他的博客文章(在其答案的底部链接)以获取详细信息。解决某些错误情况的方法可能会很有用。

–特德
17年1月10日在19:24

#4 楼

Ubuntu 14.04和更高版本
WoeUSB是用于创建用于安装Windows的可启动USB闪存驱动器的工具。 Windows 7和更高版本的映像支持本机UEFI引导。 WoeUSB是WinUSB项目的更新分支。
一些第三方安装程序具有大于4GB的Windows安装映像(/sources/install.wim),使得FAT32无法用作目标文件系统。 NTFS文件系统支持已添加到WoeUSB 3.0.0及更高版本中。
安装
要在Ubuntu 14.04 / 16.04 / 17.10-20.04中安装WoeUSB(GUI + CLI):
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命令行工具管理包,请打开终端并输入:
 sudo snap install --edge woe-usb  
sudo snap connect woe-usb:removable-media
 

要启动woe-usb snap软件包命令行工具,请运行以下命令:
 /snap/bin/woe-usb.woeusb
 

如果遇到permission denied错误,请在Ubuntu Software的woe-usb屏幕上单击“权限”按钮,然后将权限选项从OFF切换为ON,如以下屏幕截图所示。

WoeUSB GUI比WoeUSB命令行工具更易于使用。单击显示从磁盘映像(iso)左侧的单选按钮,浏览到Windows .iso文件的位置,在“目标设备”下选择一个USB闪存驱动器,打开“磁盘”应用程序,然后检查“磁盘”中的设备名称与WoeUSB中的目标设备匹配(它应该类似于/ dev / sdX,其中X是字母),然后单击“安装”按钮进行安装,以在USB闪存驱动器上创建可引导的Windows安装介质。

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

评论


我必须去买更高质量的USB记忆棒才能正常工作。我想这不是WinUSB特有的问题。

–赛斯
17年1月10日14:02



$ sudo add-apt-repository ppa:nilarimogard / webupd8无法添加PPA:'ppa:〜nilarimogard / ubuntu / webupd8'。错误:“〜nilarimogard”用户或团队不存在。

–克里斯托弗·费雷伯
17年2月9日在16:59

它可以在我的计算机上使用。您应该看到一条消息:更多信息:https://launchpad.net/~nilarimogard/+archive/ubuntu/webupd8按[ENTER]继续,或按ctrl-c取消添加,看到此消息后,按Enter继续的关键。也许您有连接问题。

–卡雷尔
17年2月9日在21:50



确实,这并不能为OP如何执行的操作提供太多解释。遵循此答案中的步骤后,是否有可启动的USB?

–尖尖的
17年12月9日23:18

@ChangosMuertos dd对我不起作用,由于某种原因无法启动USB ...它非常易于使用,所以我怀疑我搞砸了

–阿什利
18年2月12日在19:10

#5 楼


当前的UNetbootin引导链与UEFI和预装有Windows 8副本的计算机不兼容。


您可以改用dd,但请注意以下事项:正在执行:

sudo dd if=/path/to/iso/windows.iso of=/dev/sdX bs=4M; sync



sdX替换为要使用的驱动器(在我的情况下为sdg):
这需要您的主板可以从CDROM-USB引导。

如果您仍要使用UNetbootin,则需要两(3)件事:


Unetbootin
Gparted
可以通过互联网访问上述所有内容,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引导。

评论


@gcb很奇怪,是Windows 8吗?

–脑袋
2013年12月27日在21:14

好点子。没有。这是Windows7专业版。我将与win8一起检查该CD是否具有sd / hdd格式。

– gcb
13年12月27日在21:24

我更喜欢您的答案(dd变体)而不是公认的答案,这仅仅是因为它不需要添加其他存储库甚至根本不需要安装任何软件(不需要unetbootin,只需使用dd)。

–双螺旋
15年5月24日在8:51

dd对我不起作用,计算机只是没有从笔式驱动器启动。如果要在ntfs格式的Pendrive上使用UNetbootin,则必须从命令行启动它:sudo unetbootin installtype = USB targetdrive = / dev / sdb1(sdb1是我的Pendrive的ntfs格式的分区,您的可能有所不同)。

–erik
15年11月22日在23:20

从serverfault的答案来看,dd方法经常会失败,因为它要求您的主板能够引导USB-CDROM,而不仅仅是USB-HDD。

–erik
15年11月22日在23:46

#6 楼

在非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”,将GRUB配置为引导Windows。 USB驱动器:

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



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

评论


无需安装。最简单的步骤。应该在接受答案之前尝试过

–阿努拉格
15年12月20日在7:06

grub-install命令需要以超级用户身份运行。仅缺少信息

–阿努拉格
2015年12月20日在7:07

这是最佳答案!!!

–丹尼尔·贝扎迪(Danial Behzadi)
16 Mar 19 '16 at 14:07

这与答案“任何Ubuntu版本... MBR分区方案”相同,但缺少grub-install的--target = i386-pc选项,并且不使用grub2搜索命令来查找“ root”从启动。也许不需要...

– David Tonhofer
16年8月15日在16:29



我认为明智的安装还需要其他东西,我没有i386-pc作为选择。

– teknopaul
17年8月9日在22:05

#7 楼

一种简单的“自己动手”方法
以下链接中介绍了一种相当简单的“自己动手”方法。您可以创建可在UEFI模式和BIOS模式下运行的Windows安装驱动器。


help.ubuntu.com/community/Installation/iso2usb


help.ubuntu.com/community/Installation/iso2usb/diy


help.ubuntu.com/community/Installation/iso2usb/diy/windows-installer-for-big- files
此方法也适用于Windows 10的[新]版本,其中存在文件install.win,文件大小> 4 GiB,因此从iso文件提取的FAT32文件系统无法管理它。在这种情况下,将有一个较小的FAT32分区和一个较大的NTFS分区。



这种“自己动手”的方法适合您

如果您的Windows iso文件包含install.win文件,文件大小大于4 GiB,或者
如果您不喜欢PPA,或者
如果您想“自己动手”并理解详细信息

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 Ubuntu

sudo add-apt-repository ppa:mkusb/ppa
sudo apt-get update
sudo apt-get install mkusb mkusb-plug

sudo apt-get install usb-pack-efi  # only for persistent live drives


mkusb 12.5.6-简要说明
mkusb-常规说明和手册
mkusb-plug-说明和手册

mkusb-nox和mkusb版本12(适用于32位系统的旧方法)
此“ mkusb”方法适合您

如果运行32位操作系统,并且其他方法存在提取文件被截断的问题
nt为Windows 7或8创建启动驱动器
,如果要为[较旧] Windows 10版本创建启动驱动器,则iso文件中的文件没有超过4 GiB。

很难找到可以在Windows上创建引导驱动器(USB记忆棒,存储卡...)的linux工具,因此我将此功能添加到了mkusb-nox中,后来又在使用此功能创建的mkusb版本12中添加了该功能。它适用于所有当前版本的Ubuntu(以及Ubuntu风格:Kubuntu,Lubuntu ... Xubuntu)以及Debian 8-10。创建的启动驱动器可以UEFI和BIOS模式启动64位Windows。

help.ubuntu.com/community/mkusb#Windows_USB_install_drive
具有guidus别名mkusb版本的dus 12:



评论


Mkusb-nox是我找到的最好的解决方案,尤其是因为此页面上引用Winusb的答案已过时,因为该程序不再受支持,并且在16.04中不可用,请保持良好的工作状态Sudodus。

– C.S. Cameron
16 Nov 16在1:21



杜斯为我工作。

– Alberto Salvia Novella
17年4月30日在18:34

感谢您的工作。仅供参考,来自Ubuntu 16.04,在过程结束时出现错误:Bootloader:grub-install:错误:/usr/lib/grub/i386-pc/modinfo.sh不存在。请指定--target或--directory。

–尖尖的
17年7月27日在19:04

...但是USB记忆棒似乎可以工作(我将Win 10安装在与用于制造USB记忆棒的计算机不同的计算机上。)

–尖尖的
17年7月27日在19:06

@Pointy,您是否在已安装的Ubuntu系统中以UEFI模式运行mkusb?在这种情况下,就会出现问题:除非删除了“竞争性”软件包grub-efi,否则无法安装程序软件包grub-pc。可以通过使用mkusb运行[持久]实时Ubuntu或基于Ubuntu的系统来解决。这样的系统可以在BIOS和UEFI模式下工作,并且grub-pc可以与软件包“ grub-efi”一起安装。请参阅此链接,help.ubuntu.com / community / mkusb /…

– sudodus
17年7月27日在19:21



#8 楼

我找到的唯一简单的方法就是从接受的答案中获取winusb。

但是,没有winusb软件包可用于维护安全性。但是,您可以通过在此处下载并使用软件安装程序将其打开来安装该raring软件包。它与saucy一起使用。

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

评论


现在可以在ppa:colingille / freshlight存储库中获得用于saucy的winusb

– Prasad RD
2013年12月8日6:46



#9 楼

您可以使用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带有一个简单的GUI,具有最小的功能选项,以下是如何使用WinUSB从Ubuntu创建可启动的Windows USB。您可以使用适用于XP,Windows 7,Windows 8,Windows 8.1或任何其他版本的任何Windows ISO。


插入闪存驱动器并获取Windows ISO(我使用Windows 10 Technical Preview )或插入Windows CD / DVD
,启动WinUSB,实际上不需要做任何其他说明。
选择您的源,ISO或CD驱动器。如果未出现,请单击“刷新”并确保已安装。
单击“安装”并输入密码(安装设备并直接写入驱动器时必须输入密码)

您需要创建可启动的Windows USB记忆棒

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

#10 楼

对于使用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使用您的路径做闪存驱动器。

#11 楼

为了完整起见,让我添加有关如何从ThinkPad的UEFI / BIOS更新ISO创建可引导USB磁盘的说明。上面的答案对我都不起作用。 (也许其他供应商也有类似的问题。)




使用geteltorito创建img文件



sudo apt install genisoimage
geteltorito <image>.iso -o <image>.img



将img文件写入磁盘。使用此确切的块大小很重要。



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




#12 楼

Windows2usb
Windows2usb是用于在Ubuntu中创建Windows 7/8 / 8.1 / 10 ISO的可启动USB闪存驱动器的完美解决方案。该工具支持BIOS和UEFI(具有Rufus驱动程序),FAT32和NTFS。
只需下载AppImage并使用文件管理器或在终端中输入以下命令,使其可执行即可:
chmod +x ./*.AppImage

然后按照以下说明作为您的要求。
BIOS引导
BIOS引导(传统引导/ UEFI-CSM)使用Windows 7 MBR和NTFS引导加载程序,均由ms-sys项目提供。 >如果您的计算机不支持UEFI,或者要最大程度地兼容安装介质,请使用此模式。
要在此模式下刻录ISO,请运行:
windows2usb <device> <windows iso> mbr

UEFI Boot
UEFI Boot (gpt模式)使用现有的Windows UEFI引导加载程序创建FAT32分区。
该模式不适用于旧计算机。对支持UEFI的新计算机使用此模式。
此模式支持UEFI安全启动。
要在此模式下刻录ISO,请运行:
windows2usb <device> <windows iso> gpt

带NTFS分区的UEFI引导
带有NTFS分区的UEFI引导使用Rufus项目中的uefi-ntfs引导加载程序。
此模式适用于自定义安装磁盘,其install.wim文件大于4 GiB,可以在各种torrent跟踪器中找到。 Windows2usb在此模式下创建2个分区,带有uefi-ntfs的1个MiB FAT32小分区和带有ISO数据的巨大NTFS分区。
此模式不支持安全启动(uefi-ntfs引导加载程序未由Microsoft或其他受信任方签名)。要在此模式下刻录ISO,请运行:
windows2usb <device> <windows iso> gptntfs

如果ISO包含的install.wim大于4 GiB,则gpt模式将自动检测到该情况并终止写入过程。

#13 楼

使用mkusb-plug安装Windows


安装mkusb:是否可以在Ubuntu live USB中安装mkusb?可在内部Ubuntu驱动器和Live Ubuntu USB上运行。


单击mkusb-plug图标启动,然后按以下步骤操作:



步骤1

步骤2

步骤3
[] 4]
步骤4

步骤5

步骤6

步骤7

步骤8
您现在应该准备好一个USB安装程序来感染您的USB具有Windows的计算机
https://help.ubuntu.com/community/mkusb#Windows_USB_install_drive

#14 楼



安装VirtualBox和在那里找到的VirtualBox扩展包。


下载要安装的Windows映像。


创建一个Windows虚拟机,并使用您下载的Windows ISO文件对其进行设置。


将其插入USB驱动器,并使用后者的Devices/USB菜单将其公开给VM。 br />

在VM中运行Microsoft的Media Creation Tool(如果从Windows访问它,则只会将其定向到正确的页面)。使用此工具可以创建可启动的Windows USB。


此方法的优点是它仅取决于Microsoft的工具,该工具可以为您进行配置。最新的Windows映像包含一个超出FAT32大小限制的文件,这使得手工创建可启动USB驱动器变得很痛苦。 Dell XPS的UEFI无法识别由WoeUSB创建的驱动器。