admin管理员组

文章数量:1530842

操作系统文件系统的机制

我们日常使用的windows系统的文件管理每天都执行着数次的写入与删除,当我们执行系统上的默认的删除的时候,操作系统只会对文件表进行修改,但其中的文件数据依旧存在,对此我们可以根据其机制进行文件的提取与修复。

使用工具

Windows系统:

  1. Winhex软件;
  2. 需要提取文件的U盘;

01 开始操作

使用管理员模式打开WinHex(不用管理员模式打开也行,直接为第02步,不会读取到MBR部分)。
在工具一选项卡中点击打开磁盘,选中物理磁盘中的对应U盘(可以根据U盘大小判断,物理磁盘的读取根据驱动编号)
打开以后如图所示:(所示扇区为MBR部分)

02 分区操作

打开以后点击“分区1”(此处的分区为逻辑分区,也就是电脑上为什么一个硬盘能出现多个磁盘原因)
打开以后如图所示:(所示扇区为DBR部分)

03 U盘文件系统的参数获取

使用WinHex视图选项卡下的模板管理,找到对应的文件系统类型,如图所示(这里因为我的U盘是FAT32的文件系统):

如果不知道自己的U盘的文件系统,可以在我的电脑界面下,对U盘右击属性查看,如图所示:

选中后打开如图所示:

其中的字节/扇区、扇区/簇、保留扇区、FAT数、扇区/FAT以及根目录第一簇对后续的计算都是需要的,对此需要进行记录。

04 根目录的查询

点开根目录,我们可以看到U盘下的文件分类记录,如图所示:

我们可以对应下面这张分类图对数据进行查找:

这里以提取U盘中bilibili文件夹下的txt文件为例进行试验。

05 查找文件

根据表中记录的,第26~27为文件簇号,我们可以读取到文件夹在第6簇下(数值为十六进制的,需要对应的十六进制到十进制转化。另外数值类型的数据在里面的记录为从右向左读取,如:00 5E 30,十六进制读取为:30 5E 00)
根据文件的公式:“(簇号-首簇号)* 簇大小+保留扇区+FAT占的扇区* FAT数=对应的扇区数”可得
bilibili文件夹的位置为(6-2)* 32+2784+14992 * 2 = 32896扇区
点击位置选项卡的跳转扇区进行跳转(也可以直接使用簇号跳转,也能计算出32896扇区来)。
跳转结果如图所示:

同理,我们可以直接找到txt文件的位置:

txt文件的位置为(7-2)* 32+2784+14992 * 2 = 32928扇区
点击位置选项卡的跳转扇区进行跳转(也可以直接使用簇号跳转,也能计算出32928扇区来)。
跳转结果如图所示:

06 提取文件

根据上一步读取到的txt文件信息,可以得到以下信息:
txt文件的大小为 00 00 01 6A 转十进制为362字节,为362/512向上取整为一个扇区。(这里提取扇区时存储均按照不满一个扇区依旧算一个扇区,不存在半个扇区存储一说)
txt的终止扇区为(7-2)* 32+2784+14992 * 2 +1-1= 32928扇区末尾,也就是32929扇区前一位。
提取如图所示:

选中时可以使用右击-选块开始与右击-选块结束来进行选择,避免大幅度拖动。
此时对选中右击-编辑-复制选块-置入新文件,按照原文件扩展名保存即可。

最后得到所需文件。

所需文件:Winhex

链接: 蓝奏网盘 密码:d1ye

本文标签: 文件管理操作系统