zoukankan      html  css  js  c++  java
  • Ubuntu14.04 dd命令克隆系统镜像安装到另一台机器上

    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, 32017047552 bytes
    255 heads, 63 sectors/track, 3892 cylinders, total 62533296 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0006d236
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048      499711      248832   83  Linux
    /dev/sda2          501758    62531583    31014913    5  Extended
    /dev/sda5          501760    62531583    31014912   8e  Linux LVM

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


    #全盘拷贝的命令

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

    #分区拷贝

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

    只打包sda就可以!!!

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

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

    #可以不加count

    #dd bs=512 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=512 count=250068999 if=/dev/sda | gzip -9 > /media/usb/ghost.img.gz

    #可以不加count

    #dd bs=512 if=/dev/sda | gzip -9 > /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 5 killall -USR1 dd


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


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

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

    查看整个磁盘占用情况

    $fdisk -l
    
    Disk /dev/sda: 32.0 GB, 32017047552 bytes
    255 heads, 63 sectors/track, 3892 cylinders, total 62533296 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x0006d236
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sda1   *        2048      499711      248832   83  Linux
    /dev/sda2          501758    62531583    31014913    5  Extended
    /dev/sda5          501760    62531583    31014912   8e  Linux LVM
    
    Disk /dev/mapper/xxx--vg-root: 27.6 GB, 27573354496 bytes
    255 heads, 63 sectors/track, 3352 cylinders, total 53854208 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/mapper/xxx--vg-swap_1: 4181 MB, 4181721088 bytes
    255 heads, 63 sectors/track, 508 cylinders, total 8167424 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0x00000000
    
    
    Disk /dev/sdb: 16.0 GB, 16005464064 bytes
    255 heads, 63 sectors/track, 1945 cylinders, total 31260672 sectors
    Units = sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 512 bytes
    I/O size (minimum/optimal): 512 bytes / 512 bytes
    Disk identifier: 0xcad4ebea
    
       Device Boot      Start         End      Blocks   Id  System
    /dev/sdb4   *         256    31260671    15630208    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

  • 相关阅读:
    CSS3 target伪类简介
    不用position,让div垂直居中
    css3 在线编辑工具 连兼容都写好了
    a标签伪类的顺序
    oncopy和onpaste
    【leetcode】1523. Count Odd Numbers in an Interval Range
    【leetcode】1518. Water Bottles
    【leetcode】1514. Path with Maximum Probability
    【leetcode】1513. Number of Substrings With Only 1s
    【leetcode】1512. Number of Good Pairs
  • 原文地址:https://www.cnblogs.com/sea-stream/p/10920829.html
Copyright © 2011-2022 走看看