我可以使用 Ubuntu 将 Windows 7 ISO 写入 USB 吗?

我可以使用 Ubuntu 将 Windows 7 ISO 写入 USB 吗?

我需要从 ISO 文件创建 Windows 安装 USB 驱动器。我使用了 UNetbootin,它似乎是唯一可以写入非 Linux 映像的工具。

USB 磁盘可以启动(某种程度上),但它卡在了第一阶段。出现 UNetbootin 启动画面,不断从 10 倒数到 0,然后重新启动。

屏幕显示如下:

在此处输入图片描述

有没有办法让 Windows 从在 Linux 上创建的 USB 映像启动?

答案1

方法 1

使用gparted 格式驱动器FAT16,设置启动标志。

使用档案管理器将 iso 提取到驱动器。

(或者只是将 DVD 复制到驱动器)。

就是这样。

对我有用

方法 2

要创建可启动安装程序光盘,请选择 ISO 映像或 CD/DVD 光盘,然后单击安装 在此处输入图片描述

这将创建您的 Windows Vista/7 安装程序 USB。值得一提的是,该工具可能也适用于 Windows 8;但是,它尚未经过测试。话虽如此,开发人员提到支持的图像包括“Windows Vista、Seven+”。您可以从开发人员网站提供的 Deb 包(适用于 Oneiric、Natty、Maverick 和 Lucid)或下面提供的 PPA 安装 WinUSB。

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

由于 WinUSB 也可以通过命令行运行,因此您可以按照下面给出的命令行格式创建 Windows 7 或 Windows Vista USB 安装程序

sudo winusb --format <iso path> <device>

使用上述方法格式化 USB 后,安装 Windows 分区并编辑主引导记录:

sudo winusb --install <iso path> <partition>

答案2

这是一个简单的过程。

对于 BIOS:MBR 分区方案

  1. 将 USB 格式化为 FAT32 并使用“启动”标志进行标记。(NTFS 也可以,但在本教程中,我使用 FAT32,因为您可以通过这种方式使其可进行 UEFI 启动。)

  2. 将 USB 安装在某处,例如/media/<user>/<disc_label>

  3. 使用以下命令将 grub 安装到 USB:

     grub-install --force --no-floppy --boot-directory=/media/<user>/<disc_label>/boot /dev/sdX
    

(安装到磁盘;不是分区!)

  1. 将 iso 的内容提取到 USB 驱动器的根目录下;我个人使用 7z 来实现此目的:

     7z x /path/to/win.iso
    

(请注意,Win7 iso 有一个启动目录;您需要将使用 grub 创建的启动目录与 iso 的内容“重叠”。)

你应该得到类似这样的结果

    ├── autorun.inf
    ├── boot
    │   └── grub
    ├── bootmgr
    ├── efi
    ├── setup.exe
    ├── sources
    ├── support
    └── upgrade
  1. 编辑/创建 boot/grub/grub.cfg 使其包含以下菜单项:

     menuentry 'Windows 7 AIO Installer' --class windows --class os {
       set root=(hd0,1)
       insmod part_msdos
       insmod fat
       insmod ntldr
       ntldr /bootmgr
     }
    
  2. 当进入 grub 提示符 ( grub>) 时,输入boot并按Enter

  3. 享受您的可启动棒。

这可能有点绕弯子,但这可以让您通过编辑 grub.cfg 文件根据需要添加其他资源。我个人有一个 Windows 7 All In one(win7 的 9 个版本)安装程序、Mini Windows XP(来自 hirens)、DOS 6.22、memtest 和 gparted live,它们都安装在一个 USB 上。

对于 UEFI:GPT 分区方案 *

  1. 向上复制efi/microsoft/boot一层:

     cp -r efi/microsoft/boot efi/boot/
    

(由于 FAT32 文件系统不区分大小写且挂载选项不同,因此路径可能全部为大写、小写或混合使用。请调整命令以适合您的情况。)

  1. 摘自1/Windows/Boot/EFI/bootmgfw.efisources/install.wim

     7z e sources/install.wim 1/Windows/Boot/EFI/bootmgfw.efi
    
  2. 将此文件放置为efi/boot/bootx64.efi

     mv bootmgfw.efi efi/boot/bootx64.efi
    
  3. 享受您的 UEFI 可启动的 Windows 7 USB!

对于 UEFI:GPT 分区方案 - 第 2 章**

当我用更现代/更快/更大的 SSD 替换我的 SSD 时,我将旧的 SSD 变成了 USB 驱动器。为了访问该驱动器上的现有 grub,我执行以下操作:

  1. 创建一个efi/boot目录(如上所述)

  2. 复制efi/debian/grubx64.efiefi/debian/grub.cfgefi/boot/bootx64.efiefi/boot/grub.cfg

  3. 通过计算机的启动菜单启动新的 USB 驱动器。

我猜想每次安装新版本的 grub 时都应该这样做。(但即使在两年后我更新系统之前,旧版本也能正常工作)

你可能想在/etc/default/grubGRUB_DISABLE_OS_PROBER=true)中禁用操作系统探测 - 参见这一页

相关内容