linux系统如果想做备份还原,使用ghost的时候经常出现问题,后来发现可以直接使用dd命令完成硬盘的克隆和还原.
当拷贝完硬盘后,就可以拿这个硬盘放到其它设备上跑了。
也就是完成了“烧写”了。

用U盘制作ubuntu14.04的启动盘,在livecd模式中进行修复,步骤如下:
1.开机u盘启动,进入ubuntu安装程序,图形界面出来后,选择try ubuntu,不要选择install ubuntu。
2.之后便进入了ubuntu的体验环境。

打开命令行,执行:

sudo fdisk -u -l /dev/sda

结果

$fdisk -l /dev/sda

Disk /dev/sda: 32.0 GB,  bytes
heads, sectors/track, cylinders, total sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0006d236 Device Boot Start End Blocks Id System
/dev/sda1 * Linux
/dev/sda2 Extended
/dev/sda5 8e Linux LVM

查看硬件的分区情况,记住命令中最大的end数为N。

#全盘拷贝的命令

dd if=/dev/sdb of=/dev/sdc

#分区拷贝

dd bs= count=N+ if=/dev/sdb of=/media/usb/ghost.img

只打包sda就可以!!!

拷贝有两种方式,压缩和不压缩
#不压缩
--------------------------------------------------------*
#备份系统盘到/media/usb/下面

dd bs= count=N+ if=/dev/sda of=/media/usb/ghost.img

#可以不加count

#dd bs= if=/dev/sda of=/media/usb/ghost.img

#系统恢复

dd if=ghost.img of=/dev/sda

--------------------------------------------------------+

#压缩(系统打完的镜像不能超过4G,可能会报错https://www.cnblogs.com/sea-stream/p/10938792.html
--------------------------------------------------------*
#备份系统盘到/media/usb/下面

dd bs= count= if=/dev/sda | gzip - > /media/usb/ghost.img.gz

#可以不加count

#dd bs= if=/dev/sda | gzip - > /media/usb/ghost.img.gz

#系统恢复

gzip -c -d ghost.img.gz | dd of=/dev/sda

#补充
gzip参数:
-c 表示输出到stdout
-d 表示解压缩
-l 对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小,压缩比,未压缩文件的名字。
-r 递归式地查找指定目录并压缩其中的所有文件或者是解压缩。
-t 测试,检查压缩文件是否完整。
-v 对每一个压缩和解压的文件,显示文件名和压缩比。
-1 表示最快压缩
-9 表示最好压缩
-1或--fast表示最快压缩方法(低压缩比),-9或--best表示最慢压缩方法(高压缩比),默认使用的是-6压缩级别。
--------------------------------------------------------+
这样,就可以把我需要的分区数据全部copy到ghost.img文件中。
镜像制作完成了!

#烧写程序
这一步,是安装镜像到目标机器上,把U盘插到其他系统上,用U盘启动,进入UbuntuLiveCD,打开命令行,执行如下命令:
#没有压缩过的

dd if=ghost.img of=/dev/sda

#压缩过的

gzip -c -d ghost.img.gz | dd of=/dev/sda

完成后,拔掉U盘,启动计算机,就可以看到我们的Linux系统已经安装完毕了!

在上面的拷贝过程中,并不知道拷贝了多少,只有最终结束时才显示出时间、拷贝速度。为了查看进度,可以在另一个终端输入(记得用root):

watch -n  killall -USR1 dd

注意:
不要直接在计算机上用本地磁盘启动系统后执行dd命令生成本地磁盘的镜像,而应该使用livecd启动计算机。
因为计算机运行时会对系统盘产生大量写操作。
直接对运行中的系统盘生成的镜像,在恢复到其他硬盘上时,很可能会无法启动!

PS:使用dd命令,可以读取硬盘的mbr扇区,示例如下:

dd if=/dev/sdb of=mbr.bin bs= count=

查看整个磁盘占用情况

$fdisk -l

Disk /dev/sda: 32.0 GB,  bytes
heads, sectors/track, cylinders, total sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x0006d236 Device Boot Start End Blocks Id System
/dev/sda1 * Linux
/dev/sda2 Extended
/dev/sda5 8e Linux LVM Disk /dev/mapper/xxx--vg-root: 27.6 GB, bytes
heads, sectors/track, cylinders, total sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x00000000 Disk /dev/mapper/xxx--vg-swap_1: MB, bytes
heads, sectors/track, cylinders, total sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0x00000000 Disk /dev/sdb: 16.0 GB, bytes
heads, sectors/track, cylinders, total sectors
Units = sectors of * = bytes
Sector size (logical/physical): bytes / bytes
I/O size (minimum/optimal): bytes / bytes
Disk identifier: 0xcad4ebea Device Boot Start End Blocks Id System
/dev/sdb4 * c W95 FAT32 (LBA)

参考:
https://blog.csdn.net/Blaider/article/details/50434043
https://forum.ubuntu.org.cn/viewtopic.php?t=30149
https://blog.csdn.net/Rocarrot/article/details/80446840
https://blog.csdn.net/qq_19004627/article/details/80683789
https://blog.csdn.net/imliuqun123/article/details/81707414
https://blog.csdn.net/wangcg123/article/details/79236441
http://blog.chinaunix.net/uid-26729093-id-5469034.html
https://blog.csdn.net/xtggbmdk/article/details/82706380
https://blog.csdn.net/github_34965845/article/details/80734400
https://blog.csdn.net/enweitech/article/details/48173713

Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上的更多相关文章

  1. 使用dd命令克隆整个系统(转)

    神奇的ghost的原理是什么呢?不就是数据复制吗?Linux下的dd命令不就是最强大的数据复制工具!          既然如此,我为什么要使用g4l这样复杂的工具呢?一条dd命令不就可以帮我实现任意 ...

  2. 使用dd命令克隆整个系统

    神奇的ghost的原理是什么呢?不就是数据复制吗?Linux下的dd命令不就是最强大的数据复制工具!          既然如此,我为什么要使用g4l这样复杂的工具呢?一条dd命令不就可以帮我实现任意 ...

  3. 解决mysql跟php不在同一台机器上,编译安装php服务报错问题:configure: error: Cannot find MySQL header files under /application/mysql.

    在编译安装php服务时报错: configure: error: Cannot find MySQL header files under /application/mysql. Note that ...

  4. 使用dd命令克隆整个Linux系统

    参考:https://www.cnblogs.com/jikexianfeng/p/6103504.html 本次使用使用dd命令克隆整个Ubuntu系统 1,VM安装一台Ubuntu虚拟机 过程不详 ...

  5. 【转载】在Linux系统下用dd命令制作ISO镜像U盘启动盘

    #### 将U盘插入USB接口 #umount /dev/sdb* #dd if=/iso存放路径/XXX.iso of=/dev/sdb bs=1M ##### [转载]在Linux系统下用dd命令 ...

  6. ubuntu14.04下nodejs + npm + bower的安装、调试和部署

      1. 简介 本文介绍ubuntu14.04下nodejs+npm+bower的安装.调试和部署 参考文档 https://docs.npmjs.com/getting-started https: ...

  7. Ubuntu14.04和Windows双系统时无法挂载磁盘解决方法

    基本状况:我电脑Ubuntu14.04 和 Windows10 双系统,一个固态磁盘,一个机械磁盘.Ubuntu14.04装固态里面了,固态里没有Windows内容. 问题:Ubuntu14.04系统 ...

  8. Ubuntu14.04(nginx+php+mysql+vsftp)配置安装流程

    Ubuntu14.04(nginx+php+mysql+vsftp)配置安装流程 1.先切换到root用户 sudo  su 2.更新软件源 apt update apt-get upgrade 3. ...

  9. 【电子取证:FTK Imager篇】DD、E01系统镜像仿真

    星河滚烫,人生有理想! ​ ---[suy999] DD.E01系统镜像动态仿真 (一)使用到的软件 1.FTK Imager (v4.5.0.3) 2.VMware Workstation 15 P ...

随机推荐

  1. C# 关于爬取网站数据遇到csrf-token的分析与解决

    需求 某航空公司物流单信息查询,是一个post请求.通过后台模拟POST HTTP请求发现无法获取页面数据,通过查看航空公司网站后,发现网站使用避免CSRF攻击机制,直接发挥40X错误. 关于CSRF ...

  2. POJ1988(Cube Stacking)--并查集

    题目链接:http://poj.org/problem?id=1988 题意:有n个元素,开始每个元素各自在一个栈中,有两种操作,将含有元素x的栈放在含有y的栈的顶端,合并为一个栈. 第二种操作是询问 ...

  3. babel-plugin-transform-remove-strict-mode

    场景:在VUE项目中,需要用到横向滚动条,在引入MUI相关的组件后,模板中的代码如下 在控制台中报错 报错内容说的是在严格模式下(strict mode)类型错误 经过推测,觉得可能是mui.js中用 ...

  4. MYSQL日期相关操作

    *******MYSQL中取当前周/月/季/年的第一天与最后一天******* 当年第一天: SELECT DATE_SUB(CURDATE(),INTERVAL dayofyear(now())-1 ...

  5. 用js原生加jquery实现下拉跳转至商品详情页,上拉回到商品简介

    在做一个商城的项目时,做到商品详情页的时候需要实现这种下拉跳转到商品详情页加载许多图片,上拉回到商品简介的效果,并且需要用户在滑动时有一种费力的感觉.最初是通过iscroll插件实现的,但这个插件在使 ...

  6. Java 之 泛型

    一.泛型概述 集合中是可以存放任意对象的,只要把对象存储集合后,那么这时他们都会被提升成 Object 类型.当我们取出一个对象,并且进行相应的操作,这时必须采用类型转换. 先观察下面代码: publ ...

  7. RAII Theory && auto_ptr

    RAII(Resource Acquisition is Initialization),也称为"资源获取即初始化",是C++语言的一种管理资源,避免泄露的惯用法. C++标准保证 ...

  8. SQL中新建注释、查询注释和说明

    1.查询注释 SELECT A.name AS table_name, B.name AS column_name, C.value AS column_description FROM sys.ta ...

  9. rt-thread下调试elmfat 问题记录

    硬件平台:stm32f107   SPI flash:w25q32 RTT版本:v2.1 w25q32的驱动大神们已经写好(w25qxx.c),我只需要照猫画虎的实现相应SPI的驱动程序即可(bsp例 ...

  10. 排序算法(冒泡、选择)-python代码展示

    冒泡排序: def bubble_sort(list): for i in range(len(list) - 1): # 这个循环负责设置冒泡排序进行的次数 for j in range(len(l ...