编辑:

编辑:

我最近不得不使用 testdisk 以及以下步骤(快速格式化后恢复 ext4 文件系统)恢复意外格式化的 ext4 分区。

从备份超级块恢复 Ext4 分区后,我可以手动挂载它并查看丢失的文件。但是,该分区在“磁盘”实用程序中仍然显示为未知,我无法通过 Nautilus 挂载该驱动器。

有什么想法可以解决这个问题吗?

编辑:

首先出错的是,我误将一个ext4分区(名为“ExtraDrive1”)格式化为Fat32(名为“aaaaa”)。该分区对应的设备名称是/dev/sdb1。

我努力了:

  • 打开 gdisk 并按“w”进行修复。

这不起作用,因为分区的元数据仍然包含有关驱动器“aaaaa”的信息。因此,它恢复了意外创建的 fat32 文件系统,而不是丢失的 ext4 驱动器。

  • 使用磁盘实用程序和 Gparted:

这些实用程序似乎没有内置处理这种情况的方法。它们仅支持格式化驱动器,而不支持修复未格式化驱动器的元数据。

  • 使用 Testdisk 中的“写入”选项

当我打开 testdisk 时,它最初显示驱动器“aaaaa”。执行快速搜索后,它显示“ExtraDrive1”,并给我“写入”选项。但是,点击“写入”按钮然后重新启动似乎没有任何变化。

附加信息

我可以在 testdisk 中打开 ExtraDrive1 并查看文件。我还可以使用 手动挂载 /dev/sdb1 sudo mount -t ext4 /dev/sdb1 ./temp/。问题是该分区在磁盘实用程序中显示为“未知”,并且无法通过 nautilus 挂载。这似乎表明 /dev/sdb1 的元数据仍然反映“aaaaa”,而不是“ExtraDrive1”。

的输出file -s /dev/sdb1为:

/dev/sdb1: DOS/MBR boot sector, code offset 0x58+2, OEM-ID "mkfs.fat", sectors/cluster 64, reserved sectors 64, Media descriptor 0xf8, sectors/track 63, heads 255, FAT (32 bit), sectors/FAT 476864, serial number 0x80d4b4c6, label: "aaaaa      "

答案1

我没有尝试修复“ExtraDrive1”上损坏的元数据,而是决定手动安装“ExtraDrive1”,将文件复制到外部 SDD,重新格式化“ExtraDrive1”,然后将文件复制回来。

学过的知识:

testdisk、fsck 和 gparted 等实用程序似乎不适用于可以安装但仍有问题的驱动器。在这种情况下,备份文件并重新格式化要容易得多。

相关内容