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. chrome扩展写法

    最近看到公司同事经常写chrome扩展,来提高生成效率,回想想自己以前也写过chrome扩展,但是由于不经常写,也没做积累也都忘记了,现在重新回顾一下. 一.chrome扩展基本概念 chrome扩展 ...

  2. iOS - 利用 iTunes 接口检查 App 版本更新

    iOS 想要检查 App 当前版本是否为最新,一般的方案大概都是服务器自己提供一个接口来获取 App 最新版本是多少,然后再做出相应提示是否需要更新,但是接口需要手动维护,应用要审核,还得等审核通过以 ...

  3. Windows Server 2008 R2之五操作主控的管理

    一.概述 操作主控(FSMO)也称作操作主机(OM),它是指在AD中一个或多个特殊的DC,用来执行某些特殊的功能(资源标识符SID分配.架构修改.PDC选择等). 1.操作主控的分类 基于森林的操作主 ...

  4. python实现简单购物车系统(练习)

    #!Anaconda/anaconda/python #coding: utf-8 #列表练习,实现简单购物车系统 product_lists = [('iphone',5000), ('comput ...

  5. python中的range与xrange

    range 也是一种类型(type),它是一个数字的序列(s sequence of numbers),而且是不可变的,通常用在for循环中. class range(stop) class rang ...

  6. jqueryui和easyui区别

    jQuery自带的一个可选UI库,但是非常可惜,一些关键的组件没有包含进去,如TreeView, DataGrid,还需要寻找第三方的插件. EasyUI是某公司开发的一套对私免费,对公收费的UI库, ...

  7. hihocoder 1331 - 扩展二进制数 - [hiho一下168周]

    题目链接:http://hihocoder.com/problemset/problem/1331 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 我们都知道二进制数的每 ...

  8. 安装XP时BIOS的设置(ahci ide)

    和以前使用Windows XP一样,很多用户都在设法提高Windows 7的系统运行速速,比较常见的方法大多是对系统服务进行优化,去掉一些可有可无的系统服务,还有就是优化资源管理器菜单等.除此之外,还 ...

  9. Python:列表生成式

    List Comprehensions #列表生成式:Python内置的非常简单却强大的可以用来创建list的生成式. #生成list [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]可 ...

  10. iOS-动画之CoreAnimation框架(转载)

    一.简介 iOS动画主要是指Core Animation框架.官方使用文档地址为:Core Animation Guide.Core Animation是iOS和macOS平台上负责图形渲染与动画的基 ...