Ian Kelling Asked: 2009-05-10 14:50:19 +0800 CST2009-05-10 14:50:19 +0800 CST 2009-05-10 14:50:19 +0800 CST 如何从 Linux 制作 Windows 7 USB 闪存安装介质? 772 我有: Windows 7 安装介质的ISO 映像 4 GB USB 闪存驱动器 没有 DVD 驱动器 已安装 Linux linux usb windows-7 4 个回答 Voted Best Answer jthurner 2010-08-05T07:38:50+08:002010-08-05T07:38:50+08:00 好的,在尝试了这里提到的所有方法都失败后,我终于让它工作了。基本上,缺少的步骤是将正确的引导扇区写入 USB 记忆棒,这可以在 Linux 中使用ms-sys或lilo -M. 这适用于 Windows 7 零售版。 这是完整的纲要: 安装 ms-sys - 如果它不在您的存储库中,请在此处获取。或者,确保安装了 lilo(但如果在那里安装了 Grub,请不要在本地机器上运行 liloconfig 步骤!) 检查为您的 USB 媒体分配的设备 - 在这里我们假设它是/dev/sdb。删除所有分区,创建一个占用所有空间的新分区,将类型设置为 NTFS (7),并记住将其设置为可启动: # cfdisk /dev/sdb 或 fdisk /dev/sdb (分区类型 7和可引导标志) 创建 NTFS 文件系统: # mkfs.ntfs -f /dev/sdb1 在 U 盘上写入 Windows 7 MBR(也适用于 Windows 8),这里有多个选项: # ms-sys -7 /dev/sdb 或(例如在较新的 Ubuntu 安装上)sudo lilo -M /dev/sdb mbr(info) 或者(如果安装了 syslinux),你可以运行sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb 挂载 ISO 和 USB 媒体: # mount -o loop win7.iso /mnt/iso # 挂载 /dev/sdb1 /mnt/usb 复制所有文件: # cp -r /mnt/iso/* /mnt/usb/ ...或使用系统的标准 GUI 文件浏览器 调用sync以确保所有文件都已写入。 打开gparted,选择U盘,右键文件系统,然后点击“Manage Flags”。检查启动复选框,然后关闭。 ...你就完成了。 毕竟,您可能想要备份您的 USB 媒体以进行进一步安装并摆脱 ISO 文件...只需使用 dd: # dd if=/dev/sdb of=win7.img 请注意,这会复制整个设备!— 通常比复制到它的文件大(很多)。所以我建议 # dd count=[(size of the ISO file in MB plus some extra MB for boot block) divided by default dd blocksize] if=/dev/sdb of=win7.img 因此,例如有 8 M 额外字节: # dd count=$(((`stat -c '%s' win7.iso` + 8*1024*1024) / 512)) if=/dev/sdb of=win7.img status=progress 与往常一样,在使用dd. 上面介绍的创建可启动 USB 的方法也适用于 Win10 安装程序 iso。我尝试运行 Ubuntu 16.04,将 Win10_1703_SingleLang_English_x64.iso(大小 4,241,291,264 字节)复制到 8 GB USB 记忆棒上——仅在非 UEFI [非安全] 启动中。执行 dd 报告后:8300156+0 记录中的 8300156+0 记录输出 4249679872 字节(4.2 GB,4.0 GiB)复制,412.807 秒,10.3 MB/秒 下次您想将 Windows 7 安装程序放到 USB 上时反转 if/of。 TrueDuality 2009-05-12T06:28:10+08:002009-05-12T06:28:10+08:00 如果您的 PC 支持 UEFI,并且通过扩展支持 GPT 磁盘,您可以使用 dd 完成此操作。 打开一个终端,你需要找到你的随身碟是什么设备。如果您安装了驱动器,您可以通过键入“mount”并查看它的条目来找到设备的名称。类似于以下内容: /dev/sdb1 on /media/USBDISK type vfat (rw,nosuid,nodev,uhelper=hal,uid=1000,utf8,shortname=mixed) 在这种情况下,/dev/sdb 的第一部分安装在 /media/USBDISK。打开 root shell 并卸载驱动器。 umount /dev/sdb1 转到您的 ISO 存储在根 shell 中的目录,然后键入以下内容:(将 windows7.iso 替换为 iso 被调用的任何内容,并将 /dev/sdb 替换为您的 USB 记忆棒的设备 ID)。 dd if=windows7.iso of=/dev/sdb 如果您的主板支持从 pendrive 启动,它应该能够启动它。这将在 pendrive 上安装安装程序,而不是操作系统本身。 Raymond 2010-03-28T00:24:25+08:002010-03-28T00:24:25+08:00 PCambell 的建议很好,但您也需要清除 MBR,Linux 等效项如下 我试过这个并且它有效(我不确定为什么 dd 方法失败但似乎分区必须是 ntfs?): 找出哪个 /dev/device 是您的 USB 闪存驱动器并卸载它 清除 MBR: dd if=/dev/zero of=/dev/device bs=446 count=1 运行 fdisk /dev/device 删除所有分区并创建 1 个主分区,使其可启动,然后保存更改 运行 mkfs.ntfs /dev/device1(分区 1) 将 windows install iso 的全部内容复制到您创建的分区 gonzo 2010-12-23T10:20:01+08:002010-12-23T10:20:01+08:00 代替 dd if=windows7.iso of=/dev/sdb root你写成 dd if=windows7.iso of=/dev/sdb1 (在末尾添加 1 或放置 USB 驱动器的任何位置。)
好的,在尝试了这里提到的所有方法都失败后,我终于让它工作了。基本上,缺少的步骤是将正确的引导扇区写入 USB 记忆棒,这可以在 Linux 中使用
ms-sys
或lilo -M
. 这适用于 Windows 7 零售版。这是完整的纲要:
安装 ms-sys - 如果它不在您的存储库中,请在此处获取。或者,确保安装了 lilo(但如果在那里安装了 Grub,请不要在本地机器上运行 liloconfig 步骤!)
检查为您的 USB 媒体分配的设备 - 在这里我们假设它是
/dev/sdb
。删除所有分区,创建一个占用所有空间的新分区,将类型设置为 NTFS (7),并记住将其设置为可启动:# cfdisk /dev/sdb
或fdisk /dev/sdb
(分区类型 7和可引导标志)创建 NTFS 文件系统:
# mkfs.ntfs -f /dev/sdb1
在 U 盘上写入 Windows 7 MBR(也适用于 Windows 8),这里有多个选项:
# ms-sys -7 /dev/sdb
sudo lilo -M /dev/sdb mbr
(info)sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
挂载 ISO 和 USB 媒体:
复制所有文件:
# cp -r /mnt/iso/* /mnt/usb/
...或使用系统的标准 GUI 文件浏览器调用
sync
以确保所有文件都已写入。打开gparted,选择U盘,右键文件系统,然后点击“Manage Flags”。检查启动复选框,然后关闭。
...你就完成了。
毕竟,您可能想要备份您的 USB 媒体以进行进一步安装并摆脱 ISO 文件...只需使用 dd:
# dd if=/dev/sdb of=win7.img
请注意,这会复制整个设备!— 通常比复制到它的文件大(很多)。所以我建议
因此,例如有 8 M 额外字节:
与往常一样,在使用
dd
.上面介绍的创建可启动 USB 的方法也适用于 Win10 安装程序 iso。我尝试运行 Ubuntu 16.04,将 Win10_1703_SingleLang_English_x64.iso(大小 4,241,291,264 字节)复制到 8 GB USB 记忆棒上——仅在非 UEFI [非安全] 启动中。执行 dd 报告后:8300156+0 记录中的 8300156+0 记录输出 4249679872 字节(4.2 GB,4.0 GiB)复制,412.807 秒,10.3 MB/秒
下次您想将 Windows 7 安装程序放到 USB 上时反转 if/of。
如果您的 PC 支持 UEFI,并且通过扩展支持 GPT 磁盘,您可以使用 dd 完成此操作。
打开一个终端,你需要找到你的随身碟是什么设备。如果您安装了驱动器,您可以通过键入“mount”并查看它的条目来找到设备的名称。类似于以下内容:
在这种情况下,/dev/sdb 的第一部分安装在 /media/USBDISK。打开 root shell 并卸载驱动器。
转到您的 ISO 存储在根 shell 中的目录,然后键入以下内容:(将 windows7.iso 替换为 iso 被调用的任何内容,并将 /dev/sdb 替换为您的 USB 记忆棒的设备 ID)。
如果您的主板支持从 pendrive 启动,它应该能够启动它。这将在 pendrive 上安装安装程序,而不是操作系统本身。
PCambell 的建议很好,但您也需要清除 MBR,Linux 等效项如下
我试过这个并且它有效(我不确定为什么 dd 方法失败但似乎分区必须是 ntfs?):
代替
root
你写成(在末尾添加 1 或放置 USB 驱动器的任何位置。)