Linux(ubuntu)使用dd从iso制作win7安装u盘(读卡器一样),以及备份分区

时间:2023-02-20 18:54:45

转自我的独立博客:alanslab.cn

先吐个槽,早知道windows越用越慢,没想到太久不用还会坏。。。

昨天就遇到了这样一件事,电脑的光驱早拆了换硬盘托架了,只好翻出来以前手机的sd卡开刀,网上参考了一些用dd做安装u盘的文章,很多不靠谱,最终还是在英文资料里找到了需要的东西。这里留个笔记,顺便看谁需要也可以省点力气。

参考网址(感谢原作者分享!):

http://serverfault.com/questions/6714/how-to-make-windows-7-usb-flash-install-media-from-linux

http://www.techrepublic.com/blog/linux-and-open-source/drive-and-partition-backups-with-dd/

dd的简介我就省了,一搜一大把。

网上流行的一种做法是把u盘分成一个区,格式化成fat,然后 dd if=/xxx.iso of=/dev/sdx,似乎是有成功的人,但这里缺少了制作引导这一步,至少在我这里是没能搞定。

linux下制作引导可以用 ms-sys 或 lilo -M命令,我用的是后者,主要是因为在源里直接有,而且之前用过lilo有亲切感。。。

sudo apt-get install lilo,用ms-sys的话自行搜索。

注意:选择安装lilo的话不要执行它的配置向导,否则会顶替掉你电脑现在用的引导(grub之类)

开始之前用df或别的什么办法搞清楚你的u盘是哪个,这里以我自己的情况为例/dev/sdd

使用 cfdisk /dev/sdd 或 fdisk /dev/sdd分区,删除所有分区,然后创建一个新的分区,占用全部空间,把type设置成NTFS(就是在修改type的地方改成7),标记为bootable。

新的分区将会是/dev/sdd1

用NTFS格式化:mkfs.ntfs -f /dev/sdd1

写入 windows 7 的 MBR 到u盘上(windows 8 也一样):

ms-sys -7 /dev/sdd 或 sudo lilo -M /dev/sdd mbr

然后挂载 ISO 和 USB:

mount -o loop win7.iso /mnt/iso

mount /dev/sdd1 /mnt/usb

复制ISO所有文件到U盘: cp -r /mnt/iso/* /mnt/usb/

等复制完就完工,图形化界面操作应该也一样的。

现在的情况是,你有了一个一切准备就绪的win7安装u盘,再回想之前最开始的时候那个不完全的做法,我们可以发挥一下,用dd把当前可以引导的u盘整个备份下来,以后再用时就可以用之前的办法直接还原了。

dd if=/dev/sdd of=/win7.img

这样我们就有了一个直接恢复到u盘上就可以进行usb安装的镜像文件了,可能不同的U盘容量上还会有一些麻烦,必须要跟这个U盘一样或者更大,dd是连没用到的空间都一起保存了的。

备份分区以及压缩备份文件

最简单的备份分区方式跟上文一样,就是dd if=/dev/sda1 of=/path/to/backup.img,但前文提到过dd会把空白字节也一起复制了,对U盘来说还能接受,但备份硬盘分区也这样就实在是离谱了,我们可以在备份完成后对img进行压缩,或在备份过程中即时完成:

dd if=/dev/sda1 | bzip2 -9f >/path/to/backup.img.bz2

还原时,如果你没有压缩:

dd if=/path/to/backup.img of=/dev/sda1

用前文方式压缩了的话:

bunzip2 -dc /path/to/backup.img.bz2 | dd of=/dev/sda1

Linux(ubuntu)使用dd从iso制作win7安装u盘(读卡器一样),以及备份分区的更多相关文章

  1. 使用 DiskMaker X 轻松制作 Yosemite 安装 U 盘(引)

    使用 DiskMaker X 轻松制作 Yosemite 安装 U 盘 由于帮人在MacBook上装Windows, 用pe格式化了一下分出来的Windows分区, 搞得Mac系统也瘫掉了, 无奈之下 ...

  2. linux下使用dd命令写入镜像文件到u盘

    1.使用 df -h ,查看一下当前各个磁盘 user@host ~/ $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 119 ...

  3. Windows 下制作CentOS7安装U盘

    本文属于另类的U盘制作方法(更多U盘安装见U盘安装CentOS ),如何安装CentOS,请参考<安装指南> 以下列出了,完整的制作步骤: 1.下载安装镜像 选择一个合适的镜像网站,比如网 ...

  4. Windows&sol;OS X下制作Mac安装U盘

    Windows下制作: 方法一:(适用于OSX 10.9以前) 前期准备:一台windows电脑 UltraISO软件 Mac系统镜像dmg(这里使用Mac os x 10.8.4) 至少8GB的U盘 ...

  5. U盘安装win7&quot&semi;安装程序无法创建新的系统分区&quot&semi; 怎么办

     装WIN7的朋友,不知遇到该类问题没有: 当我们通过PE进行WIN7 纯安装的时候(非ghost安装),系统提示”安装程序无法创建新的系统分区,也无法定位现有分区“,迫使我们操作终断,无法进行. 面 ...

  6. 使用unetbootin制作Debian安装U盘

    有时需要在没有光驱的裸机上安装系统,这时我们可以使用unetbootin制作一个系统安装U盘. 1.在网上下载好vmlinuz,initrd.gz,boot.img.gz. 2.然后使用unetboo ...

  7. linux ubuntu 本地镜像 软件源 制作方法

    1.配置当前软件源,镜像非常大,所以首先要配置一下载速度快的软件源http://fffo.blog.163.com/blog/static/2119130682014322104136601/2.安装 ...

  8. Linux&lpar;Ubuntu&rpar;使用日记&lpar;七&rpar;------终端控制器Terminator安装使用

    1.目的 实现分屏效果,如图: 如果使用系统自带的终端,可能会使这种效果: 综上所述,知道我们为什么要安装Terminator了吧. 2.安装过程 Terminator 的安装非常方便,在 Ubunt ...

  9. 电脑-制作WIN7启动U盘

    1.需要准备的工具:win7系统盘(安装盘,不是ghost),软碟通工具,大于4G的U盘

随机推荐

  1. C&num;正则表达式编程(一):C&num;中有关正则的类

    正则表达式是一门灵活性非常强的语言,匹配同样的字符串可能在不同的开发人员那里会得到不同的结果,在平常的时候也是用的时候看看相关资料,不用的时候就丢在脑后了,尽管在处理大部分情况下都能迅速处理,但是处理 ...

  2. 【WCF--初入江湖】10 序列化和传输大型数据流

    10 序列化和传输大型数据流 1.前言 理解WCF的序列化形式 掌握DataContractSerializer序列化对象 比较性能 比较xmlSerializer序列化对象   大数据量传输设置 修 ...

  3. &lbrack;置顶&rsqb; JAVA概述(6)常量&comma;关键字&comma;进制转换

    21.关键字.... 变量: 就是将不确定的数据进行存储.也就是需要在内粗恩中开辟一个空间. 整数类型   1个字节 byte                    占 8位 -128~~~127 2 ...

  4. 《项目架构那点儿事》——浅析web层struts2的构建

    [前言]所谓快速开发,实质上为了节省项目的开支成本,减少程序员的开发时 间,固然就形成了种种二次封装的框架,也就是造*,然后我们的程序就按照这个*去画瓢,这里我就把公司这几次开发系统的框架源码贴出 ...

  5. golang初识 - install go on ubuntu

    WSL: Ubuntu 18.04 1. install go (1) unzip sudo mkdir -p /usr/local/go sudo tar zxvf go1.12.4.linux-a ...

  6. URL编码:怎样读取特殊字符

    URL编码:怎样读取特殊字符 (这个我曾经谢过教程,这里整理过来)从外部文本载入到动态文本的时候,一些特殊字符(如&/%等)无法正常现实,有的符号还会导致这个符号后面的字符无法现实(如&amp ...

  7. 探秘Java类加载

    Java是一门面向对象的编程语言. 面向对象以抽象为基础,有封装.继承.多态三大特性. 宇宙万物,经过抽象,均可归入相应的种类.不同种类之间,有着相对井然的分别. Java中的类,便是基于现实世界中的 ...

  8. c&plus;&plus; Pthread创建线程后必须使用join或detach释放线程资源

    http://www.cppblog.com/prayer/archive/2012/04/23/172427.html 这两天在看Pthread 资料的时候,无意中看到这样一句话(man pthre ...

  9. Java中的常见异常

    非检查异常:Error 和 RuntimeException 以及他们的子类.0错误ArithmeticException,错误的强制类型转换错误ClassCastException,数组索引越界Ar ...

  10. echarts-detail--柱状图

    一:柱形图 1.Echarts-柱状图柱图宽度设置-----只需要设置series中的坐标系属性barWidth就可以 /** * 堆积柱状图 * @param xaxisdata x轴:标签(数组) ...