我有:
- ISO 映像Windows 7 安装介质
- 4 GB USB 闪存盘
- 没有 DVD 驱动器
- Linux 安装
答案1
好的,在尝试了这里提到的所有方法但都失败后,我终于成功了。基本上,缺少的步骤是将正确的引导扇区写入 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
编写 Windows 7膜生物反应器在 USB 记忆棒上(也适用于 Windows 8),这里有多个选项:
# ms-sys -7 /dev/sdb
- 或(例如在较新的 Ubuntu 安装上)
sudo lilo -M /dev/sdb mbr
(信息) - 或者(如果安装了 syslinux),你可以运行
sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb
挂载 ISO 和 USB 介质:
# 安装 -o 循环 win7.iso /mnt/iso # 挂载 /dev/sdb1 /mnt/usb
复制所有文件:
# cp -r /mnt/iso/* /mnt/usb/
...或者使用系统的标准 GUI 文件浏览器
打电话sync
确认所有文件都已写入。
打开 gparted,选择 USB 驱动器,右键单击文件系统,然后单击“管理标志”。选中启动复选框,然后关闭。
...您就完成了。
完成所有这些之后,您可能想要备份 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/s
如果下次您想将 Windows 7 安装程序放到 USB 上,请反向操作。
答案2
如果您的 PC 支持 UEFI 和 GPT 磁盘,您可以使用 dd 来完成此操作。
打开终端,你需要找到你的 pendrive 是什么设备。如果你已经安装了驱动器,你可以通过输入“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
在根 shell 中转到存储 ISO 的目录并输入以下内容:(将 windows7.iso 替换为 iso 的名称,将 /dev/sdb 替换为您的 USB 驱动器的设备 ID)。
dd if=windows7.iso of=/dev/sdb
如果您的主板支持从 U 盘启动,则应该能够从 U 盘启动。这样会将安装程序放在 U 盘上,而不是操作系统本身。
答案3
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 安装 iso 的全部内容复制到您创建的分区上
答案4
代替
dd if=windows7.iso of=/dev/sdb
你可以这样写root
,
dd if=windows7.iso of=/dev/sdb1
(在末尾添加 1 或者将 USB 驱动器放置在任何位置。)