不知何故我的 /dev/sdb 分区全都乱了。这个硬盘包含大量我需要恢复的数据,但尚未能够备份。当我尝试挂载它时:
#mount -t ext4 /dev/sdb /world
mount: wrong fs type, bad option, bad superblock on /dev/sdb,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
另外,当我运行 fdisk 尝试查看硬盘上有哪些分区时:
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x25467742
Device Boot Start End Blocks Id System
/dev/sdb3 * 1 1 0 0 Empty
Partition 3 does not end on cylinder boundary.
我曾尝试使用测试磁盘尝试恢复丢失的分区,但快速扫描和深度扫描均未发现任何分区。
我可以查看已使用的空间,硬盘上的所有数据仍然完好无损,只是我的分区似乎已经完成了。有什么方法可以恢复这些数据吗?我遗漏了什么工具或详细信息吗?提前感谢您的帮助。
编辑:
我的 fstab 文件的输出:
/dev/mapper/vg_atlasserver-lv_root / ext4 defaults 1 1
UUID=195465e0-00b6-49ad-9e81-2521316a808c /boot ext4 defaults 1 2
/dev/mapper/vg_atlasserver-lv_home /home ext4 defaults 1 2
/dev/mapper/vg_atlasserver-lv_swap swap swap defaults 0 0
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/sdb /world ext4 defaults 0 0
答案1
- 显然你(应该)的意思是“mount -t ext4/dev/sdb1/世界”
- 对磁盘进行 dd 操作并进行处理。剩余磁盘被破坏的风险很高
- 您有以前的分区布局记录吗?如果有,您可以尝试重新创建它。请记住始终以只读方式挂载。
干杯
答案2
需要注意的一点是,重新创建分区实际上不会影响存储在其中的数据;如果您删除分区表并完全重新创建它,您应该能够挂载之前位于其上的分区。分区表只是向操作系统发出指令,指示哪些块应该包含各种内容(例如文件系统的开头);如果您确保存在一个分区表,使操作系统可以在正确的位置查找,那么它应该能够找到文件系统。
也可以使用十六进制编辑器手动编辑分区表而不是从头开始重新创建它。(我知道漫画上说的是 FAT,但它实际上是分区表。)