在linux上用dd命令实现ghost功能.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
在linux上用dd命令实现ghost功能

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操作系统,打开命令行,执行如下命令: ? ? ??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启动计算机。 ? ? ? ? 因此计算机运行时会对系统盘产生大量写操作。 直接对运行中的系统盘生成的镜像,在恢复到其他硬盘上时,很可能会无法启动! 一样适用于非Linux操作系统 ? ? ? ?在linux上用dd命令实现系统镜像备份和恢复,是不是很简单呢? ? ? ? ?对于Windows系统,甚至Mac等等任意系统,其实都可以用dd命令实现系统镜像的备份和恢复。 ? ? ? ?因为,Linux的fdisk命令能够识别任意系统下的分区格式。fdisk并不关系分区上的文件系统,甚至有无文件系统都不

文档评论(0)

ktj823 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档