昨晚在网上阅读了大约 3 个小时的文章和教程却没有发现任何东西后,我觉得是时候在这里发布帖子了。
我有一个 500 GB 的外置硬盘,里面有很多东西。基本上就是我拥有第一台电脑以来的所有东西。
我现在正在使用 linux manjaro。我尝试使用 dd 制作一个可启动的 usb 棒。我的外部硬盘插入了笔记本电脑和 usb 棒。单击 Enter 后,我意识到外部硬盘也已插入,因此我立即按 Ctrl+C!我打开了文件管理器,看到我的外部硬盘在那里,我的文件在那里,一切都很好。昨晚,我尝试从中复制一些东西,但 BUM,没有用!所以...这是我所做的:
sudo fdisk -l
..
Disk /dev/sdc: 500.1 GB, 500107862016 bytes, 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4ed6f18f
Device Boot Start End Blocks Id System
/dev/sdc1 * 0 1513471 756736 17 Hidden HPFS/NTFS
Disk /dev/sdc1: 774 MB, 774897664 bytes, 1513472 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x4ed6f18f
另一个命令:
[root@linux dev]# e2fsck -f /dev/sdc1
e2fsck 1.42.8 (20-Jun-2013)
ext2fs_open2: Bad magic number in super-block
e2fsck: Superblock invalid, trying backup blocks...
e2fsck: Bad magic number in super-block while trying to open /dev/sdc1
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
所以我尝试过:
[root@linux dev]# mke2fs -n /dev/sdc1
mke2fs 1.42.8 (20-Jun-2013)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
47328 inodes, 189184 blocks
9459 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=197132288
6 block groups
32768 blocks per group, 32768 fragments per group
7888 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840
我尝试用这个来备份一些块:
[root@linux dev]# e2fsck -f -b 32768 /dev/sdc1
e2fsck 1.42.8 (20-Jun-2013)
e2fsck: Invalid argument while trying to open /dev/sdc1
The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193 <device>
我已尝试使用这 3 个命令,但得到的结果相同。
所以...我决定用 testdisk 试试。我在外部硬盘上使用了 testdisk 分析,但分析没有给出任何输出,所以我尝试进行更深入的搜索,但同样,没有发现任何错误或警告。
我也尝试打开 Gparted,但它出现了这个错误。
invalid partition table - recursive partition on /dev/sdc
你们有什么想法可以解决这个问题或者我可以解决这个问题吗?
cfdisk /dev/sdc 输出:
cfdisk (util-linux 2.23.2)
Disk Drive: sdc
Size: 500107862016 bytes, 500.1 GB
Heads: 64 Sectors per Track: 32 Cylinders: 476940
Name Flags Part Type FS Type [Label] Size (MB)
------------------------------------------------------------------------------
sdc1 Boot, NC Primary Hidden HPFS/NTFS 774.90
Pri/Log Free Space 499332.97*
答案1
我觉得您的问题可以通过第一个命令 fdisk 得到很好的诊断:我引用
Disk /dev/sdc: 500.1 GB, 500107862016 bytes, 976773168 sectors
....
Disk /dev/sdc1: 774 MB, 774897664 bytes, 1513472 sectors
您的分区比您的磁盘小得多。很明显,您的其余内容位于此分区末尾未分配的区域。但是,您不能只使用实用程序来重建分区表,因为您似乎删除了 774 MB 的数据;如果您只删除了分区表,那么就可以重建分区表,并且您的数据会奇迹般地毫发无损地重新出现。
不过,您只损失了 1GB,所以大部分数据都还在。我对 testdisk 一无所获感到有些困惑,总的来说,它是一种最强大的工具。您确定您将其指向了磁盘的“未分配”部分吗?如果您没有(我怀疑是因为您说它什么都没报告),testdisk 可能只检查了 /dev/sdc1 分区的 774 MB,我敢打赌,这完全没问题。在 testdisk 选项的某个地方有“磁盘的未分配部分”,您应该在那里试一试。
此外,还有一些其他工具,例如http://www.cgsecurity.org/wiki/PhotoRec,http://foremost.sourceforge.net/,http://www.sleuthkit.org/autopsy/index.php。如需更多实用程序,您可以尝试这个信息量很大的页面Arch Linux Wiki 的。