linux系统ext4文件系统rm删除的文件怎么恢复
系统:Oracle Linux OEL6.5 x64 分区格式:ext4 起因:今天手贱在自己服务器上误操作将/home/ORACLE目录给删除了,结果导致服务全面崩溃 遂谷歌了一把发现了神器 extundelete(如果是ext3文件系统请使用ext3grep,本人未做测试),这玩意可比瘟得死下面的各种恢复工具强大多了(至少本人是这么认为的)。
关于extundelete这个工具的说明使用,官方网站extundelete.sourceforge.net是这样说的,extundelete是一种实用的工具,可以从ext3或ext4分区恢复被删除的文件,不能保证恢复所有的文件,所以最好能做好备份.它的最新版本是0.2.4 为什么要用extundelete?官方这样描述,如果您已经在ext4的文件系统中删除了文件,选extundelete是一个不错的选择,它能够恢复已删除文件的文件名及内容.如果是在ext3的文件系统中删除了文件,extundelete和ext3grep比较仍然有一些优点,extundelete分析日志文件后,能够立即恢复一个文件,ext3grep分析整个硬盘才开始恢复硬盘中的文件,ext3grep方法是是有效的从一个小分区恢复多个文件,所以相比而言,如果需要从一个大的分区中恢复文件,extundelete要快些.注意:在安装extundelete之前,要确定已经安装了e2fsprogs和e2fslibs(确定e2fsprogs的版本在1.41或者更高版本,可通过运行命令dumpe2fs来查看版本).一、下载及安装软件 extundelete 主页:http://extundelete.sourceforge.net/ 下载地址:http://nchc.dl.sourceforge.net/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2 (需 跨墙) ubuntu用户可直接安装: apt-get install extundelete# wget http://nchc.dl.sourceforge.NET/project/extundelete/extundelete/0.2.4/extundelete-0.2.4.tar.bz2# tar -jxvf extundelete-0.2.4.tar.bz2 # cd extundelete-0.2.4 # ./configure --prefix=/usr/local/extundelete # make && make install extundelete --help 查看有哪些选项 --restore-file 指定恢复文件, --restore-all 恢复全部等等,恢复完成后,恢复的文件就在当前目录下生成的RECOVERED_FILES的目录里.实测:rm -rf /home/oracle [plain] view plain copy [root@rac1 extundelete-0.2.4]# df -Th Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/VolGroup-lv_root ext4 50G 19G 29G 40% / tmpfs tmpfs 998M 80K 998M 1% /dev/shm /dev/sda1 ext4 477M 55M 397M 13% /boot /dev/mapper/VolGroup-lv_home ext4 28G 44M 26G 1% /home 二、数据恢复 1.卸载需要恢复文件的分区 [root@rac1 extundelete-0.2.4]# fuser -k ?home [root@rac1 extundelete-0.2.4]# umount /home 2.使用extundelete查看分区上存在的文件 [plain] view plain copy [root@rac1 extundelete-0.2.4]# extundelete --inode 2 /dev/mapper/VolGroup-lv_home # --inode 为查找某i节点中的内容,使用2则说明为搜索,如果需要进入目录搜索,只须要指定目录I节点即可NOTICE: Extended attributes are not restored. Loading filesystem metadata ... 221 groups loaded. Group: 0 Contents of inode 2: 0000 | ed 41 00 00 00 10 00 00 74 85 fe 53 72 85 fe 53 | .A......t..Sr..S 0010 | 72 85 fe 53 00 00 00 00 00 00 03 00 08 00 00 00 | r..S............ 0020 | 00 00 08 00 02 00 00 00 0a f3 01 00 04 00 00 00 | ................ 0030 | 00 00 00 00 00 00 00 00 01 00 00 00 11 24 00 00 | .............$.. 0040 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 0050 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 0060 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 0070 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 0080 | 1c 00 00 00 cc 8f 32 d4 cc 8f 32 d4 1c 8c d6 9d | ......2...2..... 0090 | d1 21 ea 53 00 00 00 00 00 00 00 00 00 00 02 ea | .!.S............ 00a0 | 07 06 3c 00 00 00 00 00 21 00 00 00 00 00 00 00 | ..00b0 | 73 65 6c 69 6e 75 78 00 00 00 00 00 00 00 00 00 | selinux......... 00c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................ 00d0 | 00 00 00 00 00 00 00 00 00 00 00 00 73 79 73 74 | ............syst 00e0 | 65 6d 5f 75 3a 6f 62 6a 65 63 74 5f 72 3a 68 6f | em_u:object_r:ho 00f0 | 6d 65 5f 72 6f 6f 74 5f 74 3a 73 30 00 00 00 00 | me_root_t:s0.... Inode is Allocated File mode: 16877 Low 16 bits of Owner Uid: 0 Size in bytes: 4096 Access time: 1409189236 Creation time: 1409189234 Modification time: 1409189234 Deletion Time: 0 Low 16 bits of Group Id: 0 Links count: 3 Blocks count: 8 File flags: 524288 File version (for NFS): 0 File ACL: 0 Directory ACL: 0 Fragment address: 0 Direct blocks: 127754, 4, 0, 0, 1, 9233, 0, 0, 0, 0, 0, 0 Indirect block: 0 Double indirect block: 0 Triple indirect block: 0 File name | Inode number | Deleted status . 2 .. 2 lost+found 11 oracle 523265 Deleted 被删除的oracle文件夹已经被找到,状态为已经删除,接下来就将它们恢复出来。
[root@rac1 Desktop]# extundelete --restore-all /dev/mapper/VolGroup-lv_home # --restore-all是全部恢复 ,默认全将恢复出来的文件放在当前路径 RECOVERED_FILES/ 目录下,文...
100分求助!关于Linux下误将ext4分区格式化为swap分区的恢复
展开全部 不论windows还是linux一旦发现数据丢失损坏。
都要立即关机,停用。
注意,最好别太温柔,别搞什么正常关机。
就是说windows,下别点击开始,选关机。
linux,也别用shutdown -h now或init 0了。
鼠标点击的方式也别用了。
直接拔电源。
因为正常关机时,可能会有一些数据被写入硬盘保存。
这样,会不会把要恢复的数据覆盖掉呢?不好说。
把硬盘拆下来。
另外找一台电脑,把拆下的硬盘装上去,找专用的数据恢复软件恢复。
在这里,要关注的是省电脑的系统和数据恢复软件配合。
linux系统的硬盘发现数据丢失,硬盘拆了,装到另外一台windows的电脑上,进行恢复。
windows电脑上,应该安装使用windows版的数据恢复软件。
实际上,在这里,linux版的软件能下载但是不能安装。
如果linux系统的硬盘发现数据丢失,硬盘拆了,装到的另外一台电脑也是linux,那另外的电脑上安装的数据恢复软件也只能是linux版的。
这里不用管发行版,别管什么原来的系统是ubuntu,现在恢复的电脑是centos。
这样的问题不用在意。
为什么呢?因为对于电脑来说,只要是相同相似的东西。
原理就是类似的。
同样是操作系统,windows原理和linux近似。
同样是硬盘分区,windows的fat32、ntfs和linux的ext3、ext4、xfs等等也有相似或相同点。
所以能恢复windows下的数据,就能恢复linux的数据,反之亦然。
...
装linux系统把数据全部删掉能恢复吗
不论你使用的是什么系统,如果磁盘数据资料删除或误格式化后想要恢复,都不能再对该磁盘进行任何读写存取操作。
应该马上用专门的数据恢复软件对出现问题的磁盘或分区进行扫描,此外,还要注意,准备一块容量充足的硬盘。
也就是说如果误删误格的数据有100G的话,一定要准备一个不小于100G的空的磁盘或分区,使用专业的数据换成是救援工具扫描硬盘后,发现的数据资料,就要被恢复到那快另外准备的磁盘里面。
因此,一个硬盘的数据丢失损坏,能否救会。
与你原先使用的系统无关。
但是却与你使用的是那一种救援工具有关。
如果你的数据恢复救援工具只能在windows下安装,你的系统却是linux,那肯定不行。
如果你的救援工具只能识别NTFS,FAT32等windows下的格式,却不认识,ext3,ext4和xfs等linux下的格式。
那就很有可能救不了,linux下被误删误格的数据信息了。
反过来也是一样。
剪切的文件丢失如何恢复
只能进行数据恢复.数据恢复软件有EasyRecovery、超级硬盘数据恢复软件.以超级硬盘数据恢复软件为例:1、针对剪切丢失的数据,选择"恢复删除的文件2、选择丢失文件所在的盘符,如下图所示,点击下一步,等待扫描完毕.3、在扫描的结果中勾选出所丢失的文件,点击"开始恢复 (自行选择恢复文件的路径即可)ps:一般剪切、移动而导致丢失的数据成功恢复的可能性极低,如果数据很重要的话,就需要到专业的数据恢复中心.
linux ext4分区多大合理
这个完全取决于 linux系统的 文件分区类型,比如 ext3 和ext4这两种文件分区类型,Ext3目前所支持的最大16TB文件系统和最大2TB文件,Ext4分别支持1EB的文件系统,以及16TB的文件。
以下是Ext4和Ext3的特点和区别:Linuxkernel自2.6.28开始正式支持新的文件系统Ext4。
Ext4是Ext3的改进版,修改了Ext3中部分重要的数据结构,而不仅仅像Ext3对Ext2那样,只是增加了一个日志功能而已。
Ext4可以提供更佳的性能和可靠性,还有更为丰富的功能:1.与Ext3兼容。
执行若干条命令,就能从Ext3在线迁移到Ext4,而无须重新格式化磁盘或重新安装系统。
原有Ext3数据结构照样保留,Ext4作用于新数据,当然,整个文件系统因此也就获得了Ext4所支持的更大容量。
2.更大的文件系统和更大的文件。
较之Ext3目前所支持的最大16TB文件系统和最大2TB文件,Ext4分别支持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及16TB的文件。
3.无限数量的子目录。
Ext3目前只支持32,000个子目录,而Ext4支持无限数量的子目录。
4.Extents。
Ext3采用间接块映射,当操作大文件时,效率极其低下。
比如一个100MB大小的文件,在Ext3中要建立25,600个数据块(每个数据块大小为4KB)的映射表。
而Ext4引入了现代文件系统中流行的extents概念,每个extent为一组连续的数据块,上述文件则表示为“该文件数据保存在接下来的25,600个数据块中”,提高了不少效率。
5.多块分配。
当写入数据到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块,写一个100MB文件就要调用25,600次数据块分配器,而Ext4的多块分配器“multiblockallocator”(mballoc)支持一次调用分配多个数据块。
6.延迟分配。
Ext3的数据块分配策略是尽快分配,而Ext4和其它现代文件操作系统的策略是尽可能地延迟分配,直到文件在cache中写完才开始分配数据块并写入磁盘,这样就能优化整个文件的数据块分配,与前两种特性搭配起来可以显著提升性能。
7.快速fsck。
以前执行fsck第一步就会很慢,因为它要检查所有的inode,现在Ext4给每个组的inode表中都添加了一份未使用inode的列表,今后fsckExt4文件系统就可以跳过它们而只去检查那些在用的inode了。
8.日志校验。
日志是最常用的部分,也极易导致磁盘硬件故障,而从损坏的日志中恢复数据会导致更多的数据损坏。
Ext4的日志校验功能可以很方便地判断日志数据是否损坏,而且它将Ext3的两阶段日志机制合并成一个阶段,在增加安全性的同时提高了性能。
9.“无日志”(NoJournaling)模式。
日志总归有一些开销,Ext4允许关闭日志,以便某些有特殊需求的用户可以借此提升性能。
10.在线碎片整理。
尽管延迟分配、多块分配和extents能有效减少文件系统碎片,但碎片还是不可避免会产生。
Ext4支持在线碎片整理,并将提供e4defrag工具进行个别文件或整个文件系统的碎片整理。
11.inode相关特性。
Ext4支持更大的inode,较之Ext3默认的inode大小128字节,Ext4为了在inode中容纳更多的扩展属性(如纳秒时间戳或inode版本),默认inode大小为256字节。
Ext4还支持快速扩展属性(fastextendedattributes)和inode保留(inodesreservation)。
12.持久预分配(Persistentpreallocation)。
P2P软件为了保证下载文件有足够的空间存放,常常会预先创建一个与所下载文件大小相同的空文件,以免未来的数小时或数天之内磁盘空间不足导致下载失败。
Ext4在文件系统层面实现了持久预分配并提供相应的API(libc中的(posix_fallocate)),比应用软件自己实现更有效率。
13.默认启用barrier。
磁盘上配有内部缓存,以便重新调整批量数据的写操作顺序,优化写入性能,因此文件系统必须在日志数据写入磁盘之后才能写commit记录,若commit记录写入在先,而日志有可能损坏,那么就会影响数据完整性。
Ext4默认启用barrier,只有当barrier之前的数据全部写入磁盘,才能写barrier之后的数据。
(可通过"mount-obarrier=0"命令禁用该特性。
) 以上希望能帮到你。
呵呵
Linux系统下不小心使用rm命令删除的文件能有办法恢复吗?
展开全部 linux的文件被rm删除是可以通过linux自带的文件恢复工具debugfs来进行恢复,但是只能恢复ext2文件系统的文件,不能恢复ext3文件系统的文件。
1,首先查看需要恢复的文件所在的文件系统 命令行模式下输入指令mount [xuwangcheng14@root]# mount/dev/xvda1 on / type ext2 (rw,errors=remount-ro)proc on /proc type proc (rw,noexec,nosuid,nodev)sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)由上知,/dev/xvda1挂载在/下,即根目录,且文件系统是ext2 2,将要找回的文件所在的分区重新挂载成只读(因为这样比较安全,可以防止因新的文件写入该分区而导致无法找回文件) [xuwangcheng14@root]# mount -n -o remount,ro /dev/xvda1如果不能重新挂载,那么一定有用户正在使用该分区中的文件,我们可以使用指令:fuser -m -v /dev/xvda1来查看当前哪个用户正在使用该分区中的文件,然后使用fuser -k -m -v /dev/xvda1来杀死用户使用该分区的任何进程。
3,使用debugfs工具恢复文件 [xuwangcheng14@root]# debugfs /dev/xvda1debugfs 1.42 (29-Nov-2011)debugfs: lsdel进入debugfs模式后输入lsdel后可以看到被删除的文件信息 stat显示某个节点所对应的文件信息, 恢复文件使用dump 文件路径。
如果被删除的文件很多,那么通过lsdel可看出文件的时间,然后自己判断进行恢复。
在linux 根目录rm *
首先,这是一个非常危险的操作,执行后Linux基本报废。
如下图所示,把rm命令都删除了。
我是在虚拟机中做的实验,真实机一定不要执行此操作。
其次,在根目录执行rm * -rf的命令对Linux系统来说是毁灭性的。
如果日常工作中,删除了某个文件,可以通过下面的方法找回。
以下方法不适用你问题中的情况。
只是做为扩展。
1. lsof文件刚刚被删除,想要恢复,先尝试lsof.#lsof |grep data.file1# cp /proc/xxx/xxx/xx /dir/data.file12. 如果lsof不能看到文件,那么就需要使用恢复软件进行恢复。
要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。
umount /dev/part 或 mount -o remount,ro /dev/part删除一个文件,就是将文件inode(inode 是操作系统寻找文件的目录,起到索引作用)节点中的扇区指针清除,同时,释放这些数据对应的数据块,而真实的文件还存留在磁盘分区中。
但是这些被删除的文件不一定会一直存留在磁盘中,当这些释放的数据块被操作系统重新分配时,这些被删除的数据就会被覆盖。
因此要立刻卸载分区。
3. ext3grep 该工具只能用于ext3文件系统,操作步骤不详细介绍.1>unmount /dev/part2>ext3grep /dev/part --ls --inode 2 ##列出可恢复文件信息3>ext3grep /dev/part --restore-inode N4>恢复到 RESTORED_FILES/更多命令查看 ext3grep --help4. extundelete该工具可以恢复ext3,ext4. http://extundelete.sourceforge.net/1>fuser -k /dev/part && unmunt /dev/part2>extundelete --inode 2 /dev/part3>extundelete --restore-inode 13 /dev/part4>恢复到 RECOVERD_FILES/5.note1>对于空文件,不会进行恢复2>可以恢复mysql表, 由于myisam是单独3个文件,恢复出来就能使用。
3>建议innodb,设置innodb_file_per_table 为 ON,这样也就能恢复单表数据。
4>从上面可以看出,恢复工具这能恢复分区,所以,建议为应用软件单独划区进行安装,存放数据。
SSD 装 Linux 选 Ext4 还是 Btrfs 好
展开全部 在同样的磁盘解释下,来比较EXt4和Btrfs时,需要确定你要什么类型的性能能,还有测试方法。
例如:使用IOzone V3.323版本来测试,在Write Performance的情况下,Ext4比Btrfs写性能高出两倍还要多那么一些,约如2.2:1在Read Performace的情况下,Ext4比Btrfs读性能要差一些,约为0.84:1所以要看你的应用,侧重于读还是写的性能。
没有最好选择,只有最优选择,谢谢!...
转载请注明出处51数据库 » linux平台ext4magic数据恢复
阿福-快跑