我想创建一个 Windows 可启动 USB 盘,但目前我没有 Windows 机器可以这样做。如何使用 Ubuntu 实现这一点?
答案1
WinUSB 已经过时、过时且过时。它可能会导致较新的系统出现问题。您应该使用 WineUSB 或其他软件代替 WinUSB。
但为了历史目的,这个答案保留在这里。
通过 Ubuntu 创建可启动的 Windows USB(Vista 及以上版本)温USB软件。
Ubuntu 12.04 至 15.04
在终端上运行以下命令来从电力供应协议,
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
答案2
任何 Ubuntu 版本
甚至其他 Linux 发行版,只要分区和GRUB已安装。
使用以下命令在 Ubuntu 上安装 GParted、GRUB、7z 和 NTFS:
sudo apt-get install gparted grub-pc-bin p7zip-full ntfs-3g
对于 BIOS:MBR 分区方案
使用 GParted,将 USB 驱动器的分区表重写为系统安全,格式为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 配置文件grub.cfg
。将其写入文件中,替换
<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 驱动器。
现在使用它,重新启动您的电脑,并从 USB 驱动器启动。
对于 UEFI:GPT 分区方案 *
* 旧版 Windows 可能得不到正确支持或者根本不受支持。我建议阅读Microsoft UEFI 固件页。
- 使用 GParted,将 USB 驱动器的分区表重写为谷氨酰胺磷酸酶。
- 创建新的主分区并将其格式化为FAT32。
- 挂载您的 Windows ISO 或 DVD 并将其所有文件复制到 USB 驱动器。
- 查看
efi/boot/
文件夹中的 USB。如果有文件bootx64.efi
(bootia32.efi
),则说明已完成。USB 可启动。跳至步骤 7。 - 否则,
sources/install.wim
使用存档管理器(您必须已7z
安装)打开并浏览到./1/Windows/Boot/EFI/
。从此处提取到bootmgfw.efi
某个位置,将其重命名为(bootx64.efi
或bootia32.efi
支持的32 位操作系统 [?]),并将其放在 USBefi/boot/
文件夹中。 - 如果您正在制作 Windows 7 USB,请将
boot
文件夹从复制efi/microsoft/
到efi
文件夹。 - 不要忘记卸载(安全移除)USB 驱动器。
- 从您的 BIOS 中选择正确的 EFI 加载器。
来源:关于此内容,我的博客文章可以在以下网址找到:从 Linux 制作可启动的 Windows USB。
笔记
如果与兼容的目标操作系统正确使用,这两种方法都可以为您生成可启动的 USB 驱动器。但是,这并不能保证 Windows 成功安装。
答案3
使用 WoeUSB (WinUSB fork) 写入 ISO
有些答案已经过时了,因为 WinUSB 不再起作用。但是有一个可用的分支,叫做WoeUSB。
Github:https://github.com/WoeUSB/WoeUSB
总结:
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 dependency
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt update
sudo apt install woeusb
☞ 拱门
pacaur -S woeusb
☞ 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 --target-filesystem NTFS --device /path/to/your.iso /dev/sdX
--target-filesystem NTFS
如果安装映像大于 4GB,则需要该标志,当前 Windows 10 官方 ISO 文件就是这种情况。
答案4
当前的 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) 件东西:
- 网启动
- 分区
- 访问互联网来安装以上所有内容、Windows ISO 映像和大于 4GB 的 USB 记忆棒。
首先,备份 U 盘中的所有内容. 完成后安装 gparted 和 unetbootin:
sudo apt-get install gparted unetbootin
现在在 Dash 中查找 gparted 或gparted
在终端中输入。从右侧下拉列表中选择您的 USB 记忆棒。在我的例子中是/dev/sdg
,您的可能不同。删除所有分区并使用 Gparted 创建一个大的 FAT32 分区。
完成后,拔下并插入 USB 棒以便挂载它(您也可以从同一个 GParted 挂载它),现在执行 Unetbootin,同样,您可以在仪表板中查看或在终端中输入。选择您要使用的 iso,查找您的 ISO 所在的路径。
勾选复选框以查看所有设备,在这里您必须选择在 Gparted 中选择的相同设备,否则你的数据可能会丢失。选择继续。等待片刻即可完成。重新启动电脑并选择从 USB 启动。