误清空磁盘后使用TestDisk恢复数据遇阻,寻求解决方案
误清空磁盘后使用TestDisk恢复数据遇阻,寻求解决方案
我不小心误操作清空了整个笔记本内置硬盘,还顺手清空了回收站,发现不对劲后立刻停手,没往原盘写任何新数据,只装了TestDisk尝试恢复。按照教程操作下来,遇到了两个棘手的问题,想请教大家怎么解决:
我的操作过程
启动TestDisk并创建日志文件后,首先看到磁盘选择界面:
Select a media (use Arrow keys, then press Enter): >Disk /dev/sda - 1000 GB / 931 GiB - TOSHIBA MQ01ABD100 Disk /dev/sdb - 1000 GB / 931 GiB - Seagate Portable Disk /dev/mapper/ubuntu--vg-root - 995 GB / 927 GiB - TOSHIBA MQ01ABD100 Disk /dev/mapper/ubuntu--vg-swap_1 - 4064 MB / 3876 MiB - TOSHIBA MQ01ABD100 Disk /dev/dm-0 - 995 GB / 927 GiB - TOSHIBA MQ01ABD100 Disk /dev/dm-1 - 4064 MB / 3876 MiB - TOSHIBA MQ01ABD100 Disk /dev/loop0 - 66 MB / 63 MiB (RO) Disk /dev/loop1 - 521 MB / 496 MiB (RO) Disk /dev/loop10 - 470 MB / 448 MiB (RO) Disk /dev/loop11 - 524 KB / 512 KiB (RO) >[Previous] [ Next ] [Proceed ] [ Quit ]
我选了内置硬盘/dev/sda,接着选择Intel分区表类型,进入主菜单:
Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63 [ Analyse ] Analyse current partition structure and search for lost partitions >[ Advanced ] Filesystem Utils [ Geometry ] Change disk geometry [ Options ] Modify options [ MBR Code ] Write TestDisk MBR code to first sector [ Delete ] Delete all data in the partition table [ Quit ] Return to disk selection
点Analyse后看到当前的分区结构:
Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63 Current partition structure: Partition Start End Size in sectors 1 * Linux 0 32 33 62 53 55 997376 2 E extended 62 86 23 121601 57 56 1952522242 5 L Linux LVM 62 86 25 121601 57 56 1952522240
这里没有可恢复文件的入口,于是回到主菜单选Advanced,但不管选主分区、扩展分区还是LVM分区,都只有Type、Image Creation这类选项,根本看不到文件列表:
Disk /dev/sda - 1000 GB / 931 GiB - CHS 121601 255 63 Partition Start End Size in sectors > 5 L Linux LVM 62 86 25 121601 57 56 1952522240 [ Type ] >[Image Creation] [ Quit ]
尝试创建镜像时,又遇到两个问题:
- 外接硬盘明明连在电脑上,但TestDisk的目录列表里根本找不到它,没法选它作为存储位置;
- 我手头没有1TB的空外接盘,存不下整盘的镜像文件。
补充信息
- 我的Ubuntu系统没有加密磁盘,开机只需要输入用户登录密码,没有额外的加密解锁步骤;
- 专门试过选LVM分区,结果还是只有镜像创建选项,看不到任何文件。
解决方案建议
针对你的情况,核心问题是TestDisk对LVM分区的文件系统支持有限,加上外接硬盘挂载的问题,给你两个实用的解决方向:
1. 先解决外接硬盘不显示的问题
先退出TestDisk,回到Ubuntu终端,手动确认并挂载外接硬盘:
- 输入
lsblk命令,找到外接硬盘的设备名(比如/dev/sdb)和它的分区(比如/dev/sdb1); - 创建一个挂载目录:
sudo mkdir -p /mnt/external; - 挂载外接硬盘:
sudo mount /dev/sdb1 /mnt/external(如果是NTFS格式的外接盘,需要先装ntfs-3g:sudo apt install ntfs-3g); - 重新打开TestDisk,就能在目录列表里找到
/mnt/external这个路径了。
2. 放弃整盘镜像,直接用PhotoRec恢复文件
PhotoRec是TestDisk自带的工具,专门针对文件级恢复,不需要依赖完整的分区表,尤其适合LVM这种TestDisk难以直接处理的情况,而且不用存1TB的镜像,只需要存恢复出来的文件:
- 打开PhotoRec(终端输入
photorec),选择你的内置硬盘/dev/sda; - 选择分区表类型为Intel;
- 选择要扫描的区域:直接选整个磁盘(因为分区结构可能已经被破坏);
- 选择文件系统类型:选
Other(因为是LVM逻辑卷); - 选择刚才挂载的外接硬盘目录
/mnt/external作为恢复目标; - 选择要恢复的文件类型(可以全选,或者只选你需要的比如文档、视频等),然后开始扫描。
关键注意事项
- 绝对不要往内置硬盘写任何数据,包括不要安装新软件、不要保存文件、不要浏览网页缓存,避免覆盖待恢复的数据;
- 如果外接硬盘还是不显示,换个USB接口或者重启电脑再试;
- 扫描过程可能比较久,耐心等待,不要中断。
备注:内容来源于stack exchange,提问作者Spectra
相关产品推荐
相关产品推荐

