在重新安装之前,我已经安装了 Ubuntu 16.04 并设置了加密的主分区。现在,我尝试重新安装和配置它,以便再次使用基本相同的设置:因为sda6
我选择了“用作 ext4 文件系统”,选中格式化分区的框并选择将其安装在/
;对于sda5
(其中包含旧的加密主目录)我也选择了“用作 ext4 文件系统”[1],不是选中格式化它的框并选择将其安装在/home
。这似乎效果很好,但是当我现在启动时,系统不会像以前那样提示我输入主分区的密码,并且系统日志显示这些可疑行:
Jan 02 18:22:31 HOSTNAME systemd[1]: dev-mapper-luks\xUUID.device: Job dev-mapper-luks\xUUID.device/start timed out.
Jan 02 18:22:31 HOSTNAME systemd[1]: Timed out waiting for device dev-mapper-luks\xUUID.device.
Jan 02 18:22:31 HOSTNAME systemd[1]: Dependency failed for File System Check on /dev/mapper/luks-95a5b792-d8c6-400b-9253-c998bb7b2141.
Jan 02 18:22:31 HOSTNAME systemd[1]: Dependency failed for /home.
Jan 02 18:22:31 HOSTNAME systemd[1]: Dependency failed for Local File Systems.
Jan 02 18:22:31 HOSTNAME systemd[1]: Dependency failed for Clean up any mess left by 0dns-up.
Jan 02 18:22:31 HOSTNAME systemd[1]: dns-clean.service: Job dns-clean.service/start failed with result 'dependency'.
Jan 02 18:22:31 HOSTNAME systemd[1]: local-fs.target: Job local-fs.target/start failed with result 'dependency'.
Jan 02 18:22:31 HOSTNAME systemd[1]: local-fs.target: Triggering OnFailure= dependencies.
Jan 02 18:22:31 HOSTNAME systemd[1]: home.mount: Job home.mount/start failed with result 'dependency'.
Jan 02 18:22:31 HOSTNAME systemd[1]: systemd-fsck@dev-mapper-luks\xUUID.service: Job systemd-fsck@dev-mapper-luks\xUUID.service/start failed with result 'dependency'.
Jan 02 18:22:31 HOSTNAME systemd[1]: dev-mapper-luks\xUUID.device: Job dev-mapper-luks\xUUID.device/start failed with result 'timeout'.
显然HOSTNAME
, 和UUID
代表实际的主机名和 UUID。
如何解决这个问题?
[1] 如果选择“加密文件系统”,则始终对其进行格式化。
答案1
crypttab
格式非常简单。它只是newdevice rawdevice password [options]
Systemd 已经检测到您的设备,但是当 crypttab 中使用“none”作为密码时,默认行为是每次安装设备时询问。
因此,将其添加到您的 crypttab 中:
echo "home UUID=<UUID of Luks partition> none" >> /etc/crypttab
您还需要安装设备以供其询问,因此您需要将其添加到您的 fstab 中以及/dev/mapper/home