更新1:
userone@desktop:~$ sudo umount "/media/userone/New Volume"
umount: /media/userone/New Volume: mountpoint not found
userone@desktop:~$ sudo cryptsetup luksClose /dev/mapper/luks-04cb4ea7-7bba-4202-9056-a65006fe52d7
Device /dev/mapper/luks-04cb4ea7-7bba-4202-9056-a65006fe52d7 is not active.
userone@desktop:~$ sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sdb 8:16 1 29.5G 0 disk
└─sdb1 8:17 1 29.5G 0 part
└─luks_USB 252:3 0 29.5G 0 crypt
sr0 11:0 1 1024M 0 rom
userone@desktop:~$ sudo cryptsetup luksOpen /dev/sdb1 luks_USB
Device luks_USB already exists.
userone@desktop:~$ sudo mkdir /media/userone/luks_USB
mkdir: cannot create directory ‘/media/userone/luks_USB’: File exists
userone@desktop:~$ sudo mount /dev/mapper/luks_USB /media/userone/luks_USB
mount: wrong fs type, bad option, bad superblock on /dev/mapper/luks_USB,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so.
userone@desktop:~$ dmesg | tail
[20639.663250] JBD2: no valid journal superblock found
[20639.663257] EXT4-fs (dm-3): error loading journal
[20828.133606] JBD2: no valid journal superblock found
[20828.133613] EXT4-fs (dm-3): error loading journal
[20832.682397] JBD2: no valid journal superblock found
[20832.682405] EXT4-fs (dm-3): error loading journal
[20851.042343] JBD2: no valid journal superblock found
[20851.042349] EXT4-fs (dm-3): error loading journal
[21053.115711] JBD2: no valid journal superblock found
[21053.115718] EXT4-fs (dm-3): error loading journal
userone@desktop:~$
原问题:
当我插入加密的 USB 驱动器时,我在 GNOME 对话框中收到以下消息:
Error mounting /dev/dm-3 at /media/userone/New Volume:
Command line
mount -t "ext4" \
-o "uhelper=udisks2,nodev,nosuid" \
"/dev/dm-3" "/media/userone/New Volume"'
exited with non-zero exit status 32:
mount: wrong fs type, bad option, bad superblock on
/dev/mapper/luks-04cb4ea7-7bba-4202-9056-a65006fe52d7,
missing codepage or helper program, or other error.
In some cases, useful info is found in syslog - try dmesg | tail or so.
有人知道如何纠正这个问题吗?昨天还运行得很好。
答案1
看起来日志已经损坏,在过去几天进行了一些搜索,这在使用 LUKS 的设备上似乎并不罕见。
您可以尝试在设备上运行fsck
,并确认此后设备上的任何数据可能无法访问 - 您可能希望dd
在此之前用来制作驱动器的副本。
一个常见的解决方案似乎是创建 EXT4 文件系统划痕禁用日记功能,使用mke2fs -t ext4 -O ^has_journal /dev/device
.显然,这样做会失去日志文件系统的优势,并丢失设备上的所有数据!
问题
此问题是 EXT4 文件系统的日志已损坏。由于设备已加密并且文件系统驻留在加密“内部”,因此该问题可能变得有点模糊。
解决
下面有一条评论,但我认为这里的总结对将来可能遇到此问题的任何人都会更有益。
解密设备,这使我们能够获取 EXT4 文件系统所在的设备:
sudo cryptsetup luksOpen /dev/sdb1 luks_USB
创建在上一步中创建的设备的映像。我们需要这样做,因为文件系统检查实用程序通常无法在已安装的设备上工作,并且尽管未安装 EXT4 的设备,但它的“父”设备已安装。
sudo dd if=/dev/dm-3 of=/tmp/USBimage.dd
(添加您认为合适的参数)bs
。count
现在我们有了一个图像,我们可以运行文件系统检查:
sudo e2fsck /tmp/USBimage.dd
可以根据需要评估和修复发现的任何问题。您可以通过尝试挂载映像来检查文件系统是否已修复:
sudo mount -o loop /tmp/USBimage.dd /mnt
此时,OP 能够访问他们的文件。
虽然我建议擦除 USB 记忆棒并重新开始(返回到已知状态等),但我认为可以卸载映像/mnt
,然后将其复制回损坏的设备上:sudo dd if=/tmp/USBimage.dd of=/dev/dm-3
答案2
我经常无缘无故地遇到这样的错误,通常只需卸载并重新安装即可修复它。您可以使用以下命令来执行此操作。
卸载 - 我知道它从一开始就没有安装,并且可能会抛出错误,但我会运行以确保运行 luksClose 的干净状态
sudo umount "/media/userone/New Volume"
卢克关闭
sudo cryptsetup luksClose /dev/mapper/luks-04cb4ea7-7bba-4202-9056-a65006fe52d7
现在重新挂载,首先获取 luks 容器所在的分区号:
sudo lsblk
或者
sudo fdisk -l
然后在这里使用该分区,从您的错误消息来看,您的分区可能是
/dev/dm-3
,但我会首先确认sudo lsblk
sudo cryptsetup luksOpen </dev/luks_partition_here> luks_USB
sudo mkdir /media/userone/luks_USB
sudo mount /dev/mapper/luks_USB /media/userone/luks_USB