zoukankan      html  css  js  c++  java
  • 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

  • 相关阅读:
    GDB调试共享库的问题
    Android 2.3 StageFright如何选定OMX组件的?
    Perforce client p4常见用法
    pthread_cond_signal只能唤醒已经处于pthread_cond_wait的线程
    正则表达式验证数据例子
    美国经济数据公布时间
    .net去除html标签代码
    js Array 方法|js Array 方法使用
    在分析向此请求提供服务所需资源时出错。请检查下列特定分析错误详细信息并适当地修改源文件
    日期格式正则表达式
  • 原文地址:https://www.cnblogs.com/alanalan/p/3316598.html
Copyright © 2011-2022 走看看