我刚刚在新磁盘上安装了 Ubuntu 18.04,并尝试从 18.04 访问我的旧 Ubuntu 文件,较旧磁盘。
进入后/media/new_user/old_disk/old_user
,有一个 README 文件,其中内容如下:为保护您的数据,此目录已被卸载。然后说:从命令行运行: ecryptfs-mount-private
。
试:
$ sudo ecryptfs-recover-private
没什么作用(基本上就是无法访问一些文件,什么也没发生)。读这个旧帖 (链接到这个博客),我会这样做:
cd /media/new_user/old_disk/.ecryptfs/old_user
sudo ecryptfs-recover-private .Private/
这使:
INFO: Found [.Private/].
Try to recover this directory? [Y/n]: Y
INFO: Found your wrapped-passphrase
Do you know your LOGIN passphrase? [Y/n] n
INFO: To recover this directory, you MUST have your original MOUNT passphrase.
INFO: When you first setup your encrypted private directory, you were told to record
INFO: your MOUNT passphrase.
INFO: It should be 32 characters long, consisting of [0-9] and [a-f].
Enter your MOUNT passphrase:
mount: /tmp/ecryptfs.lFwWFlD4: mount(2) system call failed: No such file or directory.
ERROR: Failed to mount private data at [/tmp/ecryptfs.lFwWFlD4].
我不确定我当时做错了什么?
谢谢!!
编辑1:
我相信问题不是来自错误的密码:我认为我确实输入了正确的密码,输入一个明显错误的密码会给出另一个错误消息,错误:解开密码并插入用户会话密钥环失败 [-5]。
编辑2:
我应该说一下,我的旧家和新家都有相同的用户名...这可能是造成问题的原因吗?应该在哪里ecryptfs-recover-private
安装旧磁盘/系统?
答案1
如果您对密钥有疑问(请参阅dmesg
或syslog
),例如
Could not find key with description: [XXX]
process_request_key_err: No key
Could not find valid key in user session keyring for sig specified in mount option: [XXX]
然后,尝试手动添加密码:菜单中的选项“1”/usr/bin/ecryptfs-manager
它帮助了我。
答案2
安装 18.04 后,当我尝试使用 访问旧的加密数据时,遇到了同样的问题ecryptfs-recover-private
。我可以通过执行以下操作来解决问题:
解开旧的挂载密码
(如果你知道此挂载密码,则可以跳过此步骤)
您需要找到挂载密码,以便将其添加到密钥环中。假设您当前的工作目录是您以前的主分区,您可以通过输入以下内容来执行此操作
ecryptfs-unwrap-passphrase .ecryptfs/old_user/.ecryptfs/wrapped-passphrase
这将要求您输入旧的登录密码并输出您的旧挂载密码。
将您的挂载密码添加到内核密钥环
这是通过
printf "%s" "mount_passphrase" | ecryptfs-add-passphrase --fnek -
这个--fnek
选项可能不是必需的,但对我来说却很有用。
将加密数据挂载到 /tmp 中
最后输入
sudo ecryptfs-recover-private .ecryptfs/old_user/.Private/
这要么直接要求您输入挂载密码,要么尝试使用您的登录密码将其解包。虽然前面的步骤现在看起来是多余的,但它们使这一步起作用,至少对我来说是这样。希望你也能成功。
答案3
它看起来ecryptfs-mount-private
像是加密主页和不是全盘加密,以及手册页似乎证实了这一点。只是注意一下。
似乎人们通过指向加密文件系统而不是目录,或者不带任何参数会获得更好的结果。例如:
ecryptfs-recover-private /media/<username>/<disk-guid>/home/.ecryptfs/<username>/.Private
ecryptfs-recover-private
有一个博客文章详细描述了该过程:
该实用程序将深入查找系统硬盘,查找名为“.Private”的文件夹,并以交互方式询问您是否要恢复该文件夹。如果您回答“是”,系统将提示您输入用于解密包装的挂载密码的登录密码。假设您拥有正确的凭据,它将以只读模式挂载您的加密主目录或私人目录,并指向挂载该目录的临时目录。
我很难找到一个例子,当被要求使用“MOUNT 密码”恢复时,人们使用了错误的密码,所以它可能会因此而窒息。
其他的当新用户和旧用户不同时,报告了问题,并建议指向旧用户的主目录:
ecryptfs-recover-private /home/old_user/.Private
要恢复,请使用旧用户名创建一个用户,以该用户身份登录,然后尝试安装该驱动器。
这个想法是让系统将其安装在熟悉的位置,并防止出现此问题。缺点是您需要可用的空间,但可能更简单。恢复驱动器后,将文件复制到新用户。
或者,将用户名改回原来的用户名,恢复文件,然后再改回用户名。在这种情况下,您可能会丢失新数据,而且这是一个相对更危险的操作。