e2image

e2Image程序将位于设备上的ext2、ext3或ext4文件系统元数据保存到由图像文件指定的文件中。通过对这些程序使用-i选项,image文件可以由dupe2fs和调试器来检查。这可以帮助专家恢复严重损坏的文件系统。

如果image文件是”-“,那么e2image的输出将被发送到标准输出,以便输出可以管道到另一个程序,如gzip(1)。(请注意,目前只有在使用-r选项创建原始image文件时才支持这一点,因为创建普通image文件或QCOW 2映像的过程目前需要对文件进行随机访问,这不能使用管道进行。)

最好为系统上的所有文件系统创建映像文件,并定期保存分区布局(可以使用fdisk-l命令生成)。image文件应该存储在它所包含的数据的文件系统以外的其他文件系统上,以确保在文件系统严重损坏的情况下可以访问这些数据。

为了节省磁盘空间,e2Image将image文件创建为稀疏文件,或以QCOW2格式创建。因此,如果需要将稀疏image文件复制到另一个位置,则应该首先对其进行压缩,或者使用GNU版本的cp ” sparse=always”选项。这不适用于QCOW2映像,它并不稀疏。

ext2映像文件的大小主要取决于文件系统的大小和正在使用的inode数量。对于一个典型的10GB文件系统,120万个节点中有20万个节点在使用,image文件将大约为35兆字节;在55万个节点中使用15000个节点的4G文件系统将产生一个3MB的image文件。image文件通常是可压缩的;占用磁盘上32 MB空间的image文件通常会压缩到3或4MB。

此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

1、语法

     e2image [ -rsI ] device image-file

 

2、选项列表

选项

说明

-I

将文件中的元数据恢复到分区

-r

创建raw格式的image

-Q

创建QCOW2格式的image

 

3、说明

1)“-I”选项

“-I”选项将导致e2Image将存储在映像文件中的元数据重新安装到设备上。它可用于在紧急情况下将文件系统元数据还原回设备。只有当其他选择失败时,才应该使用”-I”选项作为一种绝望措施。如果文件系统在创建image文件后发生了更改,数据将丢失。通常,您应该首先对文件系统进行完整的映像备份,以便以后尝试其他恢复策略。

2)“-r”选项

“-r”选项将创建一个原始image文件,而不是普通的image文件。原始image文件与普通image文件有两种不同之处。首先,将文件系统元数据放置在适当的位置,以便e2fsck、dupe2fs、调试器等。可以直接在原始image文件上运行。为了尽量减少原始映像文件占用的磁盘空间,将该文件创建为稀疏文件。(请注意使用不了解如何创建稀疏文件的实用程序复制或压缩/解压缩该文件;该文件将与文件系统本身一样大!)其次,原始image文件还包括标准image文件没有的间接块和目录块,尽管这在将来可能会发生变化。

当将文件系统作为bug报告的一部分发送给维护人员时,有时会使用原始映像文件到e2fsprogs。当以这种方式使用时,建议的命令如下(用适当的设备替换hda1):“e2image  -r  /dev/hda1  -  |  bzip2  > hda1.e2i.bz2”。这将只发送元数据信息,没有任何数据块。但是,目录块中的文件名仍然可以显示关于文件系统内容的信息,bug报告人员可能希望将这些信息保密。要解决此问题,可以指定“-s”选项。这将导致e2Image对目录条目进行置乱,并在写入image文件之前将目录块中任何未使用的部分清零。但是,“-s”选项将防止分析与散列树索引目录相关的问题

请注意,即使您将“/dev/hda 1”替换为另一个原始磁盘映像或先前由e2Image创建的QCOW2映像,这也是可行的。

3)“-Q”选项

“-Q”选项将创建一个QCOW2 image文件,而不是普通的或原始的image文件。QCOW2 image包含原始image所做的所有信息,但是与原始image不同的是,它并不稀疏。QCOW 2映像通过将数据以特殊格式存储,并将数据紧密地打包在一起,从而将磁盘空间的数量降到最低,从而避免了漏洞,同时仍然最小化了大小。

为了将文件系统作为bug报告的一部分发送给维护人员到e2fsprogs,请使用以下命令:“e2image  -Q  /dev/hda1  hda1.qcow2“、”bzip2  -z  hda1.qcow2”。这将只发送元数据信息,没有任何数据块。但是,目录块中的文件名仍然可以显示关于文件系统内容的信息,bug报告人员可能希望将这些信息保密。要解决此问题,可以指定“-s”选项。这将导致e2Image对目录条目进行置乱,并在写入image文件之前将目录块中任何未使用的部分清零。但是,“-s”选项将防止分析与哈希树索引目录相关的问题.

请注意,e2Image创建的qcow2映像是规则的qcow2映像,可以通过知道qcow2格式的工具进行处理,例如qemu-img。

4、实例

保存sdb4元数据

[root@localhost ~]# e2image /dev/sdb4 sdb4

e2image 1.41.12 (17-May-2010)

[root@localhost ~]# file sdb4

sdb4: Linux rev 1.0 ext2 filesystem data

Linux基础命令---e2image的更多相关文章

  1. 第四节,Linux基础命令

    第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令         ...

  2. 【Python之路】第一篇--Linux基础命令

    pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 .   表示当前目录 ..  表示上级目录 /  表示根目录 ls ...

  3. linux基础命令学习笔记(二)

    linux基础命令学习笔记(二) 1.kill :终止进程  kill pid (唯一标示一个进程) kill -9  强制终止  kill -15 命令未结束不能终止 # ps aux 查看所有进程 ...

  4. 2.Linux基础命令

    linux内一切皆文件,没有文件夹只有目录,目录也是一种文件 1.一些常用按键: 将鼠标的光标从虚拟机里切换回来:Ctrl+Alt 拖动Ubuntu内的对话框:Alt键+鼠标左键拖动 清屏:Ctrl+ ...

  5. linux基础命令一

    linux基础命令一 1.date命令 date命令介绍:显示或者设置系统日期 date命令的语法: 显示日期:date  [options...]  [+FORMAT] FORMAT:为显示日期的格 ...

  6. linux基础命令:

    linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...

  7. 常用的linux基础命令

    常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...

  8. Linux基础命令-文件与目录

    Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...

  9. Linux基础命令回顾

    前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...

随机推荐

  1. Olivia Palermo & Johannes Huebl 模范情侣

    男才女貌,模范情侣-- 以后引用情侣时就用这个图了~ ref: http://bbs.55bbs.com/thread-8250584-1-1.html

  2. thinkCMF----使用自定义函数

    thinkCMF使用自定义函数:app 下新建 common.php

  3. Centos7.2安装ruby用于爬虫脚本

    1,系统版本查看 2,安装依赖包 yum -y install ruby-devel yum -y install mysql-devel  yum -y install gcc-c++ gcc  r ...

  4. (sklearn)机器学习模型的保存与加载

    需求: 一直写的代码都是从加载数据,模型训练,模型预测,模型评估走出来的,但是实际业务线上咱们肯定不能每次都来训练模型,而是应该将训练好的模型保存下来 ,如果有新数据直接套用模型就行了吧?现在问题就是 ...

  5. CodeForces - 798D Mike and distribution 想法题,数学证明

    题意:给你两个数列a,b,你要输出k个下标,使得这些下标对应的a的和大于整个a数列的和的1/2.同时这些下标对应的b //题解:首先将条件换一种说法,就是要取floor(n/2)+1个数使得这些数大于 ...

  6. YARN架构设计详解

    一.YARN基本服务组件 YARN是Hadoop 2.0中的资源管理系统,它的基本设计思想是将MRv1中的JobTracker拆分成了两个独立的服务:一个全局的资源管理器ResourceManager ...

  7. 使用代理*** and kubeadm init错误

    没有代理 可申请AWS免费账户,创建EC2实例,搭建Shadowsocks服务器. 配置代理客户端 参考链接:https://www.zybuluo.com/ncepuwanghui/note/954 ...

  8. 安装crf++的python包

    在Linux上可以在taku910的github博客(https://taku910.github.io/crfpp/)下载crf++的linux版本,然后按照python文件夹下的README编译安 ...

  9. Closest Common Ancestors---poj1470(LCA+离线算法)

    题目链接:http://poj.org/problem?id=1470 题意是给出一颗树,q个查询,每个查询都是求出u和v的LCA:    以下是寻找LCA的预处理过程: void LCA(u){ f ...

  10. CF1044B Intersecting Subtrees 构造+树论

    正解:构造 解题报告: 传送门 又是一道交互题!爱了爱了! 这题真的,极妙!非常神仙!就非常非常思维题! 直接说解法了吼 说起来实在是简单鸭 就是先问一个对方的联通块中的一个点在我这儿的编号,记为x ...