平时工作中用到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. Struts简介

    一.简介 Apache Struts 2最初被称为WebWork 2,它是一个简洁的.可扩展的框架,可用于创建企业级Java web应用程序.设计这个框架是为了从构建.部署.到应用程序维护方面来简化整 ...

  2. contextlib:上下文管理器工具

    介绍 contextlib模块包含的工具可以用于处理上下文管理器和with语句 上下文管理器API ''' 上下文管理器(context manager)负责管理一个代码块中的资源,会在进入代码块时创 ...

  3. 基于UDS的BootLoader

    bootloader程序架构略有简化的bootloader图 这张图和恒润教程中的BootLoader流程大体是一致的. 疑问点 Q:图中的烧写顺序是34-36-34-36-34-36-37,但另一些 ...

  4. xtrabackup的使用

    Percona-xtrabackup是 Percona公司开发的一个用于MySQL数据库物理热备的备份工具. 一.安装xtrabackup 采用rpm包的方式进行安装 [root@server- ~] ...

  5. 【微信小程序】调起微信支付完整demo

    微信小程序调用微信支付接口 https://blog.csdn.net/u012667477/article/details/80940578

  6. “美登杯”上海市高校大学生程序设计邀请赛 **D. 小花梨的取石子游戏**

    "美登杯"上海市高校大学生程序设计邀请赛 (华东理工大学) D. 小花梨的取石子游戏 Description 小花梨有

  7. java线程基础巩固---wait和sleep的本质区别是什么,深入分析(面试常见问题)

    对于wait和sleep貌似都会阻塞线程,但是它们确实是很大的区别的,所以下面一点点来探讨: 区别一.Sleep()是线程里面的方法,而Wait()是Object类的方法.这个比较简单,直接看代码便知 ...

  8. python 示例代码1

    第一章 python基础一 ​在此不再赘述为什么学习python这门编程,网上搜索一箩筐.我在此仅说一句python的好,用了你就会爱上它. 本python示例代码1000+带你由浅入深的了解pyth ...

  9. usb发送字节

  10. java中int转成String位数不足前面补零

    java中int转成String位数不足前面补零 转载自:http://ych0108.iteye.com/blog/2174134 java中int转String位数不够前面补零 String.fo ...