我使用以下命令创建了一个加密文件系统:
# 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 命令不会因密码错误而失败 - 它只是不让你挂载文件系统,因为如果密码错误,文件系统就会变得混乱!