“结构需要清理”错误 - 无法挂载分区

“结构需要清理”错误 - 无法挂载分区

我有一个 LUKS/LVM 卷,不幸的是它没有被正确卸载就被删除了。

我备份了dd整个加密的 Ubuntu 16.04 安装。然后使用计算机上 LUKS 卷中的实时 USB 全新安装不同的 Ubuntu 版本,启动它,然后插入带有 dd 备份的驱动器以手动复制数据。

它无法解锁另一个具有相同 UUID 和加密密钥(作为备份dd)的驱动器,因此弹出了假驱动器。驱动器既没有解锁也没有弹出。当我试图找出如何安全地移除驱动器时,驱动器被错误地冷拔了。

现在,每当我在另一台计算机上安装此驱动器时,我都可以毫无问题地解锁,但是当我尝试安装里面的分区时,它说

Error mounting /dev/dm-4 at /media/user/57960113-31ce-4ced-8654-1fadf6012947:
Command-line 'mount -t "ext4" -o "uhelper=udisks2,nodev,nosuid" "/dev/dm-4" "/media/user/57960113-31ce-4ced-8654-1fadf6012947" ' exited with non-zero exit status 32:
mount: mount /dev/mapper/ubuntu1604-ubuntu1604root on /media/user/57960113-31ce-4ced-8654-1fadf6012947 failed:
Structure needs cleaning

此备份现在是我数据的唯一副本。我已将dd其复制到另一个驱动器,这样我就可以进行实验而不会使情况变得更糟。

我该如何解决?

答案1

您的文件系统已损坏。您需要修复它,以便您的操作系统可以正确读取/写入它。

因此,我们需要利用一个名为fsck

根据其man页面:

姓名

fsck——检查并修复 Linux 文件系统

概要

fsck [-sAVRTMNP] [-C [fd]] [-t fstype] [文件系统...] [--] [fs-specific-options]

描述

fsck 用于检查并选择性地修复一个或多个 Linux 文件系统。filesys 可以是设备名称(例如 /dev/hdc1、/dev/sdb2)、挂载点(例如 /、/usr、/home)或 ext2 标签或 UUID 说明符(例如 UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd 或 LABEL=root)。通常,fsck 程序将尝试并行处理不同物理磁盘驱动器上的文件系统,以减少检查所有文件系统所需的总时间。

该命令的基本用法是:

sudo fsck.ext4 /dev/sda[NUMBER]

但请注意,这个过程可能会很漫长。

答案2

正如所写,您可以清理分区(在备份之后,就像您已经做的那样),通过输入

sudo e2fsck /dev/dm-4

e2fsck检查文件系统的完整性。

此后,您应该能够再次安装它。

答案3

您也可以运行 gparted。分区将显示一个感叹号。

  • 在右上角选择正确的硬盘
  • 右键单击标有感叹号的分区
  • 选择“检查”
  • gparted 会询问您是否确定并尝试对文件系统进行修复。e2fsck。请注意,此操作可能需要一些时间,一旦启动,您就不应中断它。

答案4

当面对重复的问题时,您只需按“a”而不是每次都输入“y”。按“a”回答所有问题。输入“a”后,您会看到大量语句在终端窗口中滚动,所以去吃晚饭或玩游戏或做点别的吧。这将花费几个小时!

相关内容