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

重装Ubuntu 22.04后/dev/sdb硬盘文件丢失,请求数据恢复帮助

重装Ubuntu 22.04后/dev/sdb硬盘文件丢失,请求数据恢复帮助

别慌,先按下面的步骤来,首先最重要的是:绝对不要再往/dev/sdb这个金士顿240G SSD里写任何东西——包括新建文件、格式化、甚至不要用读写模式挂载它,不然原来的文件可能被彻底覆盖,再也找不回来了。

从你提供的磁盘信息来看,这个磁盘的分区表出现了异常(gdisk扫不到GPT/MBR,显示为loop分区表),但文件系统还是被识别为ext4,大概率是分区表损坏了,而文件本身可能还在磁盘上,我们一步步来尝试恢复:

第一步:先给磁盘做完整镜像备份(最关键,避免操作失误彻底搞坏数据)

先找一个有足够空间的磁盘(比如你的1.8T硬盘sda,挂载在/mnt/735e126b-dc1a-4add-be58-0dd9a591d8e0,剩余空间足够存240G的镜像),先安装专业的备份工具:

sudo apt install gddrescue

然后执行备份命令(把命令里的备份路径换成你实际的大磁盘挂载目录):

sudo ddrescue /dev/sdb /mnt/735e126b-dc1a-4add-be58-0dd9a591d8e0/sdb-backup.img /mnt/735e126b-dc1a-4add-be58-0dd9a591d8e0/sdb-backup.log

这个命令会把/dev/sdb的所有数据完整复制成一个镜像文件,哪怕遇到坏块也会尽量跳过,日志文件会记录备份进度,中途中断可以续传。备份完成后,后面所有操作都可以在镜像文件上做,不用碰原盘。

第二步:尝试直接挂载原磁盘(或镜像)的文件系统

因为lsblk显示/dev/sdb本身是ext4文件系统,我们先试试只读挂载它:

  1. 先创建一个挂载点:
sudo mkdir /mnt/sdb-recover
  1. 只读挂载磁盘:
sudo mount -o ro /dev/sdb /mnt/sdb-recover
  1. 查看里面的文件:
ls /mnt/sdb-recover

如果能看到你的文件,那恭喜!赶紧把所有文件复制到其他磁盘(比如sda或者nvme1n1),复制命令可以用:

sudo cp -r /mnt/sdb-recover/* /mnt/735e126b-dc1a-4add-be58-0dd9a591d8e0/recovered-files/

复制完成后,用sudo umount /mnt/sdb-recover卸载挂载点。

如果挂载失败,提示超级块损坏,那看下一步。

第三步:用备份超级块修复ext4文件系统

ext4文件系统会自动创建多个备份超级块,我们可以用这些备份来尝试挂载:

  1. 先查看/dev/sdb的超级块位置:
sudo dumpe2fs /dev/sdb | grep -i superblock

执行后会输出类似这样的内容:

Backup superblock at 32768, Group descriptors at 32769-32769
Backup superblock at 98304, Group descriptors at 98305-98305
Backup superblock at 163840, Group descriptors at 163841-163841
  1. 用其中一个备份超级块只读挂载,比如用32768这个:
sudo mount -o ro,superblock=32768 /dev/sdb /mnt/sdb-recover

挂载成功后就可以复制文件了,和第二步一样。

第四步:用TestDisk恢复分区表

如果上面的方法都不行,试试用TestDisk这个专业的分区恢复工具,它能扫描磁盘上残留的分区信息,恢复分区表:

  1. 安装TestDisk:
sudo apt install testdisk
  1. 运行TestDisk:
sudo testdisk
  1. 按照提示操作:
    • 选择[Create]创建一个新的日志文件
    • 选择/dev/sdb,然后按Proceed
    • 选择分区类型:如果之前你的磁盘用的是GPT(Ubuntu默认用GPT),选[EFI GPT];如果是MBR,选[Intel],然后按Proceed
    • 选择[Analyze]分析磁盘分区
    • 选择[Quick Search]快速扫描
    • 扫描完成后,TestDisk会列出它找到的分区,你可以看看有没有你之前的分区,选中后按P可以预览分区里的文件,如果能看到你的文件,说明找对了
    • 确认分区正确后,按Write写入恢复的分区表,然后按Y确认
    • 重启系统,然后再尝试挂载恢复后的分区(比如/dev/sdb1)

等所有数据都安全备份到其他磁盘后,再考虑修复这个磁盘的分区表或者重新格式化。

备注:内容来源于stack exchange,提问作者Mr-Creature

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 12:35:31