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

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

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

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

雁过留声,人过留名

电子邮件地址不会被公开。 必填项已用*标注

特别提示:与当前文章主题无关的讨论相关但需要较多讨论求助信息请发布到水景一页讨论区的相应版块,谢谢您的理解与合作!请参考本站互助指南
您可以在评论中使用如下的 HTML 标记来辅助表达: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>