Ubuntu 16.04使用rm -rf误删文件恢复方法收集
2018-01-12 08:51
1471 查看
说明:不一定有效,需要不断尝试
一、lsof
文件刚刚被删除,想要恢复,先尝试lsof.
如果lsof不能看到文件,那么就需要使用恢复软件进行恢复。
要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。
删除一个文件,就是将文件inode(inode 是操作系统寻找文件的目录,起到索引作用),节点中的扇区指针清除,同时,释放这些数据对应的数据块,而真实的文件还存留在磁盘分区中。但是这些被删除的文件不一定会一直存留在磁盘中,当这些释放的数据块被操作系统重新分配时,这些被删除的数据就会被覆盖。因此要立刻卸载分区。
二、ext3grep
参考资料[4]中对这个工具的使用有比较详细的说明过程。然而,正如参考资料[5]所言,这个工具只适合于ext3文件系统的,而新版本的Ubuntu系统一般都使用ext4文件系统,因此需要使用其它工具,如extundelete。
三、extundelete
使用这个工具,我成功的恢复了使用rm命令误删的文件。关于这个工具的使用方法,可见参考资料[7]。下面简单记录一下回复过程。
说明:/dev/sda1是误删文件所在的分区。我的误删的文件原来在/home/liyihai里面的子目录中,而这个目录挂载于/dev/sda1分区(使用df -h命令查看)。
执行上面命令后,会在当前目录中生成一个名为RECOVERED_FILES目录,并且将恢复的文件放到这个目录中。
根据参考资料[7]的说明,所恢复的文件会被改名,因此需要根据文件的内容,使用grep命令找出您想要的文件。
四、/casper/filesystem.squashfs
这个是Ubuntu光盘特有的文件,将解压缩的光盘文件夹下面/casper/filesystem.squashfs文件拷贝出来到一个单独的文件夹
cd到刚拷贝出来filesystem.squashfs所在文件夹,然后打开终端输入
回车执行
上一步执行完会生成一个squash-boot文件夹,然后在里面寻找你所误删的系统文件即可,在哪个目录下删除的就在对应目录下找
参考
[1]linux下如何恢复rm命令删除的文件
[2]linux rm文件恢复总结
[3]Linux使用笔记: 实用ext3grep恢复目录及文件指南(ext3文件系统)
[4]ubuntu中用ext3grep恢复ext3文件系统中误删的文件
[5]问题:如何在 ext4 分区下恢复删除的文件
[6]Linux下数据误删除不再是恐怖的事情,ext3grep帮你恢复
[7]ext4分区中恢复被删除的文件
[8]恢复Linux ext4分区上误删除的文件
[9]【Linux】Linux系统 ext4格式 删除文件恢复:extundelete
https://www.cnblogs.com/jikexianfeng/p/7349275.html(以上内容部分转自此篇文章)
http://blog.csdn.net/weiguang1017/article/details/52239685(以上内容部分转自此篇文章)
https://www.jianshu.com/p/f5558050acb1(以上内容转自此篇文章)
一、lsof
文件刚刚被删除,想要恢复,先尝试lsof.
lsof |grep data.file1 cp /proc/xxx/xxx/xx /dir/data.file1
如果lsof不能看到文件,那么就需要使用恢复软件进行恢复。
要做的第一件事是立刻卸载被误删除文件所在的分区,或者重新以只读方式挂载此分区。
umount /dev/part 或 mount -o remount,ro /dev/part
删除一个文件,就是将文件inode(inode 是操作系统寻找文件的目录,起到索引作用),节点中的扇区指针清除,同时,释放这些数据对应的数据块,而真实的文件还存留在磁盘分区中。但是这些被删除的文件不一定会一直存留在磁盘中,当这些释放的数据块被操作系统重新分配时,这些被删除的数据就会被覆盖。因此要立刻卸载分区。
二、ext3grep
sudo apt-get install ext3grep
参考资料[4]中对这个工具的使用有比较详细的说明过程。然而,正如参考资料[5]所言,这个工具只适合于ext3文件系统的,而新版本的Ubuntu系统一般都使用ext4文件系统,因此需要使用其它工具,如extundelete。
三、extundelete
sudo apt-get install extundelete
使用这个工具,我成功的恢复了使用rm命令误删的文件。关于这个工具的使用方法,可见参考资料[7]。下面简单记录一下回复过程。
sudo extundelete /dev/sda1 --restore-all
说明:/dev/sda1是误删文件所在的分区。我的误删的文件原来在/home/liyihai里面的子目录中,而这个目录挂载于/dev/sda1分区(使用df -h命令查看)。
执行上面命令后,会在当前目录中生成一个名为RECOVERED_FILES目录,并且将恢复的文件放到这个目录中。
根据参考资料[7]的说明,所恢复的文件会被改名,因此需要根据文件的内容,使用grep命令找出您想要的文件。
四、/casper/filesystem.squashfs
这个是Ubuntu光盘特有的文件,将解压缩的光盘文件夹下面/casper/filesystem.squashfs文件拷贝出来到一个单独的文件夹
cd到刚拷贝出来filesystem.squashfs所在文件夹,然后打开终端输入
unsquashfs filesystem.squashfs
回车执行
上一步执行完会生成一个squash-boot文件夹,然后在里面寻找你所误删的系统文件即可,在哪个目录下删除的就在对应目录下找
参考
[1]linux下如何恢复rm命令删除的文件
[2]linux rm文件恢复总结
[3]Linux使用笔记: 实用ext3grep恢复目录及文件指南(ext3文件系统)
[4]ubuntu中用ext3grep恢复ext3文件系统中误删的文件
[5]问题:如何在 ext4 分区下恢复删除的文件
[6]Linux下数据误删除不再是恐怖的事情,ext3grep帮你恢复
[7]ext4分区中恢复被删除的文件
[8]恢复Linux ext4分区上误删除的文件
[9]【Linux】Linux系统 ext4格式 删除文件恢复:extundelete
https://www.cnblogs.com/jikexianfeng/p/7349275.html(以上内容部分转自此篇文章)
http://blog.csdn.net/weiguang1017/article/details/52239685(以上内容部分转自此篇文章)
https://www.jianshu.com/p/f5558050acb1(以上内容转自此篇文章)
相关文章推荐
- rm -rf误删文件的恢复(extundelete工具的使用)
- Linux 使用rm -rf误删文件恢复extundelete
- 使用testdisk恢复误删文件【rm -rf 命令】
- Linux(以Ubuntu16.04为例)和Windows误删文件恢复
- 使用lsof恢复rm -rf删除后的文件
- Linux使用命令rm -rf 删除文件后的恢复
- Ubuntu中恢复rm命令误删文件
- 使用ext3grep恢复ext3文件系统中误删除文件(使用rm命令误删的)
- ubuntu下使用extundelete恢复使用rm删除的文件
- 使用ext3grep恢复ext3文件系统中误删除文件(使用rm命令误删的)
- 使用ext3grep恢复ext3文件系统中误删除文件(使用rm命令误删的)
- Linux系统下,使用rm命令删除文件的恢复方法
- ext2文件系统下rm-rf * 误删数据恢复
- 使用extundelete恢复linux ext3 ext4文件系统下由 rm -rf 误删除文件
- ubuntu14.04里sudo rm -rf * 执行了恢复数据的方法
- Ubuntu 误删文件恢复方法
- 记录服务器rm -rf误删文件的恢复过程
- Ubuntu中恢复rm命令误删文件
- 使用 Linux 文件恢复工具恢复rm -rf删除的文件
- Ubuntu中恢复rm命令误删文件(转)