平时工作中用到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. 1 .net将xml反序列化

    public static T XmlToObject<T>(string str) where T : class { using (Stream stream = new Memory ...

  2. java字符常量

    在Java程序中经常会遇到类似于"Hello"这样地字符串,那么这种类型的字符串是Java中是如何存储,下面就说明字符串常量在内存中存储方式: Java程序在编译时会将程序中出现的 ...

  3. 【0】Zookeeper Q&A

    1.Observer角色如何配置? Zookeeper集群中的中的Leader和Follower角色是由服务器启动时期的Leader选举产生的,Observer不参与选举,此角色的节点需要在配置文件z ...

  4. fastadmin 隐藏操作栏按钮

    formatter: function (value, row, index) { var that = $.extend({}, this); $(table).data({"operat ...

  5. SpringBoot static修饰的字段/方法如何获取application.yml配置

    SpringBoot的application.yml一种特殊的应用场景,一般我们获取application.yml的配置文件只要@Value就可以获取到值了,但是如果是static修饰的字段肯定就不能 ...

  6. CentOS7安装cnpm

    npm install -g cnpm --registry=https://registry.npm.taobao.org

  7. 09-【el表达式和jstl标签库】

    el表达式和jstl标签库 一:el表达式:表达式语言,jsp页面获取数据比较简单1.el表达式的语法(掌握)el表达式通常取值是获取作用域对象中的属性值:${属性名}=>是el表达式的简写的形 ...

  8. java-面试题为什么redis这么快

    文章:为什么说Redis是单线程的以及Redis为什么这么快! 文章比较详细,有些细节可能需要注意. 1,比如CPU不是redis的瓶颈 2,随着连接数的增加,并发会降低等.

  9. QTP(16)

    一.QTP项目(ECShop) 1.ECShop是一个开源免费的一个B2C的电子商务系统,主要用于商家和顾客进行商品交易操作. 2.ECShop分为前台和后台两个子系统: (1)ECShop前台:顾客 ...

  10. 数据库——Oracle(4)

    1 Oracle中常用字符处理函数:用来处理char,varchar以及varchar2类型数据. 1)length(列名/字符串):统计当前该列的列值/字符串中字符的个数 select ename, ...