Linux制作Windows启动盘

作者: 谦云上的飞鸟 | 来源:发表于2017-04-09 14:40 被阅读3269次

    我的电脑上实际上已经装有了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磁盘分区工具的使用


    相关文章

      网友评论

      • MooCuishle:请注意“-H”参数以上的参数大多为向partition(分区)的boot sector写入boot record;而往下的参数是向整个device(设备)的第一扇区写入MBR。
        所以在写引导时如果是ntfs格式:
        ms-sys -n /dev/sdb1
        ms-sys -7 /dev/sdb

        ..终于做好了,nice

      本文标题:Linux制作Windows启动盘

      本文链接:https://www.haomeiwen.com/subject/loedattx.html