尝试挂载加密文件系统失败

尝试挂载加密文件系统失败

我使用以下命令创建了一个加密文件系统:

# dd if=/dev/zero of=/opt/vol
# losetup -e aes /dev/loop0 /opt/vol
Password:
# mkfs.ext4 /dev/loop0

上述设备的安装如下:

# mount -t ext4 -o loop -o rw -o encryption=aes /opt/vol /mnt/enc
Password:
# 

我过去常常将数据存储在已安装的位置 (/mnt/enc)。最近我重新安装了操作系统。因此,在此之前,我将 /opt/vol 文件备份到了其他地方。重新安装 ubuntu 15.10 后,我将该文件复制回了同一位置 (/opt/vol)。然后,我尝试在 ubuntu 15.10 中重新安装同一个文件,并注意到以下错误:

# losetup_e -e aes /dev/loop0 /opt/vol
Password:
# mount_e -t ext4 -o loop -o rw -o encryption=aes /opt/vol /mnt/enc
lt-mount: wrong fs type, bad option, bad superblock on /dev/loop1,
   missing codepage or helper program, or other error
   In some cases useful info is found in syslog - try
   dmesg | tail or so
# dmesg | tail
[   81.215500] EXT4-fs (loop1): VFS: Can't find ext4 filesystem
[  235.538008] EXT4-fs (loop1): VFS: Can't find ext4 filesystem
[  348.594842] EXT4-fs (loop1): VFS: Can't find ext4 filesystem
#

我必须从源代码(版本 2.22)重新编译 util-linux,因为我发现如上所述,从 util-linux-2.23 开始不支持“-e”选项这里。因此,在编译之后,我将 util-linux-2.22 losetup 和 mount 二进制文件分别链接到 losetup_e 和 mount_e。

答案1

我还没有遇到过这种做事的方式,而且我无法重现您尝试安装它的方式(我使用 Ubuntu 14.04 LTS),但是我相信我有一个解决方案 - 这对我有用。

不要尝试安装原始设备,而是安装回送设备,因此要安装它:

losetup -e aes /dev/loop0 /opt/vol
mount /dev/loop0 /mnt/enc

我以前从来不知道 losetup 可以直接处理加密设备 - 这非常酷,并且似乎增加了一定程度的合理否认,因为 losetup 命令不会因密码错误而失败 - 它只是不让你挂载文件系统,因为如果密码错误,文件系统就会变得混乱!

相关内容