我想创建一个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
Ubuntu EFI的警告:
在加载Ubuntu的Efi上安装WinUSB将卸载grub-efi软件包,以便安装grub-pc软件包。 如果您在重新启动之前不手动重新安装grub-efi软件包,它将使您的系统无法启动。
要手动重新安装,请执行以下操作:
sudo update-grubsudo grub-install /dev/sdasudo update-grubsudo reboot
任何Ubuntu版本
甚至其他Linux发行版只要 GParted 和 N.食物,食物 已安装。
在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驱动器文件夹中创建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
卸载USB驱动器。
现在要使用它,请重新启动PC,然后从USB驱动器启动。
对于UEFI:GPT分区方案 *
*较旧的Windows版本/版本可能无法正常支持或根本不支持。 我建议阅读 Microsoft UEFI固件 页。
- 使用GParted,将USB驱动器的分区表重写为 政府资讯科技总监.
- 创建一个新的主分区并将其格式化为 脂肪32.
- 挂载Windows ISO或DVD并将其所有文件复制到USB驱动器。
- 看看USB在
efi/boot/
文件夹。 如果有文件bootx64.efi
(bootia32.efi
)那你就完了。 USB是可启动的。 跳到步骤7。 - 否则,打开
sources/install.wim
与存档管理器(你必须有7z
已安装)并浏览至./1/Windows/Boot/EFI/
. 从这里提取bootmgfw.efi
某处,将其重命名为bootx64.efi
(或bootia32.efi
为 支持 32位OS[?])并将其放在USB inefi/boot/
文件夹。 - 如果您正在制作Windows7USB,请复制
boot
文件夹从efi/microsoft/
到efi
文件夹。 - 不要忘记卸载(安全删除)USB驱动器。
- 从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及更高版本
浏览 Woeusb GitHub页面 并查找格式为woeusb-x.x.x.bash的文件(例如:woeusb-5.2.2。bash)。
下载woeusb-x.x.x.bash(示例:
wget https://github.com/WoeUSB/WoeUSB/releases/download/v5.2.2/woeusb-5.2.2.bash
但最新版本可能与5.2.2不同)。右键单击下载的woeusb-x.x.x.bash文件,选择 物业,并在 权限 tab在复选框中放一个检查,然后在它说的地方 允许以程序形式执行文件.
打开终端和更改位置与
cd
到包含woeusb-x.x.x.bash的目录。-
安装wimtools。
sudo apt install wimtools
插入USB闪存驱动器。 如果USB闪存驱动器上有任何文件,请将它们备份到其他设备。 打开磁盘应用程序并记下稍后在步骤7中使用的设备。 该设备应具有的形式
/dev/sdX
哪里X
是字母表中的一个字母,在步骤7中,您必须替换X
用你在磁盘上找到的字母表的正确字母。-
运行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软件和切换权限选项从关闭到打开,如下面的截图所示。
WoeUSB GUI比woeusb命令行工具更容易使用。 点击它所说的左边的单选按钮 从磁盘映像(iso),浏览到窗口的位置。iso文件,下 目标设备 选择一个USB闪存驱动器,打开磁盘应用程序,并检查磁盘中的设备名称是否与WoeUSB中的目标设备匹配(它应该是类似/dev/sd的东西X 哪里 X 是字母表中的一个字母),然后单击 安装/安装 要安装的按钮可在USB闪存驱动器上创建可启动的Windows安装介质。
当前的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)件东西:
- Unetbootin脱脩脟茅脕麓陆脱
- Gparted
- 互联网接入安装上述所有,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安装驱动器,
-
help.ubuntu.com/community/Installation/iso2usb/diy/windows-installer-for-big-files
此方法也适用于Windows10的[新]版本,其中有一个文件,
install.wim
,与大小>4GiB,使FAT32文件系统无法管理它,当从iso文件中提取。 在这种情况下,会有一个小的FAT32分区和一个更大的NTFS分区。 它是与windows11的早期版本进行测试,并在那里工作了。
这种"自己动手"的方法适合你
- 如果您有包含文件的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。
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或任何其他。
- 插入闪存驱动器&功放;让你的Windows ISO(我用的是Windows10技术预览版)或插入Windows CD/DVD
- 启动WinUSB和,没有别的真的需要解释。
- 选择您的来源,ISO或CD驱动器
- 选择您的目标(USB)设备。 如果它没有出现,请点击刷新并确保它已安装。
- 点击"安装"并输入您的密码(需要安装设备并直接写入驱动器)
这是所有你需要做的创建一个可启动的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的二进制文件。
如果您更喜欢命令行,请阅读[serverfault的答案](How to make Windows 7 USB flash install media from Linux? - Server Fault)。
@Psicofrenia,我已经尝试过自己(wine+USB creator for Windows),但我无法使其工作。 老实说,我没有探索太多这种可能性,也许它有效,但它不是直接和直观的。 老实说,Wine似乎不喜欢使用外部设备。