7.2. 挂载加密的卷

如果在安装时创建了加密的卷,并为其指定了挂载点,那么在引导的时候会要求为每个这样的卷输入密码。

对于使用 dm-crypt 来加密的分区,引导的时候会显示下面的提示信息:

Starting early crypto disks... part_crypt(starting)
Enter LUKS passphrase:

在提示的第一行,part 是底下分区的名称,例如:sda2 或 md0。您现在也许想知道具体是 为哪一卷 真正输入密码。它是与 /home 相关?还是与 /var 相关?当然,如果只有一个加密的卷,那么这很容易,只需在设置这个卷时输入使用的密码就可以了。如果在安装过程中设置了多个加密的卷,那么在上一步 第 6.3.4.6 节 “配置加密卷” 中写下的笔记会有用。要是之前没有记下在 part_crypt 与挂载点之间的映射的笔记,那么仍然可以在新系统的 /etc/crypttab/etc/fstab 里面找到它。

加密的根文件系统挂载的时候,提示信息或许会有些不同。这取决于使用了哪个 initamfs 生成程序,来生成用于引导系统的 initrd。下面的示例使用了 initramfs-tools 来生成 initrd:

Begin: Mounting root file system... ...
Begin: Running /scripts/local-top ...
Enter LUKS passphrase:

输入密码时不会显示任何字符(甚至星号)。如果密码输错,那么还有两次机会来纠正。第三次输错后,引导过程将跳过该卷,并继续挂载下一个文件系统。更多信息请参见 第 7.2.1 节 “故障处理”

在输入所有密码之后,引导过程应该像通常一样继续。

7.2.1. 故障处理

如果由于输错密码而造成无法挂载加密的卷,那么不得不在引导后手动挂载。有下面几种情况。

  • 第一种情况与根分区相关。当不能正确挂载时,引导过程将中止,而您不得不重新引导计算机并再次尝试。

  • 最简单的情况是保存诸如 /home/srv 数据的加密的卷。引导后可以简单地手动挂载它们。

    然而对于 dm-crypt,这需要一些技巧。首先,需要用 device mapper 来注册卷,这需要运行:

    # /etc/init.d/cryptdisks start
    

    这将扫描 /etc/crypttab 里面提到的所有卷,并在输入正确的密码之后,在 /dev 目录下面创建对应的设备。(已注册的卷会被跳过,因此可以放心地多次运行该命令。)正确注册以后,就可以按一般的方式来挂载这些卷了:

    # mount /mount_point
    

  • 如果任何保存着非关键系统文件( /usr/var )的卷不能挂载,那么系统仍然应该能够引导,并仍然可以像前一种情况那样手动挂载那些卷。但是需要将默认运行级别下的任何服务(重新)启动,因为它们很可能没有启动。最简单的做法只是重新引导计算机。