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

in2*_*eep 16 encryption partitioning mount

我有一个 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
Run Code Online (Sandbox Code Playgroud)

这个备份现在是我数据的唯一副本。我已经dd把它放到另一个驱动器上,这样我就可以在不让事情变得更糟的情况下进行试验。

我该如何解决?

小智 19

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

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

根据它的man页面:

姓名

fsck - 检查和修复 Linux 文件系统

概要

fsck [-sAVRTMNP] [-C [fd]] [-t fstype] [filesys...] [--] [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]
Run Code Online (Sandbox Code Playgroud)

但是,请注意,此过程可能会很漫长。

  • 感谢您的贡献。请添加一些词来解释你为什么这样做以及命令是什么,以收集知识。 (3认同)
  • `sudo fsck.ext4 -y /dev/sdaX` (3认同)
  • “-y”,否则它会要求您确认修复每个索引节点:-) (2认同)

ser*_*inc 7

正如所写的那样,您可以通过键入

sudo e2fsck /dev/dm-4
Run Code Online (Sandbox Code Playgroud)

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

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

  • 准备好用这个命令多次输入“y”。或者包含 -y 开关以对所有提示回答“是”。 (2认同)

小智 5

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

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