前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ext3grep恢复ext3文件系统下误

ext3grep恢复ext3文件系统下误

作者头像
py3study
发布2020-01-06 15:16:22
5510
发布2020-01-06 15:16:22
举报
文章被收录于专栏:python3python3

ext3grep恢复ext3文件系统下误删的文件

 环境说明: OS:Centos5.2 文件系统为ext3  

1.首先模拟一个分区:

mkdir /home/store

cd /home/store

dd if=/dev/zero of=file count=102400

mkfs.ext3 file

mount -o loop /home/store/file /mnt/

可以看到已经挂上去了

df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00                        13G 4.7G 7.5G 39% / /dev/hda1 99M 18M 77M 19% /boot tmpfs 107M 0 107M 0% /dev/shm /home/store/file 49M 4.9M 42M 11% /mnt

了实验我们把/boot整个copy到/mnt里面

cp -r /boot /mnt/

cd /mnt/boot

ls System.map-2.6.18-92.1.17.el5 lost+found System.map-2.6.18-92.el5 message config-2.6.18-92.1.17.el5 symvers-2.6.18-92.1.17.el5.gz config-2.6.18-92.el5 symvers-2.6.18-92.el5.gz grub vmlinuz-2.6.18-92.1.17.el5 initrd-2.6.18-92.1.17.el5.img vmlinuz-2.6.18-92.el5 initrd-2.6.18-92.el5.img

以上是boot里面的内容

现在删除/mnt/boot  rm -rf /mnt/boot

ls -al /mnt/ total 21 drwxr-xr-x 3 root root 1024 Feb 1 15:15 . drwxr-xr-x 26 root root 4096 Feb 1 14:50 .. drwx------ 2 root root 12288 Feb 1 15:09 lost+found

boot已经被删除

2.安装ext3grep

ext3grep的源码包在这里 http://code.google.com/p/ext3grep/downloads/list

tar -zxvf ext3grep-0.10.1.tar.gz cd ext3grep-0.10.1 ./configure make&&make install

3.开始恢复

卸载文件所在的分区也就是/home/store/file

umount /home/store/file

 df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00                        13G 4.7G 7.5G 39% / /dev/hda1 99M 18M 77M 19% /boot tmpfs 107M 0 107M 0% /dev/shm

查看一下已经卸载

扫描分区

ext3grep /home/store/file --ls --inode 2 Running ext3grep version 0.10.1 Number of groups: 7 Loading group metadata... done Minimum / maximum journal block: 447 / 4561 Loading journal descriptors... sorting... done The oldest inode block that is still in the journal, appears to be from 1233472221 = Sun Feb 1 15:10:21 2009 Number of descriptors in journal: 100; min / max sequence numbers: 2 / 9 Inode is Allocated Finding all blocks that might be directories. D: block containing directory start, d: block containing more directory entries. Each plus represents a directory start that references the same inode as a directory start that we found previously.

Searching group 0: DDD+DD+ Searching group 1: ++ Searching group 2: + Searching group 3: Searching group 4: Searching group 5: Searching group 6: Writing analysis so far to 'file.ext3grep.stage1'. Delete that file if you want to do this stage again. Result of stage one:   5 inodes are referenced by one or more directory blocks, 2 of those inodes are still allocated.   4 inodes are referenced by more than one directory block, 1 of those inodes is still allocated.   0 blocks contain an extended directory. Result of stage two:   2 of those inodes could be resolved because they are still allocated.   3 inodes could be resolved because all refering blocks but one were journal blocks. All directory inodes are accounted

Writing analysis so far to 'file.ext3grep.stage2'. Delete that file if you want to do this stage again. The first block of the directory is 433. Inode 2 is directory "". Directory block 433:           .-- File type in dir_entry (r=regular file, d=directory, l=symlink)           | .-- D: Deleted ; R: Reallocated Indx Next | Inode | Deletion time Mode File name ==========+==========+----------------data-from-inode------+-----------+=========    0 1 d 2 drwxr-xr-x .    1 2 d 2 drwxr-xr-x ..    2 end d 11 drwx------ lost+found    3 end d 1833 D 1233472535 Sun Feb 1 15:15:35 2009 drwxr-xr-x boot 接下来我们来恢复boot下面的grub ext3grep /home/store/file --restore-file boot/grub/grub.conf

Running ext3grep version 0.10.1 Number of groups: 7 Minimum / maximum journal block: 447 / 4561 Loading journal descriptors... sorting... done The oldest inode block that is still in the journal, appears to be from 1233472221 = Sun Feb 1 15:10:21 2009 Number of descriptors in journal: 100; min / max sequence numbers: 2 / 9 Loading file.ext3grep.stage2... done Restoring boot/grub/grub.conf

查看是否恢复成功,恢复的文件在RESTORED_FILES里面 cd RESTORED_FILES/boot/grub/ ls -l total 4 -rw------- 1 root root 769 Feb 1 15:10 grub.conf

很显然成功了。

接下来我们恢复整个boot文件夹里面的内容

ext3grep /home/store/file --restore-all

Running ext3grep version 0.10.1 Number of groups: 7 Minimum / maximum journal block: 447 / 4561 Loading journal descriptors... sorting... done The oldest inode block that is still in the journal, appears to be from 1233472221 = Sun Feb 1 15:10:21 2009 Number of descriptors in journal: 100; min / max sequence numbers: 2 / 9 Writing output to directory RESTORED_FILES/ Loading file.ext3grep.stage2... done Restoring boot/System.map-2.6.18-92.1.17.el5 Restoring boot/System.map-2.6.18-92.el5 Restoring boot/config-2.6.18-92.1.17.el5 Restoring boot/config-2.6.18-92.el5 Restoring boot/grub/device.map Restoring boot/grub/e2fs_stage1_5 Restoring boot/grub/fat_stage1_5 Restoring boot/grub/ffs_stage1_5 Restoring boot/grub/grub.conf Restoring boot/grub/iso9660_stage1_5 Restoring boot/grub/jfs_stage1_5 WARNING: Failed to set access and modification time on RESTORED_FILES/boot/grub/menu.lst: Function not implemented Restoring boot/grub/minix_stage1_5 Restoring boot/grub/reiserfs_stage1_5 Restoring boot/grub/splash.xpm.gz Restoring boot/grub/stage1 Restoring boot/grub/stage2 Restoring boot/grub/ufs2_stage1_5 Restoring boot/grub/vstafs_stage1_5 Restoring boot/grub/xfs_stage1_5 Restoring boot/initrd-2.6.18-92.1.17.el5.img Restoring boot/initrd-2.6.18-92.el5.img Restoring boot/message Restoring boot/symvers-2.6.18-92.1.17.el5.gz Restoring boot/symvers-2.6.18-92.el5.gz Restoring boot/vmlinuz-2.6.18-92.1.17.el5 Restoring boot/vmlinuz-2.6.18-92.el5 比较恢复前后两个boot文件的大小: du -sh RESTORED_FILES/boot

12M RESTORED_FILES/boot

du -sh /boot

12M /boot

结果很明显恢复成功。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-16 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档