Linux制作Windows启动盘

我的电脑上实际上已经装有了Centos7和Windows7双系统,但是由于一些原因,现在win7系统不能用了,故需要在Centos上制作Windows的启动盘。

准备

win7旗舰版iso镜像;

8G u盘一枚;

ms-sys安装包;


Linux上制作Windows启动u盘

插入准备好的u盘,并查看u盘的设备名称

~]# df -h

Filesystem      Size  Used Avail Use% Mounted on

/dev/sdb        3.2G  3.2G     0 100% /run/media/alfer/u8

注意:如果看到u盘(/run/media/alfer/u8)挂载在/dev/sdb设备下,则需要先将其卸载;如果此处看不到usb 设备,则要用 fdisk 工具查看。

设置usb设备/dev/sdb的 /dev/sdb1为启动分区

cfdisk /dev/sdb 或 fdisk  /dev/sdb (partition type 7, and bootable flag)

u盘分区格式化

格式化分区sdb1为ntfs格式:

mkfs.ntfs  -f /dev/sdb1

利用ms-sys写入mbr信息到u盘以引导win7:

ms-sys  -7 /dev/sdb

其中的-7参数指Win7 MBR,sdX指的是U盘对应的盘符。

将ISO镜像文件写入到u盘:

mount -o loop win7.iso /mnt/iso

mount /dev/sdb1 /mnt/usb

cp -r /mnt/iso/* /mnt/usb/

sync

监控写入状态:

watch -n1 iostat



从u盘启动安装Windows系统

现在你已经可以从u盘启动来安装Windows了。


总结

Linux上制作 Windows的启动盘整体流程应该是:

u盘建立启动分区 -》u盘分区格式化 -》写入引导程序 -》写入镜像文件 -》 制作完成。

在Centos系统上制作Windows启动盘的时候,我尝试了几种不同的方法,皆是可以制作成功的:

写入u盘启动引导Win7安装方式

方法一:如文中,利用ms-sys工具写入,ms-sys  -7 /dev/sdb;

方法二:利用lilo工具,sudo lilo -M  /dev/sdb mbr;

方法三:利用syslinux工具,sudo dd if=/usr/lib/syslinux/mbr/mbr.bin of=/dev/sdb;

镜像文件写入u盘

方法一:挂载 iso 镜像后,复制到u盘;

方法二:dd命令写入iso镜像文件到u盘的启动分区

# 不需要挂载/dev/sdb1

sudo dd if=/home/peter/Downloads/WindowsTechnicalPreview-x64-ZH-CN.iso of=/dev/sdb1 bs=4M iflag=direct​

教训

记不得是写入引导程序时还是在用dd命令写入镜像文件时,误写入到了我的移动硬盘中,导致移动硬盘数据全部丢失,如同丢失了心爱的事物,痛心疾首!

参考

How to make Windows 7 USB flash install media from Linux?;

在Ubuntu Linux下制作Windows 启动安装 USB盘;

Linux磁盘分区工具的使用;


你可能感兴趣的:(Linux制作Windows启动盘)