程序员的误操作导致数据丢失。忙了一个星期的项目,就这样浪费了。老板的谴责和经理的谴责接踵而至。接下来,我不休息,不加班,甚至不能在凌晨离开该死的电脑。我觉得我想死?
这给那些不喜欢备份数据的人带来了好消息。让我们谈谈数据恢复。在这里,我们将教您如何使用简单的工具来恢复您删除的数据。
工具: hexedit、fdisk
下面的内容操作都在root完成环境。
hexedit:
在linux上,常用hexedit修改程序的16进制代码。fdisk这里就不介绍了。
现在我们走进磁盘的世界,看看磁盘它对数据做点了什么吧。
首先,在终端下使用root运行命令的权限:
Command: fdisk -l

/dev/sdb1是今天的主角,从图片中可以清楚地看到一些相关数据,比如磁盘size,、sector、I/O size等等。

磁盘格式为ext4,而非MS上的vfat32和NTFS格式,贴在文章结尾FAT32的图片。
***步:
运行fdisk,使用专家模式备份Partition table。

ext4的partition table一般备份很简单partition table为ext4.img。备份是为了避免数据恢复中的损坏。
第二步:
首先在target sdb1上面执行剪切命令操作,把sdb1上面的文件移动到计算机硬盘,执行后使用hexedit 来打开sdb1。
剪切文件名:usb.png
Command : hexedit -s /dev/sdb1

文件名及其位置可以在图片中看到sector,是否发现了图片设备sdc1?由于磁盘的自动挂载dev数据不会随磁盘而变化dev变化和变化。文件名已经在这里找到了。接下来,我们需要找到文件header。
如何找到文件头?hexedit进行hex search,如果是要着ASCII,可以按下TAB切换到ASCII区域。

文件的大小决定了文件在磁盘中所占用的sector 数,1 sector==512 bytes。文件显示在图中header offset和sector。
提取hex值,写入文件。

恢复后的图片:

看起来很简单。它只是单个文件的剪切操作和数据恢复。这里有一个提醒:磁盘中保存的数据可以恢复,而不是删除可恢复的数据。
我们来看看磁盘删除数据后如何操作。
执行磁盘delete命令删除一个名字1.gif操作如下:



图片可以看到文件header到文件end的sector 的变化,header sector: 264056 ,end sector: 2640571K,图片很小。
创建新文件,然后执行delete操作,查看磁盘数据的变化。



文件header sector : 264056,end sector: 264061 ,***二次执行删除的文件header sector: 264056 ,end sector : 264057,可见***第二次删除的数据被覆盖,第二次删除的数据被保留。
这里的操作是论证磁盘单个文件的数据恢复和磁盘中的数据变化。接下来我们来看看双文件的操作。

磁盘中有两种不同类型的文件。
文件名:partition.zip
文件名:cab.ico


***个文件的header secotor:264056,end sector:264058
第二个文件header sector:264064,end sector:264076。发现***个文件的end sector第二份文件header sector相差多个sector,那么中间的差值是什么呢?

可以看出,中间的差值都是00填充的。这里我们来总结一下这次linux实际操作:
ext4 file system
执行 剪贴
file name : usb.png sector 67120
file header : sector 264064 file end: sector 264076
执行 删除
file name : 1.gif sector 67112 (覆盖)
file header: start : sector 264056 end: sector 264057 (覆盖)
file name: 56.jpg sector 67112
file header:start: sector 264056 end: sector 264061
删除单个文件时,覆盖上次删除的数据。
储存文件
(1) file name : partition.zip sector 67112
file header: start sector 264056 end sector 264058
(2) file name : cab.ico sector 67112
file header: start sector 264064 end sector: 264068
剪切区:sector 264064
删除区: sector 264056
存储区:与删除区共存
存储区: 单个文件时,存储文件覆盖删除区数据。
数据恢复:当多个文件被删除时,删除区域保留数据hex,在建立新文件数据时,将被删除的数据覆盖hex。
附图:
FAT32磁盘格式图:


