veracrypt 中是否有自动卸载功能,或者我是否应该始终在关机之前手动卸载 veracrypt 卷以防止文件系统/容器损坏?
我在 Windows 中找到了答案veracrypt 常见问题解答,但不适用于 Linux/Ubuntu。
答案1
有所谓的运行级别,当进入新的运行级别时,脚本就会执行。在 Ubuntu 上,这些存储在 中/etc/rc<run level>.d
。运行级别 0 表示关闭,运行级别 6 表示重启。因此,您希望脚本位于 和/etc/rc0.d
中/etc/rc6.d
。
创建文件/etc/init.d/unmount-veracrypt-volumes.sh
并使其内容如下:
#!/bin/sh
veracrypt -d -f
sleep 3
然后执行以下命令:
sudo chown root /etc/init.d/unmount-veracrypt-volumes.sh
sudo chmod 751 /etc/init.d/unmount-veracrypt-volumes.sh
sudo ln -s /etc/init.d/unmount-veracrypt-volumes.sh /etc/rc0.d/K00-unmount-veracrypt-volumes.sh
sudo ln -s /etc/init.d/unmount-veracrypt-volumes.sh /etc/rc6.d/K00-unmount-veracrypt-volumes.sh
我选择的K00
是,当进入某个运行级别时,脚本会作为第一个执行。这些脚本按 ASCII 的递增顺序执行,因此符号链接名称的数字越小,脚本执行得越早。
答案2
答案3
这是一个更新,这应该是正确的答案!
我在 veracrypt 论坛上了解到,在 1.19 版中引入了控制关机和/或挂起时卸载的选项。无需创建上述 init.d 脚本。
你可以自己看看。我使用 Ubuntu ppa 提供的 veracrypt 包,其中有一个名为的文件,/etc/default/veracrypt
其中包含以下设置:
# If enabled, the following option calls 'veracrypt -d' at shutdown. Although
# all filesystems are unmounted automatically at shutdown, only calling
# 'veracrypt -d' will stop the VeraCrypt processes and remove any device mappings.
# It probably isn't necessary to do this, but it shouldn't hurt.
VERACRYPT_SHUTDOWN_UNMOUNT="yes"
# If enabled, the following option calls 'veracrypt -d' during suspend and hibernate.
VERACRYPT_SUSPEND_UNMOUNT="yes"
如果你想尝试,这里是 ppa 文件:
deb http://ppa.launchpad.net/unit193/encryption/ubuntu cosmic main
deb-src http://ppa.launchpad.net/unit193/encryption/ubuntu cosmic main
以及截至 2018-12-26 的版本veracrypt-1.23.0vanirl~18.10
。