news 2026/6/10 16:23:51

磁盘分区与文件系统格式相关

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
磁盘分区与文件系统格式相关

MBR

重要数据:

  • 主引导扇区(512字节)
    • 主引导记录:记录系统引导程序相关数据(前446字节)
    • 分区表:记录磁盘分区开始位置、大小等信息(4*16=64字节)
    • 魔数:0x55AA(最后2字节)

MBR格式磁盘数据布局示意图:

GPT

重要数据:

  • 保护MBR(第1个扇区):预留,兼容MBR分区格式
  • GPT头(第2个扇区)
    • 定义分区表的起始位置,分区表的结束位置、每个分区表项的大小、分区表项的个数及分区表的校验和等信息
    • UEFI相关信息等
  • 分区表(第3-34个扇区)
    • 一个分区表项占128字节,32扇区=512*32字节就可以放128个分区表项
  • GPT头备份(最后1个扇区)
  • 分区表备份(位置记录在GPT头备份)

GPT格式磁盘数据布局示意图:

MBR对比GPT

类别

MBR

GPT

分区大小上限

2TB

18EB

分区数量上限

4个主分区,N个逻辑分区

128个主分区,N个逻辑分区

常规引导模式

BIOS

UEFI

文件系统机制

磁盘分区后会进行文件系统创建,比如windows NTFS, Linux ext2/3/4, xfs等。

文件系统采用特有的逻辑机制来管理和存储文件数据,一般都会把磁盘分区以块为单位划分,然后采用一个全局的位图文件bitmap来记录数据块的使用与否。

每个文件占用一定数量的数据块,数据块位置由关联的inode来记录。

//同时文件系统里面还有文件相关属性来记录一个文件是否删除。

文件系统格式布局参考:

https://blog.csdn.net/xxxxxxx_y/article/details/155748481

Ext布局示意图

当删除发生时

文件系统一般做的几件事情:

  1. 将文件属性flag置为已删除
  2. 通过inode查询数据块位置,并在数据块位图中相应置为0(实际上最重要的数据块没有被改动)
  3. 将文件inode置为已删除(也是在inode位图中相应置为0)
尝试恢复文件

如果删除文件后发现及时,可以尝试做的事情:

  1. 从磁盘分区开始位置遍历,尝试按文件系统布局格式找到inode相关信息保存区域
  2. 依次遍历inode信息,读取文件属性信息及文件数据块位置,重置文件属性删除flag、inode位图及数据库位图可尝试恢复文件
  3. 即使无法恢复全部文件属性,也可以读取数据块数据获取文件Raw数据
无法恢复的场景

最影响数据恢复的一个因素就是,是否有其他磁盘写操作干扰。因为磁盘其他文件可能是活动的状态,再加上新的写文件操作,可能会把已置0的数据块覆盖掉,导致文件数据的永久性改动,要恢复就几乎不可能了。

如果只是磁盘分区头位置信息缺失,至少还可以通过遍历全盘暴力扫描的方式找到数据。

建议:当认识到文件被删除的时候,尽量不要做任何写操作了,同时有条件的第一时间可以给磁盘打快照保存现场,然后尝试用合适的工具将磁盘离线只读的方式进行恢复。

磁盘读写&恢复工具:

WinHex

说明&下载:http://www.x-ways.net/winhex/

以通用的 16 进制编辑器为核心,专门用来对付计算机取证、数据恢复、低级数据处理、以及 IT 安全性、各种日常紧急情况的高级工具: 用来检查和修复各种文件、恢复删除文件、硬盘损坏、数码相机卡损坏造成的数据丢失等。主要功能:

  • 查看,编辑和修复磁盘,可用于硬盘,软盘,以及许多其它可存储介质类型。
  • 支持 FAT12/16/32, exFAT, NTFS, Ext2/3/4, Next3, CDFS, UDF
  • 内置RAID和动态磁盘分析器
  • RAM 编辑器,可直接查看/编辑被调试程序的虚拟内存
  • 数据解释器,精通 20 种数据类型
  • 使用模板编辑数据结构
  • 连接,分割,合并,分析和比较文件
  • 智能搜索和替换功能,进行替换时,如果替换字符大于或小于原始字符时可进行选择性操作
Windows File Recovery

说明:https://support.microsoft.com/en-us/windows/recover-lost-files-on-windows-10-61f5b28a-f5b8-3cc2-0f8e-a63cb4e1d4c4

下载:

https://www.microsoft.com/zh-cn/p/windows-file-recovery/9n26s50ln705?activetab=pivot:overviewtab

支持以下功能:

  • 可指定文件名,关键字(通配符),文件路径或扩展名进行扫描恢复支持恢复 JPEG,PDF,PNG,MPEG,Office 文件,MP3 和 MP4,ZIP 文件等。
  • 支持从 硬盘,SSD (固态硬盘),USB 和存储卡中恢复文件。
  • 支持 NTFS、FAT、exFAT 和 ReFS 等文件系统。
TestDisk

说明&下载:https://www.cgsecurity.org/wiki/TestDisk

支持以下功能:

  • 修复分区表, 恢复已删除分区
  • 用FAT32备份表恢复启动扇区
  • 重建FAT12/FAT16/FAT32启动扇区
  • 修复FAT表
  • 重建NTFS启动扇区
  • 用备份表恢复NTFS启动扇区
  • 用MFT镜像表(MFT Mirror)修复MFT表
  • 查找ext2/ext3/ext4备份的SuperBlock
  • 从FAT,NTFS及ext2文件系统恢复删除文件
  • 从已删除的FAT,NTFS及ext2/ext3/ext4分区复制文件.

Recuva

说明&下载:https://www.ccleaner.com/recuva/download

支持以下功能:

  • 可以用来恢复那些被误删除的任意格式的文件,能直接恢复硬盘、U盘、存储卡(如SD 卡,TF 卡等等)中的文件,只要没有被重复写入数据覆盖,无论格式化还是删除均可直接恢复
  • 支持 FAT12,FAT16,FAT32,NTFS 文件系统
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 13:41:01

收藏!LLM为何离不开向量数据库?小白也能懂的核心逻辑

对刚入门大模型的程序员和小白来说,“LLM(大语言模型)”和“向量数据库”经常被绑定提及。不少人会困惑:明明模型训练完就有了生成文本的能力,向量数据库到底是来“打辅助”还是“挑大梁”的?今天咱们用最直…

作者头像 李华
网站建设 2026/6/9 16:19:11

65、《vi、ex 和 vim 编辑器命令详解》

《vi、ex 和 vim 编辑器命令详解》 1. 命令基础 在使用 vi、ex 和 vim 编辑器时,有一些通用的命令规则和地址符号需要了解。 - 命令选项 : - ! :表示命令的变体形式,会覆盖正常行为,且必须紧跟在命令之后。 - count :命令重复执行的次数。与 vi 命令不同,在 …

作者头像 李华
网站建设 2026/6/10 4:20:38

79、Linux 操作指南:从光盘刻录到文本文件处理

Linux 操作指南:从光盘刻录到文本文件处理 1. Linux 光盘和 DVD 刻录 1.1 使用 K3b 刻录 如果你想使用 K3b 来刻录 Linux 的 CD 或 DVD,可以按照以下步骤操作: 1. 将空白 CD 或 DVD 插入 CD/DVD 驱动器(可能是组合驱动器)。如果弹出“CD/DVD 创建器”窗口,直接关闭即…

作者头像 李华
网站建设 2026/6/9 18:47:30

73、Subversion 版本控制系统使用指南

Subversion 版本控制系统使用指南 1. 引言 Subversion 是一个强大的版本控制系统,它提供了丰富的命令和功能,用于管理项目的版本和协作开发。本文将详细介绍 Subversion 的常用命令及其使用方法,以帮助开发者更好地利用该系统进行项目管理。 2. 基本命令介绍 2.1 svn re…

作者头像 李华
网站建设 2026/6/10 15:25:25

Harness获得2.4亿美元融资,专注自动化AI编码后的开发流程

AI DevOps工具公司Harness由连续创业者Jyoti Bansal于2017年创立,该公司预计2025年年度经常性收入将超过2.5亿美元。这家初创公司刚刚完成了2.4亿美元的E轮融资,融资后估值达到55亿美元。本轮融资包括由高盛领投的2亿美元主要投资,以及计划中…

作者头像 李华
网站建设 2026/6/10 13:14:21

实测5款企微SCRM:AI全链路运营如何让复购率提升25%?

数字经济浪潮下,私域已成企业增长核心,但很多企业仍陷“客户多转化低”“运营效率差”的困境——手动打标签耗时长、客户需求判断不准、服务响应慢。据《2025中国企业数字化私域运营白皮书》数据显示,国内企业私域运营渗透率已达78%&#xff…

作者头像 李华