我正在使用 tcplay 来处理 Truecrypt 卷,该卷具有位于最后 GB 的 4 GB 隐藏卷。当我安装普通卷或隐藏卷时,它们安装得很好。但是,当我安装带有隐藏卷保护的普通卷(选项--protect-hidden
,或简称-e
)时,我得到的是:
[root@oc2222167007 /media]# tcplay -m truecrypt2 -e -d /dev/loop0
Passphrase: <password of external volume>
Passphrase for hidden volume: <password of hidden volume>
All ok!
[root@oc2222167007 /media]# parted -l | grep -B1 -A5 truecrypt
Error: /dev/mapper/truecrypt2: unrecognised disk label
<output ommited>
当我使用 挂载文件系统时-e
,它不会拾取它......
[root@oc2222167007 /media]# cryptsetup remove truecrypt2
[root@oc2222167007 /media]# tcplay -m truecrypt2 -d /dev/loop0
Passphrase: <password of external volume>
All ok!
[root@oc2222167007 /media]# parted -l | grep -B1 -A5 truecrypt
Model: Linux device-mapper (crypt) (dm)
Disk /dev/mapper/truecrypt2: 4295MB
Sector size (logical/physical): 512B/512B
Partition Table: loop
Number Start End Size File system Flags
1 0.00B 4295MB 4295MB ext4
...但是如果我像那样安装外部卷,它就可以正常工作。
发生了什么?
答案1
遇到同样的问题,我无法安装受保护隐藏的外部卷,但我可以安装为不受保护的罚款,但因此我可以轻松地破坏我的隐藏数据。
如果我尝试将其安装为受保护的,我会从安装中收到此错误:
mount: wrong fs type, bad option, bad superblock on /dev/mapper/tmp.000,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
似乎它无法识别原始文件系统,并且不会让我挂载,即使我在命令中定义文件系统类型也是如此mount
。
但是,我为此找到了一种解决方法,在您映射受tcplay
我用来mkfs
创建文件系统保护的设备之后,它就可以正常安装并且隐藏卷保持不变。
但这种方法有一个问题,假设你创建了一个 10Mb 的容器,带有 6Mb 的隐藏卷,如果你在启用隐藏卷保护后创建一个文件系统,你将得到一个 4Mb 的卷,即使你挂载了外部卷,这也会显示为 4Mb卷,它应该显示 10Mb,所以我们会遇到合理推诿的问题,如果您无法隐藏隐藏卷的已用空间,那么拥有隐藏卷有什么用?
答案2
由于您可以正确安装外部卷和隐藏卷,因此您必须已经创建了相应的文件系统。该问题可能是由于您对外部卷使用了错误的文件类型所致。
以下是有关 truecrypt 卷设置的信息:
https://help.ubuntu.com/community/TruecryptHiddenVolume
它声明输出文件系统应设为“fat”(命令 mkfs.vfat)。
解决方案:
备份文件。挂载没有隐藏保护的输出卷并使用 mkfs.vfat,然后挂载并为隐藏卷创建文件系统。这样就可以在不泄露隐藏卷秘密的情况下解决隐藏保护问题。