首页 | 公司简介 | 数据恢复 | 备份服务 | 成功案例 | 技术中心 | 客户服务 | 服务报价 | 数据恢复软件 | 联系我们 | 北亚博客  
 
  北京总部: 4006-505-646
  天 津 部: 4006-505-646
  上 海 部: 4006-505-646
  深 圳 部: 4006-505-646
  广 州 部: 4006-505-646
  重 庆 部: 4006-505-646
  南 京 部: 4006-505-646
  其它地区: 4006-505-646
北亚数据恢复软件Windows专业版
三星手机数据恢复软件V1.0
北亚苹果手机数据恢复软件V2.0
北亚硬盘录像机数据恢复软件 V
北亚vmware虚拟机数据恢复软件
北亚照片数据恢复软件
北亚摄像机数据恢复软件 v2.1
北亚Sybase数据库修复软件 V2.
raid磁盘阵列应急方案
HP EVA4400/6400/8400/P6000
iphone 通讯录丢失如何恢复?
xen server 存储库(sr)损坏后
RAID6结构原理详解(北亚数据
AIX下删除LV后的现场保护和数
RAID损坏后 对数据的完整备份
您当前的位置:首页 >> 技术中心 >> 文件修复文栏 >> 正文

SCO UNIX文件卷结构分析及误删文件的恢复


187840 00000000 00000000 00000000 00000000
*
187c00
由此可见,该位图索引块管理的位图块有0x61d,0x261d,……,0x1861d。位图块的数据结构可以看作是一个长度为1024字节的二进制数。该数中的每一位都是反映某个磁盘块使用情况的标志位。若该位为1,则表明该磁盘块未被使用,是空闲块;若该位为0,则表明该磁盘块已被使用。该标志位所代表的磁盘块的块号等于位图块号加上标志位在二进制数中的偏移量。下面是位图块0x61d的数据。
# hd -abx -s 0x187400 -n 0x400 /dev/user
187400 00 1c 00 00 00 00 20 00 80 ff 00 00 07 9c ff ff
187410 f8 ff 80 ff ff ff ff ff ff ff ff ff ff ff fe ff
187420 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff
187430 ff ff bf ff 00 00 00 00 00 00 f8 ff ff ff ff ff
187440 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
187800

二、误删文件的恢复
在UNIX系统下,常常发生误删文件的情况,造成意外损失。其实,只要在文件恢复之前不向系统申请分配磁盘块和写数据,误删的文件是完全可以恢复的。因为删除一个文件,只是释放了该文件所占用的i节点和磁盘块资源,而记录文件数据的磁盘块的内容还未被清除。只要找到这些磁盘块,重建文件的i节点,便可恢复误删的文件了。

1.SCO UNIX分配磁盘块算法
由于一个磁盘块的大小为1024字节,所以一个位图块可以管理0x400*8=0x2000个磁盘块。那么,下一个位图块的块号就是0x61d+0x2000=0x261d。这与位图索引块中的数据是相符的。那么,位图块0x61d管理着块号为0x61d-0x261c的磁盘块。由以上数据可见,在这个位图块中,第一个被使用的磁盘块块号是0x61d,即位图块本身。第一个空闲块块号由0x187401处字节0x1c的第2位指示,是0x627。由于该位图块是文件卷中的第一个位图块,所以0x627号磁盘块也是文件卷中的第一个空闲块。当我们向系统申请磁盘块时,系统通过超级块、位图索引块、位图块来寻找那些标志位为1的块,然后将相应的标置位置0。当释放一个磁盘块时,系统就将相应的标志位置1。现在,我们就可以判断出文件卷中的每一个磁盘块是否被使用了。但是仅赁这些还不能完全恢复误删的文件,我们还得了解SCO UNIX分配磁盘块的算法。为了使一个文件所占用的磁盘块相对集中,SCO UNIX是按照特定的算法来选择空闲块分配给文件的。假设某文件所占用的最后一个磁盘块的块号为m,现在要再分配一磁盘块给该文件,若该文件是新文件则m=0。分配算法的流程图如图2。
图2
现在我们在文件卷/dev/user下创建一个新文件1.tmp,根据以上磁盘块分配算法,可以推测它将占据磁盘块0x627,那么0x187401处的字节的第2位将置0,变为0x18。
# cat> 1.tmp
1234567 ^c
# hd -abx -s 0x187400 -n 0x400 /dev/user
187400 00 18 00 00 00 00 20 00 80 ff 00 00 07 9c ff ff
187410 f8 ff 80 ff ff ff ff ff ff ff ff ff ff ff fe ff
187420 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff
187430 ff ff bf ff 00 00 00 00 00 00 f8 ff ff ff ff ff
187440 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff
*
187800
磁盘块0x627的内容如下:
# hd -s 0x189c00 -n 0x400 /dev/user
189c00 31 32 33 34 35 36 37 1a 00 00 00 00 00 00 00 00 1
234567……
189c10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
……………
*
18a000
我们再把1.tmp删除,释放磁盘块0x62f,则0x187401处字节又成为0x1c。
# rm 1.tmp
# hd -abx -s 0x187400 -n 0x400 /dev/user
187400 00 1c 00 00 00 00 20 00 80 ff 00 00 07 9c ff ff
187410 f8 ff 80 ff ff ff ff ff ff ff ff ff ff ff fe ff
187420 00 00 ff ff 00 00 00 00 00 00 00 00 00 00 ff ff
187430 ff ff bf ff 00 00 00 00 00 00 f8 ff ff ff ff ff
187440 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff

本新闻共3页,当前在第2页  1  2  3  

上一篇:Linux文件系统的反删除方法
下一篇:linux环境下使用XFS文件系统
返回首页 | 联系我们 | 关于我们 | 招聘信息 | 友情链接 | 网站地图 | 合作伙伴
版权所有 北京北亚宸星科技有限公司
全国统一客服热线:4006-505-646
北京总部:北京市海淀区永丰基地丰慧中路7号新材料创业大厦B座205室
京ICP备09039053

8a68s