调试debugfs和extundelete:恢复被误删的Linux文件
最编程
2024-08-13 20:18:40
...
1.前言
在使用linux系统操作时,如果使用rm等命令将文件误删,不要着急,不要在该目录下创建新的文件,可使用本文介绍的两种方法恢复已删除文件。话不多说,可以使用debugfs和extundelete两种方法恢复。
假设有一文件test.txt被误删,现在分别使用这两种方法恢复文件。
2.利用debugfs 文件恢复
此方法在centos上可能不适用,建议使用第二种方法。
首先查看删除文件所在分区,假设在/dev/sda1
df -Th
然后打开debugfs进入该分区,并查看所删除的文件
debugfs /dev/sda1
ls -d /root/Desktop
记下删除文件test.txt前面的索引号:<9200411>
查看该索引的详细信息
logdump -i <9200411>
记录下block = 36700424,offset = 3328
输入q退出debugfs。
输入恢复命令
dd if=/dev/sda5 of=/root/Desktop/test.txt bs=3328 count=1 skip=36700424
其中bs = offset,skip = block,如此文件已恢复。
3.extundelete文件恢复
和debugfs方法一样,可以先查找删除文件的分区,索引。
利用以下任一命令即可恢复
extundelete /dev/sda1 --restore-directory dirname #恢复/dev/sda1分区的dirname文件夹
extundelete /dev/sda1 --restore-files filename #恢复/dev/sda1分区的filename文件,该文件存在
extundelete /dev/sda1 --restore-file filename #恢复/dev/sda1分区的filename文件,该文件已删除
extundelete /dev/sda1 --restore-inode inode1,inode2 #恢复/dev/sda1分区的索引为inode1和inode2的文件
恢复后的文件在当前目录下的RECOVERED_FILES文件夹。
比如使用–restore-directory 恢复Desktop文件夹
进入到RECOVERED_FILES文件夹会发现text.txt已经恢复好了。
如果采用–restore-inode,恢复出的文件名为file.inode
上一篇: ext分区bitmap错误
推荐阅读
-
恢复Linux文件误删除的操作方法:使用debugfs进行恢复
-
Linux中如何恢复rm命令误删除的文件之extundelete编译安装及使用
-
调试debugfs和extundelete:恢复被误删的Linux文件
-
玩转Linux串口编程(RS485详解) - 1. 简介" 在Linux中,所有串口都被映射成TTY终端模式,因此进行串口编程时,关键在于找到并启用对应平台的TTY。以Nuclei平台的轩辕91030M芯片为例,在设备树配置文件中: ```markdown uart0: - compatible: "sifive,uart0" address: 0x10013000 interrupt: plic0 (2) clock: hfclk2 status: okay uart1: - compatible: "sifive,uart0" address: 0x10012000 interrupt: plic0 (3) clock: hfclk2 status: okay ``` 确保上述 UART 设备的 `status` 都设为 "okay" 后,在 "/dev/" 目录下会出现 ttySIF0 和 ttySIF1 两个串口终端设备。ttySIF0 就是我们平时用来通过串口助手调试的串口接口,而 ttySIF1 可以被用于实现 RS485 通信。 **部分 2: 收发控制**