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/>。转载请保留此信息及相应链接。
还用win7的真是老顽固,win10直接解压到U盘就可以启动了
这么说老顽固可能太多了。