我正在关注以下代码有谁知道如何在 Linux 中加密现有分区并保留其数据
$ cryptsetup open /dev/sda sda-crypt --type plain $ dd if=/dev/sda of=/dev/mapper/sda-crypt bs=512
但是我不明白如何从命令行使用密码来安装它。
答案1
如果它正确解密为 /dev/mapper/sda-crypt,并且如果它是一个分区,您应该能够执行以下操作(创建挂载点文件夹后):
mount /dev/mapper/sda-crypt mountpoint
如果它是一个完整的多分区磁盘映像,那么尝试kpartx
为各个分区查找并创建更多 /dev/mapper 条目。
概要
陣容[-A|-d|-l][-v] 整个磁盘描述
此工具源自 util-linux 的 partx,可读取指定设备上的分区表并在检测到的分区段上创建设备映射。在创建和删除设备映射时,它会从热插拔中调用。
因此,在您的示例中您可以尝试:
kpartx -v -a /dev/mapper/sda-crypt
这应该为每个分区创建新的“设备”,/dev/mapper/sda-cryptp1
例如/dev/mapper/sda-cryptp2
然后创建一个挂载点(文件夹)并执行
mount /dev/mapper/sda-cryptp1 mountpoint
完成后,您需要卸载( ),然后使用 kpartx 的“删除分区映射”选项umount
删除设备。-d
我不完全相信你的例子,即从同一设备读取和写入会成功,因为 bash 中的其他工具通常会导致“擦除”目标。你可以使用 检查它是否是一个无错误的文件系统fsck
。
当然,如果它确实覆盖了驱动器并且以某种方式失败,则没有办法返回并重试,您将不得不求助于备份副本。