需要一些帮助来通过 Linux 中的 FSCK 保护我的文件

需要一些帮助来通过 Linux 中的 FSCK 保护我的文件

这是 Ubuntu 18.10 与 Windows 10 双启动。 我的文件夹中外接硬盘未打开。显示“锁定”标志。我尝试了以下 FSCK 命令,它给出了一些我不理解的指示。请帮我解码/解决这个问题。

pranav@inspiron-5548~$ sudo 卸载 /dev/sdb
umount:/dev/sdb:未安装。
pranav@inspiron-5548~$ sudo fsck /dev/sdb
来自 util-linux 2.32 的 fsck
e2fsck 1.44.4(2018 年 8 月 18 日)
ext2fs_open2:超级块中的魔法数字错误
fsck.ext2:超级块无效,正在尝试备份块...
fsck.ext2:尝试打开 /dev/sdb 时超级块中的魔数错误

无法读取超级块或超级块未描述有效的 ext2/ext3/ext4
文件系统。如果设备有效并且确实包含 ext2/ext3/ext4
文件系统(而不是交换或 ufs 或其他文件系统),然后是超级块
已损坏,您可以尝试使用备用超级块运行 e2fsck:
    e2fsck -b 8193 <设备>
 或者
    e2fsck -b 32768 <设备>

在 /dev/sdb 中发现 gpt 分区表
pranav@inspiron-5548~$ sudo fsck -y /dev/sdb
来自 util-linux 2.32 的 fsck
e2fsck 1.44.4(2018 年 8 月 18 日)
ext2fs_open2:超级块中的魔法数字错误
fsck.ext2:超级块无效,正在尝试备份块...
fsck.ext2:尝试打开 /dev/sdb 时超级块中的魔数错误

无法读取超级块或超级块未描述有效的 ext2/ext3/ext4
文件系统。如果设备有效并且确实包含 ext2/ext3/ext4
文件系统(而不是交换或 ufs 或其他文件系统),然后是超级块
已损坏,您可以尝试使用备用超级块运行 e2fsck:
    e2fsck -b 8193 <设备>
 或者
    e2fsck -b 32768 <设备>

在 /dev/sdb 中发现 gpt 分区表
pranav@inspiron-5548~$ e2fsck -b 8193 /dev/sdb
e2fsck 1.44.4(2018 年 8 月 18 日)
e2fsck:尝试打开 /dev/sdb 时权限被拒绝
您必须具有文件系统的读写权限或成为 root 用户
pranav@inspiron-5548~$ sudo e2fsck -b 8193 /dev/sdb
e2fsck 1.44.4(2018 年 8 月 18 日)
e2fsck:尝试打开 /dev/sdb 时超级块中的魔数错误

无法读取超级块或超级块未描述有效的 ext2/ext3/ext4
文件系统。如果设备有效并且确实包含 ext2/ext3/ext4
文件系统(而不是交换或 ufs 或其他文件系统),然后是超级块
已损坏,您可以尝试使用备用超级块运行 e2fsck:
    e2fsck -b 8193 <设备>
 或者
    e2fsck -b 32768 <设备>

在 /dev/sdb 中发现 gpt 分区表
pranav@inspiron-5548~$ sudo e2fsck -b 32768 /dev/sdb
e2fsck 1.44.4(2018 年 8 月 18 日)
e2fsck:尝试打开 /dev/sdb 时超级块中的魔数错误

无法读取超级块或超级块未描述有效的 ext2/ext3/ext4
文件系统。如果设备有效并且确实包含 ext2/ext3/ext4
文件系统(而不是交换或 ufs 或其他文件系统),然后是超级块
已损坏,您可以尝试使用备用超级块运行 e2fsck:
    e2fsck -b 8193 <设备>
 或者
    e2fsck -b 32768 <设备>

在 /dev/sdb 中发现 gpt 分区表

pranav@inspiron-5548~$ sudo fdisk -l /dev/sdb
磁盘 /dev/sdb:465.8 GiB,500107859968 字节,976773164 个扇区
单位:扇区 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:gpt
磁盘标识符:2E688F46-2196-5965-EED0-7AF7C385FADA

设备     开始       结尾   行业   尺寸 类型
/dev/sdb1 63 976773119 976773057 465.8G 微型
pranav@inspiron-5548~$ lsblk -o +标签,FSTYPE /dev/sdb
lsblk:未知列:LABEL,

我从 Ubuntu 的磁盘实用程序中选择了“修复文件系统”。但它似乎停止了。已经过去了 20 分钟。我该怎么办?

屏幕截图

答案1

您的输出包含以下几次内容:

Found a gpt partition table in /dev/sdb

sdb 是整个驱动器/设备,并且它已经被分区,因此您要挂载的实际分区必须是 sdb1、sdb2、sdb3 等。

您可以使用以下命令之一查看有哪些分区:

  • fdisk -l /dev/sdb
  • lsblk -o +LABEL,FSTYPE /dev/sdb

或者有时使用像 Disks / 这样的 GUI 会更好gnome-disk-utility,单击您想要的分区并单击“播放”按钮来挂载它。但如果 Disks 显示分区上有挂锁标志,则表示它已加密,“播放”按钮会变为“解锁的挂锁”,因此如果您知道密码/短语,则可以解密它。


更新

在看到一些更新的信息(例如来自磁盘的屏幕截图)后,它似乎是 /dev/sdb1 上的一个 500GB FAT 分区,占据了整个驱动器。这解释了mount -t extN失败的原因。我没有看到提到 250GB...除非这就是文件占用的空间?

  • 我不知道为什么磁盘的修复文件系统花了这么长时间,但它没有显示要检查的终端,而且我以前没有 500GB 的 FAT 文件系统,它可能正在尝试读取整个驱动器或其他东西,可能需要一两个小时才能完成。fsck.fat在终端中运行会显示它正在做什么(尤其是使用-v详细标志时)。

mount(没有-t)应该仍然可以工作,正如我的评论示例mount -v /dev/sdb1 /mnt/b那样,您可以查看 /mnt/b 内部并查看那里有什么文件。

如果真的没有文件,则表明驱动器已重新格式化(可能是由 Easeus 分区大师重新格式化的?仅供参考,分区类型对可以写入的文件大小没有影响,只有文件系统,重新格式化肯定会擦除/失去对所有旧文件的访问权限),因此它不像使用 TestDisk 恢复旧分区信息那么简单,恢复整个旧 ext 文件系统甚至可能是不可能的。我不确定您是否可以找到备份超级块并使用它再次“修复”ext...

在进行更多写入(尝试修复)之前,一些文件可能仍在旧磁盘上(只要 Easeus 没有覆盖所有内容),因此可以使用以下方法恢复一些文件相簿。这是循序渐进指南- 你最大的问题应该是原始文件系统,如果是 ext,则选择 ext,否则唯一的选择是“其他”。如果你用一种方法没有恢复文件,那么尝试另一种方法也不会有什么损失。

答案2

如果 /dev/sdb1 以前是 Linux ext2/3/4 分区,现在则不再是了。它看起来像“Microsoft 数据分区”... 因此 fsck 无法找到 ext2/3/4 分区。如果它是 NTFS,则无法在其上使用 fsck。您必须使用 Windows 中的 chkdsk。

看起来您与 Windows 10 进行了双启动。您最近是否对 Windows 10 进行过重大更新?如果是这样,则可能已清除您的 /dev/sdb1 分区,尤其是当 /dev/sdb 采用 MBR 分区表格式时。这是 Microsoft 的一个“错误”。如果发生这种情况,可以使用 进行恢复testdisk。启动到 Ubuntu Live DVD/USB 后,安装testdisk,然后查看这里进行该程序。

否则,您是否安装了 Windows 驱动程序以允许您读取/写入 Linux ext2/3/4 分区。如果是这样,那可能损坏了您的分区。尽快卸载驱动程序。

否则,您是否意外格式化了 /dev/sdb1?

更新#1:

用户“……使用 Easeus 分区大师将分区表从 MBR 更改为 GPT”,并在过程中取消了它。坏主意。我希望你先做了备份。然后他们试图用它testdisk来恢复分区。更糟糕的主意。磁盘已损坏,需要使用 GPT 分区表重新初始化,然后对其进行分区,或重新安装 Ubuntu。

相关内容