能恢复,但前提是磁盘未被新数据覆盖;必须以root权限运行sudo testdisk,选EFI GPT分区表类型,执行Deeper Search深度扫描,用P键预览确认分区后再Write写入。

能恢复,但前提是磁盘没被新数据覆盖,且你得跳过默认的“快速扫描”直接进深度分析——多数人卡在这一步。
启动testdisk必须用root权限,否则看不到分区或写入失败
普通用户运行 testdisk 会列出磁盘,但选中后可能提示“Can't open device”或分析结果为空。Linux内核限制非特权用户访问裸设备。
- 必须用
sudo testdisk启动,不是sudo su再运行 - 如果系统提示“command not found”,先装:Debian/Ubuntu 执行
sudo apt install testdisk,CentOS/RHEL 用sudo dnf install testdisk - 启动后第一屏选
[Create](新建日志),避免旧日志干扰判断
选错分区表类型会导致扫描完全漏掉GPT分区
TestDisk 默认假设是 Intel/MBR 分区表,但现代硬盘(尤其是UEFI系统、NVMe盘、云服务器数据盘)大概率是 GPT。选错就等于让工具在错误的地图上找路。
- 看到磁盘列表后,按方向键选中目标设备(如
/dev/sdb),回车 → 进入分区表类型选择 - 不要直接回车!观察你的磁盘是否用过UEFI安装、是否大于2TB、是否在Linux里用过
gdisk—— 符合任一条件就选EFI GPT - 如果不确定,可先选
Intel快速扫一遍;若无结果,退出重进,再选EFI GPT重新分析
“Quick Search”经常找不到,必须手动触发“Deeper Search”
快速搜索只检查常见分区起始位置(如MBR后第63扇区、GPT头附近),对误删、重分区、断电损坏等情况基本无效。很多人看到空列表就放弃了,其实关键在下一步。
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 进入
[Analyse]后,如果显示 “No partition found” 或只有旧残留分区,别退出 - 按方向键下移到
[Deeper Search],回车——这才是真正逐扇区扫描的模式 - 耗时取决于磁盘大小:1TB SSD约2–5分钟,4TB机械盘可能15分钟以上;期间屏幕不刷新是正常的,别中断
- 扫描完成后,列表里带
D标记的是已删除分区,L是逻辑分区,优先看和原大小/文件系统匹配的那条
Write前必须用P键预览,否则可能写入错误的分区边界
TestDisk 恢复的是分区表结构,不是文件内容。一旦写入错误的起始扇区,可能把原有数据覆盖掉,或者让系统识别成乱码分区。
- 在分区列表中,用方向键高亮你认为正确的项(比如大小为465GB、类型
Linux的那个) - 按
P键,它会尝试挂载该区域并列出根目录下的文件(如lost+found、home)——这是验证分区真实性的唯一可靠方式 - 如果显示 “Can't open filesystem” 或列表为空,说明这个分区位置不对,换另一条再试
- 确认无误后,按回车标记为
*,再选[Write],输入Y确认。此时才真正修改磁盘
写入成功后别急着重启:先运行 sudo partprobe /dev/sdX(X换成你的盘符),让内核立刻重读分区表;然后 lsblk 看是否出现新分区节点;最后再 sudo mount /dev/sdX1 /mnt 验证文件可读。整个过程最脆弱的环节不是操作本身,而是你忍不住想“顺手清理点空间”——任何写入都可能让恢复前功尽弃。










