Linux 中制作 Windows 安装 U 盘

Windows 的安装光盘镜像与一般 Linux 发行版的有所不同,所以通常可用的在 Linux 上制作 Linux 发行版安装 U 盘的方式并不适用。网上介绍 Windows 下制作 Windows 7 的安装 U 盘的文章有很多,并且博主也曾经记录了一个通过 Windows 下命令行制作安装 U 盘方式,但是博主现在很少用 Windows,所以也需要一个可以在 Linux 直接制作 Windows 安装 U 盘的方法。

帮朋友整电脑需要创建一个 Windows 7 的安装 U 盘。没有多想,直接像平常制作 Linux 安装盘一样用 dd 进行拷贝。结果发现无法引导启动电脑进行安装。搜了一下才发现(ref)原来 Windows 的启动盘是不一样的。记录一下,免得以后再走弯路。

首先,插入 U 盘,确定其设备路径(假设是 /dev/sdX),并 umount 它,

# su
# fdisk -l
# umount /dev/sdX

然后,使用 fdisk 来创建一个「空白 DOS 分区表(DOS partition table)」,

# fdisk /dev/sdX

然后在 Command (m for help):  后依次输入并回车,

要输入的选项及注意事项(比如,注意其中 o 之后有几个选项,选默认值(直接回车)即可):

  • p – 显示 U 盘上原有的分区表
  • d – 删除 U 盘上原有的分区表;重复直到删除所有的分区
  • o – 创建(后续选默认值)
  • w – 写入(保存更改)
p
d
o
w

此时该 U 盘应该就只有一个分区了,也就是 /dev/sdX1(注意结尾的 1)。

第三,格式化(注意结尾的 1),

# mkfs.ntfs -f /dev/sdX1

第四,传入基本的 U 盘启动系统文件,需要 ms-sys这个软件包。openSUSE 官方源里面就有,如果系统中没有,换个命令行窗口安装即可。注意结尾没有 1

# zypper install ms-sys
# ms-sys -7 /dev/sdX

最后,将光盘镜像(假设路径为 /data/win7.iso)的内容复制到 U 盘中,

# mkdir /mnt/iso# mkdir /mnt/usb# mount -o loop /data/win7.iso /mnt/iso
# mount /dev/sdX1 /mnt/usb
# cp -r /mnt/iso/* /mnt/usb/ ; sync

等待数据复制完成就差不多了。

貌似这才是最后一步,清理一下,

# umount /mnt/usb
# umount /mnt/iso

最好将这两个新建的挂载点删除。©

本文发表于水景一页。永久链接:<http://cnzhx.net/blog/make-installation-usb-stick-for-windows-under-linux/>。转载请保留此信息及相应链接。

2 条关于 “Linux 中制作 Windows 安装 U 盘” 的评论

  1. 还用win7的真是老顽固,win10直接解压到U盘就可以启动了

时间过去太久,评论已关闭。
如果您有话要说,请到讨论区留言并给出此文章链接。
谢谢您的理解 :-)