如何恢复外部硬盘中的分区表?

如何恢复外部硬盘中的分区表?

我有一个外部硬盘插入/dev/sdb。该外部硬盘是“Seagate Backup slim plus”。

当我插入它时,出现错误“无法打开设备”(在 Windows 或 ubuntu GUI 中)。fschk告诉我超级块无效并且我的分区表无法读取。

那么,谁能帮我恢复分区表呢?因为数据存在于外部硬盘中,正如我使用test-disk/ddrescue实用程序看到的那样。

我一生中大部分时间都在使用 ubuntu。

  • 运行时fsck,我得到以下输出

    $ fsck /dev/sdb
    
    fsck from util-linux 2.34
    e2fsck 1.45.5 (07-Jan-2020)
    ext2fs_open2: Bad magic number in super-block
    fsck.ext2: Superblock invalid, trying backup blocks...
    fsck.ext2: Bad magic number in super-block while trying to open /dev/sdb
    
    The superblock could not be read or does not describe a valid ext2/ext3/ext4
    filesystem.  If the device is valid and it really contains an ext2/ext3/ext4
    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>
     or
        e2fsck -b 32768 <device>
    
    Found a dos partition table in /dev/sdb
    
  • 然后我找到了 about ddrescue,我明白了,它将恢复映射文件图像中的数据,然后可以将其加载到空磁盘中。我现在没有足够存储空间的空磁盘,因此我尝试了该test-disk实用程序。

  • test-disk检测/分析分区,并提供写入分区文件的选项。但它说我需要重新启动系统。我尝试再次重新插入外部磁盘,但仍然无法读取。 (我以前从未使用过test-disk实用程序)。

  • 分区信息

    $ fdisk -l /dev/sdb
    
    Disk model: BUP Slim SL     
    Units: sectors of 1 * 512 = 512 bytes
    Sector size (logical/physical): 512 bytes / 4096 bytes
    I/O size (minimum/optimal): 4096 bytes / 4096 bytes
    Disklabel type: dos
    Disk identifier: 0x23cfdbc0
    
    Device     Boot Start        End    Sectors  Size Id Type
    /dev/sdb1  *     2048 3907024895 3907022848  1.8T  7 HPFS/NTFS/exFAT
    

相关内容