Linux(ubuntu)使用dd从iso制作win7安装u盘(读卡器一样),以及备份分区
转自我的独立博客: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盘(读卡器一样),以及备份分区的更多相关文章
- 使用 DiskMaker X 轻松制作 Yosemite 安装 U 盘(引)
使用 DiskMaker X 轻松制作 Yosemite 安装 U 盘 由于帮人在MacBook上装Windows, 用pe格式化了一下分出来的Windows分区, 搞得Mac系统也瘫掉了, 无奈之下 ...
- linux下使用dd命令写入镜像文件到u盘
1.使用 df -h ,查看一下当前各个磁盘 user@host ~/ $ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 119 ...
- Windows 下制作CentOS7安装U盘
本文属于另类的U盘制作方法(更多U盘安装见U盘安装CentOS ),如何安装CentOS,请参考<安装指南> 以下列出了,完整的制作步骤: 1.下载安装镜像 选择一个合适的镜像网站,比如网 ...
- Windows/OS X下制作Mac安装U盘
Windows下制作: 方法一:(适用于OSX 10.9以前) 前期准备:一台windows电脑 UltraISO软件 Mac系统镜像dmg(这里使用Mac os x 10.8.4) 至少8GB的U盘 ...
- U盘安装win7"安装程序无法创建新的系统分区" 怎么办
装WIN7的朋友,不知遇到该类问题没有: 当我们通过PE进行WIN7 纯安装的时候(非ghost安装),系统提示”安装程序无法创建新的系统分区,也无法定位现有分区“,迫使我们操作终断,无法进行. 面 ...
- 使用unetbootin制作Debian安装U盘
有时需要在没有光驱的裸机上安装系统,这时我们可以使用unetbootin制作一个系统安装U盘. 1.在网上下载好vmlinuz,initrd.gz,boot.img.gz. 2.然后使用unetboo ...
- linux ubuntu 本地镜像 软件源 制作方法
1.配置当前软件源,镜像非常大,所以首先要配置一下载速度快的软件源http://fffo.blog.163.com/blog/static/2119130682014322104136601/2.安装 ...
- Linux(Ubuntu)使用日记(七)------终端控制器Terminator安装使用
1.目的 实现分屏效果,如图: 如果使用系统自带的终端,可能会使这种效果: 综上所述,知道我们为什么要安装Terminator了吧. 2.安装过程 Terminator 的安装非常方便,在 Ubunt ...
- 电脑-制作WIN7启动U盘
1.需要准备的工具:win7系统盘(安装盘,不是ghost),软碟通工具,大于4G的U盘
随机推荐
- 下载PHPDroid: 基于WebView和PHP内置HTTP服务器开发Android应用
基于Android上的PHP(比如我打包的PHPDroid),寥寥几行PHP代码,就能实现一个支持无线局域网用浏览器访问的Android手机的Shell,用于执行命令和PHP代码. 个人在 ...
- JSONObject和JSONArray
点击下载json工具 点击下载支持jar包 1.从Object到String 要先用Object对象构造一个JSONObject或者JSONArray对象,然后调用它的toString()方法即可 ( ...
- js返回当前时间的毫秒数
Date.now(); +new Date(); new Date().getTime();
- Android - Ant自动编译打包android项目 -- 1(转)
1. 背景: Eclipse用起来虽然方便,但是编译打包android项目还是比较慢,尤其当要将应用打包发布到各个渠道时,用Eclipse手动打包各种渠道包就有点不切实际了,这时候我们用到Ant帮我 ...
- Delphi下URL汉字编码解码的两个函数
//汉字URL编码函数function URLEncode(const S: string; const InQueryString: Boolean): string;var Idx: Integ ...
- structs常用的Action
今天座右铭-----谦虚使人进步,骄傲使人落后. 除了基本的Action之外,structs还提供几个其他的类型Action,下面就简单的说一下: 1.DispatchAction:能同时完成多个Ac ...
- 【翻译】Microsoft Ajax Minifier 快速使用指南(与VS集成使用) 编译后直接压缩项目的JS或CSS文件
网上找了好久终于找到一个能跟VS集成使用的JS和CSS压缩工具,因为害怕忘记,所以给转发过来,顺便翻译一下,大学那会儿学的英语基本上都已经还给老师了,所以翻译的不太好,不过能看懂就成,对吧? 原文地址 ...
- JavaScript代码编写尝试使用Vanilla JS 或者Jquery插件
From Here: http://vanilla-js.com/ Vanilla JS is a fast, lightweight, cross-platform frameworkfor bui ...
- 普林斯顿大学算法课 Algorithm Part I Week 3 排序的应用 System Sorts
排序算法有着广泛的应用 典型的应用: 排序名称 排序MP3音乐文件 显示Google的网页排名的搜索结果 按标题顺序列出RSS订阅 排序之后下列问题就变得非常简单了 找出中位数(median) 找出统 ...
- hdu2795线段树
//=========================================== //segment tree //final version //by kevin_samuel(fenic ...