我还意外更改了 keylocation 属性,我甚至不确定原始值是什么。我找到了类似“file:///run/keystore/rpool/system.key”的路径,但不起作用,因为
sudo zfs 加载密钥
失败并显示“无法打开密钥材料文件”。
答案1
实际的密钥文件存储在专用的 zfs 卷调用中keystore
,并受到 Luks 加密的保护。这是启动屏幕上要求您输入密码的提示。
如果您想在另一台机器上解密并挂载 ZFS 卷,首先打开 Luks 文件系统以获取密钥文件,例如:
$ sudo cryptsetup open /dev/zvol/rpool/keystore zfskey
它将在 /dev 目录下创建一个新设备,例如/dev/dm-0
。您可以通过 Nautilus 文件管理器轻松挂载它。据说只有一个文件,即system.key
。
使用该密钥文件,您可以解密您的 ZFS 池,例如:
$ sudo cat /path/to/system.key | sudo zfs load-key -L prompt rpool
最后,挂载 ZFS 卷。在实际挂载卷之前,您可能需要将挂载点更改为某个位置。例如:
$ sudo zfs get mountpoint rpool/USERDATA/username_1b23ae
#(Backup the oritional mountpoint value)
$ sudo zfs set mountpoint=/mnt rpool/USERDATA/username_1b23ae
$ sudo zfs mount rpool/USERDATA/username_1b23ae