You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GParted显示Linux分区已用空间与实际不符,如何恢复100GiB分区内的数据?

GParted显示Linux分区已用空间与实际不符,如何恢复100GiB分区内的数据?

哥们,我完全懂你现在的崩溃——没备份(除了超级块)还遇上这种分区数据“凭空消失”的情况,太闹心了。先别慌,咱们一步步捋清楚,尽量把数据捞回来:

首先!立刻停止对这个分区的任何写入操作!

不管是安装工具、创建文件,甚至是不小心挂载成读写模式都不行!写入会覆盖原本还存在的数据,一旦覆盖,神仙也救不回来。如果要查看分区,用只读挂载:

sudo mount -o ro /dev/nvme0n1p4 /mnt

先复盘你的操作,再调整恢复思路

你用mkfs -t ext4 -n是模拟创建文件系统,不会实际写入分区,这点还算幸运;之后用超级块备份运行fsck,但结果只看到空的lost+found,说明文件系统的元数据(记录文件位置、结构的信息)已经严重损坏了,单纯修复超级块可能不够。

你执行的命令及输出参考:

ubuntu@ubuntu:~$ sudo mkfs -t ext4 -n /dev/nvme0n1p4

mke2fs 1.45.5 (07-Jan-2020)
/dev/nvme0n1p4 contains a ext4 file system
created on Thu Feb 29 10:25:01 2024
Proceed anyway? (y,N) y
Creating filesystem with 26214400 4k blocks and 6553600 inodes
Filesystem UUID: f6d50715-fde7-49a1-971b-bcd8fa9aca87
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000, 7962624, 11239424, 20480000, 23887872

ubuntu@ubuntu:~$ sudo fsck -b 23887872 /dev/nvme0n1p4
fsck from util-linux 2.34
e2fsck 1.45.5 (07-Jan-2020)
/dev/nvme0n1p4 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Block bitmap differences:  +(32768--33792) +(98304--99328) +(163840--164864) +(229376--230400) +(294912--295936) +(819200--820224) +(884736--885760) +(1605632--1606656) +(2654208--2655232) +(4096000--4097024) +(7962624--7963648) +(11239424--11240448) +(20480000--20481024) +(23887872--23888896)
Fix<y>? yes
Padding at end of inode bitmap is not set. Fix<y>? yes
/dev/nvme0n1p4: ***** FILE SYSTEM WAS MODIFIED *****
/dev/nvme0n1p4: 11/6553600 files (0.0% non-contiguous), 557653/26214400 blocks

sudo fsck -b 20480000 /dev/nvme0n1p4
fsck from util-linux 2.34
e2fsck 1.45.5 (07-Jan-2020)
/dev/nvme0n1p4 was not cleanly unmounted, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Padding at end of inode bitmap is not set. Fix<y>? yes
Block bitmap differences: Group 1 block bitmap does not match checksum.
FIXED.
/dev/nvme0n1p4: ***** FILE SYSTEM WAS MODIFIED *****
/dev/nvme0n1p4: 11/6553600 files (0.0% non-contiguous), 557653/26214400 blocks

接下来可以尝试的恢复步骤

1. 先给分区做完整镜像(必做!)

找一个容量大于100GiB的外部存储,把整个分区复制过去,这样即使后续操作搞砸了,还能回到现在的状态重新尝试:

sudo dd if=/dev/nvme0n1p4 of=/path/to/external/drive/partition_backup.img bs=4M status=progress

(把/path/to/external/drive/换成你外部存储的实际挂载路径)

2. 尝试用Testdisk修复文件系统结构

Testdisk是专门恢复分区和文件系统的工具,能扫描分区表、修复损坏的文件系统元数据:

  • 安装Testdisk:sudo apt install testdisk
  • 运行:sudo testdisk
  • 按照向导选择你的NVMe磁盘,然后选择[Advanced] -> 选择/dev/nvme0n1p4分区 -> 选择[List]查看能不能找到文件;如果能看到,选择[Repair]尝试修复文件系统;如果看不到,试试[Undelete]或者[Rebuild BS]重建超级块。

3. 用Photorec做文件级恢复

如果Testdisk搞不定,Photorec(和Testdisk同属一个工具包)可以直接扫描分区里的文件内容,不管文件系统是否损坏,都能提取出照片、文档、视频等常见格式的文件:

  • 运行:sudo photorec
  • 选择你的NVMe磁盘 -> 选择/dev/nvme0n1p4分区 -> 选择要恢复的文件类型(默认全选就行) -> 选择外部存储的目录作为恢复文件的保存路径,然后开始扫描。

最后说句实在话

如果以上工具都没找回数据,那可能是文件系统的元数据损坏太严重,或者部分数据已经被覆盖了,这时候要么接受损失,要么考虑专业的数据恢复服务(但成本很高,通常按GB收费)。另外,这次之后一定要养成备份的习惯啊!

备注:内容来源于stack exchange,提问作者davynci

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.20 08:18:03