麒麟V10默认ext4文件系统;重装丢失绝大多数属于逻辑故障:只是索引被破坏,原始文件数据块还保存在磁盘扇区,没有被物理擦除,只要没有被新系统写入覆盖,就具备恢复条件。
一、ext4核心三层结构(理解恢复的基础)
- 数据块(block):真正存放文档、图片、视频二进制内容的磁盘扇区。
- inode(索引节点):记录文件大小、权限、时间戳、数据块编号指针,告诉系统文件内容存在磁盘哪些位置。
- 超级块+块组描述符+目录项:文件系统总目录,记录分区整体信息、文件名、路径,相当于“文件目录簿”。
关键:文件名、inode索引、真实文件数据,三者在磁盘上是分开存储的。格式化/重装不会把磁盘每一个扇区全部写0,只会重写索引部分。
二、重装麒麟时,数据是怎么“丢”的
场景1:全盘安装(自动分区,最常见)
安装程序删除原有GPT/MBR分区表,删除旧ext4的超级块、inode表、目录项,新建一套全新ext4文件系统。
- ✅没有被覆盖:旧的文件数据block还静静地留在磁盘;
- ❌被销毁:分区表、超级块、inode索引、目录文件名全部失效;
- 现象:系统看不到旧分区,文件管理器看不到任何旧文件,但磁盘底层扇区还残留原始数据。
场景2:自定义安装,误格式化旧分区
对原来/home或者数据分区执行格式化mkfs.ext4:
- 仅仅重建超级块、inode表、日志,不会擦写磁盘全部扇区;
- 旧文件数据块还在,但是旧inode、目录全部清空,系统找不到文件对应关系。
场景3:仅仅删除分区,没有格式化
只是删掉分区表记录,文件系统本体、inode、数据块完全完好,只是操作系统不知道这里存在分区。
⚠️致命风险:重装完成后,新系统往磁盘写入文件(更新、下载、浏览器缓存),会复用旧数据空闲block,直接覆盖原始数据,一旦覆盖,对应文件永久损坏无法恢复。
三、恢复工具底层原理(数安寻)
分2种恢复逻辑:
- 分区表扫描(数安寻思路) 扫描磁盘扇区,寻找旧ext4超级块备份,找回原来的分区边界。找到后可以直接挂载旧分区,完整拿到文件名+目录+数据。这种恢复效果最好,完整保留目录树、文件名。
- 文件雕刻(File Carving,深度扫描) 找不到有效超级块/inode时,直接遍历磁盘全部扇区,识别各类文件的文件头魔法标记(docx、jpg、pdf、png头部特征),把一个个碎片文件提取出来。
- 缺点:丢失原始文件名、目录路径,输出文件按编号命名;文件碎片多的大文件容易损坏。
ext4存在超级块多份备份,磁盘多处保存副本,这是能找回旧文件系统的重要基础。
四、哪些情况恢复不了
- 重装写入大量数据:新系统安装+大量软件、下载文件把旧数据块覆盖,对应文件彻底损毁。
- 安装时选择全盘擦除(安全擦除,写0):磁盘全部扇区被清零,完全无法恢复。
- SSD开启TRIM:重装格式化触发TRIM指令,SSD主控主动回收擦除旧数据块,NVMe固态下恢复成功率暴跌。
- 磁盘物理损坏:坏道、掉盘、硬件故障。
- LUKS加密盘重装:加密元数据被覆盖,无密钥无法恢复。
五、发现重装丢失数据,必须遵守的操作
- 立刻停止使用这块磁盘,不要再开机写入任何数据,不要挂载、不要fsck磁盘!
fsck会重写元数据,进一步破坏残留索引。 - 优先用LiveU盘启动,先做磁盘镜像(dd),所有恢复操作对镜像文件操作,不要直接操作原盘,防止二次破坏。
- 优先尝试扫描找回旧分区;分区找不回来,再做文件雕刻深度扫描。
六、实操区分
- 能找回旧分区:恢复出来完整目录、原始文件名,效果最好。
- 只能文件雕刻:文件能打开,但是全部变成
file001.jpg这类编号,没有原来文件夹结构。
补充:如果重装时,自定义安装,只格式化/根分区,保留/home数据分区不格式化,数据完全不会丢失,不需要恢复。