故需要在Centos上制作Windows的启动盘,所以在lin

作者: 操作系统  发布:2019-11-22

    可以看到我的U盘的盘符是/dev/sdb

准备

win7旗舰版iso镜像;

8G u盘一枚;

ms-sys安装包;


    看到我已经挂载了系统,剩下的就是拷贝/tmp/win7中的东西到/tmp/usb中了

从u盘启动安装Windows系统

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


1 $ sudo lilo -M /dev/sdb mbr           #在u盘中写入mbr
2 Backup copy of /dev/sdb in /boot/boot.0810
3 The Master Boot Record of  /dev/sdb  has been updated.

参考

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

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

Linux磁盘分区工具的使用;

    5.挂在镜像和U盘,将windows镜像中内容拷贝到U盘中.

9159金沙官网,教训

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

    6.拷贝iso文件内容到usb中.

总结

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​

1 $ sudo mkfs.vfat /dev/sdb1        #格式化U盘,前提是U盘被正确卸载
2 mkfs.fat 4.0 (2016-05-06)

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


1 $ apt list ntfs-3g            #检查是否安装了ntfs-3g
3 正在列表... 完成
4 ntfs-3g/zesty,now 1:2016.2.22AR.1-4 amd64 [已安装]
5 
6 $sudo apt install ntfs-3g   #如果没有安装,则执行这个命令安装

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

    4.在u盘中创建mbr(mbr是什么意思,自己搜索吧),我这里使用的lilo

 1 $dpkg -l lilo
 2 
 3 期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
 4 | 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
 5 |/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
 6 ||/ 名称                            版本                 体系结构             描述
 7 +++-===============================-====================-====================-===================================================================
 8 ii  lilo                            1:24.2-2             amd64                LInux LOader - the classic OS boot loader
 9 
10 $ sudo apt install lilo #如果提示未安装,则进行安装操作

 

    3.查看U盘的盘符,将U盘的内容备份,之后格式化U盘.格式化程fat32就可以.(可以看到我的U盘格式已经是fat32的了)

    按照上面博客的步骤,我进行了如下操作:

$ cp -rf /tmp/win7/* /tmp/usb           #拷贝到U盘中

$sync           #将内存中数据flush到磁盘中

$sudo umount /dev/sdb1           #卸载U盘

$sudo umount /tmp/win7            #卸载镜像

    2.安装lilo,看到也安装完成了.如果没有安装,执行命令:sudo apt install lilo 进行lilo的安装.

    1.首先检查有没有安装ntfs-3g,看到我已经安装过了.如果没有安装的执行命令: sudo apt install ntfs-3g

    平时工作中用到linux的操作命令较多,因此为了方便,就给电脑装了双系统,一般工作的时候,都选择进入linux系统。但是今天有件工作之外的事情需要解决下:创建一个windows启动盘。如果按照往常来说,我会启动windows,然后用xxx工作制作u盘启动工具,傻瓜式的创建启动盘。但是今天不想再重启系统进入windows做u盘的启动盘了。想在想在linux系统中做u盘启动盘。

 1 $mkdir /tmp/win7
 2 $mkdir /tmp/usb
 3 
 4 $sudo mount -o loop cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u_677816.iso /tmp/win7
 5 
 6 $sudo mount /dev/sdb1 /tmp/usb
 7 
 8 $ df -h                  #查看挂载点
 9 文件系统        容量  已用  可用 已用% 挂载点
10 .....
11 .....
12 /dev/loop4      3.1G  3.1G     0  100% /tmp/win7
13 /dev/sdb1       6.6G  4.0K  6.6G    1% /tmp/usb

    url: 感谢 “天外之客”分享。

    现在搞定了.重启电脑,验证劳动成果吧

 1 $ sudo fdisk -l                #查看U盘的分区
 2 
 3 ...
 4 
 5 Disk /dev/sdb: 7.3 GiB, 7784628224 bytes, 15204352 sectors
 6 Units: sectors of 1 * 512 = 512 bytes
 7 Sector size (logical/physical): 512 bytes / 512 bytes
 8 I/O size (minimum/optimal): 512 bytes / 512 bytes
 9 Disklabel type: dos
10 Disk identifier: 0x48156368
11 
12 设备       启动   Start     末尾     扇区  Size Id 类型
13 /dev/sdb1  *    1347328 15204351 13857024  6.6G  c W95 FAT32 (LBA)

   

    博客中也说了,linux的iso都自带mbr,因此dd刻录linux的iso时没有问题,会将mbr一同刻录进u盘中。但是windows的iso文件不自带mbr,所以在linux系统做windows的启动盘的时候,首先需要向u盘中写入mbr信息。之后在将windows的iso内容拷贝到u盘中。这样bios就能正确识别mbr,进而安装windows系统。

    我用上方的命令格式化了U盘为fat32的格式.

    之前也接触到在linux中做u盘启动盘的一些博客或其他信息,全部是说用dd命令就可以搞定,之前也试过,dd命令刻录windows的iso文件有问题。系统无法识别刻录出来的启动盘。之前没有深究什么原因造成的,今天继续这个问题,上网查找解决方案。找了好长时间终于找到一篇可以正常做启动盘的文章。下面是文章的网址,有兴趣的大家可以自行查看:

    我的操作系统:ubuntu 17.04

    上方已经提示我创建mbr成功了.下面就是将windows的iso中的内容拷贝到U盘中就可以了.

本文由9159.com发布于操作系统,转载请注明出处:故需要在Centos上制作Windows的启动盘,所以在lin

关键词:

上一篇:没有了
下一篇:没有了