ghost和g4l

安装操作系统,速度太慢,整个过程太冗长乏味了。

安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入无数的文件。因为涉及到大量的文件定位和读写,速度一定是快不起来的。

Windows下我们常常使用ghost系统来备份和刻录操作系统。ghost可以clone整个系统的镜像,然后在新的电脑上恢复,相当简单。用ghost系统安装操作系统比使用安装光盘安装系统要快捷多了,也不需要回答任何问题了。

那么,我们能不能用ghost来备份和恢复Linux系统呢。

答案是不行。因为ghost只能识别很少的老旧Linux文件系统,也无法识别grub和LILO等引导加载程序。

其实,Linux下也有ghost工具,最著名的有g4l—ghostForLinux。

用了一下ghostForLinux。如果是整个磁盘的复制和恢复,还算简单。但是,我试了半天,也没办法实现对一个或者几个分区的恢复。

g4l,还是太弱了,无法满足我的要求!

神奇的fdisk和dd命令

深深的苦恼中,灵光乍现:神奇的ghost的原理是什么呢?不就是数据复制吗?Linux下的dd命令不就是最强大的数据复制工具!

既然如此,我为什么要使用g4l这样复杂的工具呢?一条dd命令不就可以帮我实现任意复杂的镜像复制和恢复的需求了吗?管他是grub,还是ext4,btrfs,FAT32,NTFS…dd面前众生平等。

进入Linux操作系统,打开命令行,执行如下命令:

1

sudo  fdisk -u -l

可以查看所有磁盘上的所有分区的尺寸和布局情况。

-u,让start和end中数字的单位是512字节,也就是一个sector扇区的大小。

假设我有一个/dev/sda磁盘,有100GB大小。我安装了一个Ubuntu操作系统。使用了如下分区:

/dev/sda1 5GB

/dev/sda2 1GB扩展分区

/dev/sda5 1GB扩展分区

/dev/sda2是所有扩展分区,它的大小和/dev/sda5重合。

/dev/sda1是ext4格式的文件系统。用于安装ubuntu操作系统。

/dev/sda5是swap格式的文件系统,作为交换分区。

如果我用弱智的g4l工具制作系统的镜像,就需要备份整个磁盘100GB,而不是我需要的6GB。

g4l也可以单独备份分区,但是在恢复时,就需要在目标计算机上安装好grub,并进行了适当的分区。很麻烦!

我这里,可以使用一条dd命令就生成6GB的镜像。然后可以在任意硬盘大于6GB的计算机上恢复出完整的系统,包括MBR和3个分区sda1,sda2,sda5。

具体步骤

找一个U盘,安装UbuntuLive Cd系统。【具体如何制作U盘启动的UbuntuLive CD,可以参考Ubuntu官方网站的帮助。】

UbuntuLive Cd和WindowsPE系统类似,是光盘/U盘引导的Ubuntu操作系统,不需要安装就可以直接使用。

U盘启动,进入盘上的Ubuntu系统,打开命令行,执行:

sudo  fdisk -u -l /dev/sda

查看硬件的分区情况。

然后执行:

dd   bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sda of=/ghost.img

这样,就可以把我需要的分区数据全部copy到ghost.img文件中。镜像制作完成了!

然后,我们就可以把U盘插到其他系统上,用U盘启动,进入UbuntuLiveCD,打开命令行,执行如下命令:

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

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

注意:

不要直接在计算机上用本地磁盘启动系统后执行dd命令生成本地磁盘的镜像。而应该使用livecd启动计算机。

因此计算机运行时会对系统盘产生大量写操作。 直接对运行中的系统盘生成的镜像,在恢复到其他硬盘上时,很可能会无法启动!

21/212>

linux ghost dd,在Linux上用dd命令实现ghost功能相关推荐

  1. mac linux自动补全,MacOS 上使用docker命令补全功能

    摘要 在CentOS系统上敲了很久的自动补全docker命令之后,在自己的mac系统里发现很不适应而且没什么效率,于是就google了一番查找. 1.安装brew ruby -e "$(cu ...

  2. linux github代码仓库,centos7上使用git命令把代码放到github上

    git仓库相关说明: 有关仓库这里着重说明下: 一种情况是本地没有仓库,而在github上有自己的仓库名称,需要从github上clone仓库(项目)到本地,这样就会在执行git clone命令的当前 ...

  3. ipad加载linux系统文件夹,iPad平板电脑上常用Unix命令

    iPad的操作系统iOS实际上是根据MacOSX操作系统简化而来的,底层大量的命令是通用的,都是类Unix的操作系统.下面简单介绍在iPad上可以使用的常见命令. 提示:以下命令要求巳经通过SSH登录 ...

  4. linux 安装lrzsz实现 XShell 上传下载 命令 rz、sz

    安装命令: yum install lrzsz 从服务端下载文件到客户端: sz filename 从客户端上传文件到服务端: rz 在弹出的框中选择文件,上传文件的用户和组是当前登录的用户 Xshe ...

  5. linux删除磁带设备,Linux下磁带管理命令

    1.磁带设备名 2.管理磁带驱动器的基本命令 3.基本的备份和恢复命令 为什么备份? 一个备份计划对定期备份文件来说很有必要,如果你宁愿选择不备份,那么丢失重要数据的风险会大大增加.有了备份,你就有了 ...

  6. linux系统软件包分类,Linux软件包管理和编译安装

    软件包介绍 开源软件最初只提供了.tar.gz的打包的源码文件,用户必须自已编译每个想在GNU/Linux上运行的软件.用户急需系统能提供一种更加便利的方法来管理这些软件,当Debian诞生时,这样一 ...

  7. linux etc passwd权限,Linux中/etc/passwd配置文件详解

    原标题:Linux中/etc/passwd配置文件详解 /etc/passwd文件: 系统用户配置文件,存储了系统中所有用户的基本信息,并且所有用户都可以对此文件执行读(r)操作. 查看文件内容: / ...

  8. ghost u盘 linux,在Linux上用dd命令实现Ghost功能

    具体步骤 找一个U盘,安装UbuntuLive Cd系统.[具体如何制作U盘启动的UbuntuLive CD,可以参考Ubuntu官方网站的帮助.] UbuntuLive Cd和WindowsPE系统 ...

  9. linux ghost功能,在linux上用dd命令实现ghost功能(示例代码)

    转自:http://blog.jobbole.com/90978/ ghost和g4l 安装操作系统,速度太慢,整个过程太冗长乏味了. 安装过程中,需要回答若干问题,系统需要安装无数个软件,创建和写入 ...

  10. Linux上通过dd命令低格硬盘

    Linux上通过dd命令低格硬盘 背景 格式化脚本以及查询进度的方法 背景 手里有几台租借的服务器需要归还,为了保护数据不被泄露,需要对服务器数据盘(除系统盘外其他所有硬盘)进行低级格式化. 格式化脚 ...

最新文章

  1. k近邻算法api初步使用
  2. Redis持久存储-AOFRDB
  3. 背景建模与前景检测1(Background Generation And Foreground Detection)
  4. 03-CA/TA编程:aes_auth demo
  5. [实践篇] Softmax Regression
  6. 企业CIO如何让IT部门成为价值中心
  7. java 有穷自动机_Java实现雪花算法(snowflake)
  8. Linux环境下安装Mysql5.7
  9. js 下拉层级多选_js控制的多级下拉菜单
  10. Unity AssetBundle 爬坑手记
  11. Python学习笔记(四)—生成随机数
  12. 计算机技巧网站,13个实用电脑技巧汇总
  13. 小米6不显示与电脑连接到服务器,小米6怎么连接上电脑连不上怎么办
  14. Java手机验证码的实现
  15. 给小朋友讲故事——科学课,地球,太阳和月亮第二集人类登月第一段
  16. 生产环境nginx集群高可用方案
  17. canvas内的字体实现阴影效果
  18. 哈师大计算机学院2016级新生,【通知公告】哈尔滨师范大学2016—2017学年度国家励志奖学金获奖学生初审名单公示...
  19. VCS自带的UPF低功耗仿真demo介绍
  20. c语言的离骚,高中必修一语文离骚翻译及赏析

热门文章

  1. 腾讯之困,QQ与微信各有各的烦恼
  2. 5.mybatis实战教程(mybatis in action)之五:与spring3集成(附源码)
  3. 【实习记】2014-09-26恢复linux下误删的ntfs盘中的文件
  4. 用报表工具Style Report制作排名前N名的分组报表
  5. 第四季-专题12-按键驱动程序设计
  6. WEB-ERROR-PAGE
  7. [译] TensorFlow 教程 #15 - 风格迁移
  8. spin_lock浅析【转】
  9. v97fp5后, load问题诊断方法增强.
  10. oracle的时间取的到底是谁的时间