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

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

url:http://blog.csdn.net/mike8825/article/details/51138575?locationNum=9 感谢 “天外之客”分享。

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

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

我的操作系统:ubuntu 17.04

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

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

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

 $dpkg -l lilo

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

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

 $ sudo fdisk -l                #查看U盘的分区

 ...

 Disk /dev/sdb: 7.3 GiB,  bytes,  sectors
Units: sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disklabel type: dos
Disk identifier: 0x48156368 设备 启动 Start 末尾 扇区 Size Id 类型
/dev/sdb1 * .6G c W95 FAT32 (LBA)

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

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

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

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

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

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

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

 $mkdir /tmp/win7
$mkdir /tmp/usb $sudo mount -o loop cn_windows_7_professional_with_sp1_vl_build_x64_dvd_u_677816.iso /tmp/win7 $sudo mount /dev/sdb1 /tmp/usb $ df -h #查看挂载点
文件系统 容量 已用 可用 已用% 挂载点
.....
.....
/dev/loop4 .1G .1G % /tmp/win7
/dev/sdb1 .6G .0K .6G % /tmp/usb

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

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

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

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

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

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

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

linux系统创建windows启动盘的更多相关文章

  1. Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码

    Kali Linux Web 渗透测试视频教—第二十课-利用kali linux光盘或者usb启动盘破解windows密码 文/玄魂 目录 Kali Linux Web 渗透测试视频教—第二十课-利用 ...

  2. 在Linux下制作Linux&windows启动盘

    在Linux下制作Linux&windows启动盘 如何在Linux-mint环境下,制作其他Linux发行版的UEFI启动盘,以及Windows10的UEFI模式启动盘. 对于U盘的操作,可 ...

  3. Linux下制作Windows启动U盘的工具

    Linux下制作Windows启动U盘的工具 很多人说Linux下制作Windwos启动盘要用GRUB4DOS建立引导,其实不用,有专门的工具的,就像Windows下有Rufus制作Linux启动U盘 ...

  4. 烂泥:Linux系统与windows系统文件同步

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. 上篇文章中,我们介绍了有关Linux系统之间的文件同步,这篇文章我们来介绍下,有关Linux系统与windows系统,以及windows系统与windo ...

  5. Linux系统入门---开机启动流程

    目录 Linux系统入门---开机启动流程 一.centos6 二.systemd管理进程 1.查看级别 三.centos7实践案例: 1.案例1:centos7系统,单用户修改root密码 案例2: ...

  6. Linux系统挂载Windows系统下的共享文件

    声明:本文是小编借鉴大神们的经验,仅供学习使用. 第一步:在Windows系统上选择要共享的文件夹,右击“属性”-“共享”-“高级共享”-勾选“共享此文件”-设置共享名-“权限”-“添加”-“高级”- ...

  7. Linux系统的快速启动机制(内核切换) 【转】

    转自:http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=26807463&id=4187846 原文地址:Linux系统的 ...

  8. Linux上制作Window启动盘

    Linux上制作Window启动盘 注意: U盘在Linux中的标签(依具体情况而定:执行df查看) U盘 ----- /dev/sdb4 格式化U盘 建立U盘的启动分区 安装关键工具 ms-sys ...

  9. 在Linux系统下制作系统启动盘(Ubuntu Linux)

    在Linux系统下制作系统启动盘有两种方法: 1.用dd命令 2.用Linux自带的图形界面工具 Startup Disk Creator 本教程使用第2种方式,用Linux自带的图形界面工具制作系统 ...

随机推荐

  1. Go 工作空间 深度解析

    介绍 这篇文档举例证明了一个简单地 Go package 并且介绍了 go tool,标准的方法来 fetch, build,and install Go package and commands. ...

  2. MySql学习笔记【三、表相关操作】

    创建表 CREATE TABLE [IF NOT EXISTS] table_name( column_name data_type, ... ) 如: CREATE TABLE test_table ...

  3. centos8/redhat8 无法上网,通过启动systemctl start NetworkManger搞定

    在systemd里面,可以直接使用systemctl进行管理 启动:systemctl start NetworkManger 关闭:systemctl stop NetworkManager 开机启 ...

  4. Bridge的数据在内核处理流程

    转:http://blog.sina.com.cn/s/blog_67cc0c8f0101oh33.html 转载一篇Bridge的数据在内核处理流程,文章写的不错啊! (2013-07-05 16: ...

  5. JS批量绑定事件

    ,,,,] for(var j in a){ $("#" + j).click(function () { // 前提是先动态生成id是j的标签 var id_cm = $(thi ...

  6. Linux ping route nslookup ifconfig arp traceroute

    route -n  查看默认网关 ping  -c 包个数 ping -s 包大小 host  目标主机 主机解析 nslookup  目标主机 arp -an 查看arp arp -s IP地 MA ...

  7. vue 中echart折线自适应

    前端时间做一个vue的项目,echart是按需引入的如下: // 引入 ECharts 主模块 import echarts from 'echarts/lib/echarts' // 引入折线图 i ...

  8. 几台WEB经常宕机,求分析原因

    几台WEB服务器经常宕机,平时运行得好好的,负载也都在2以下,偶尔会突然负高上去就宕机,init 6也无法重启成功 只能echo 'b'>/proc/sysrq-trigger 硬重启才行,dm ...

  9. JS单线程和异步

    线程和单线程的概念: 线程:是操作系统能够进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同 ...

  10. jmeter-请求头需要URIEncode编译时

    使用函数 ${__urldecode()} 例如 :${__urldecode(%E4%BB%93%E5%BA%93)}${__urldecode(${参数变量})}