Ubuntu如何实现分区加密
小樊
32
2025-12-06 08:40:33
Ubuntu 分区加密实用指南
一 方案总览与准备
- 常用方案对比
- LUKS + cryptsetup:Linux 主流磁盘/分区加密标准,适合系统盘与数据盘,支持开机解锁,安全性与兼容性优秀。
- 图形化工具 Disks:Ubuntu 自带“磁盘”应用,可一键“格式化加密分区”,对新手更友好。
- 文件级加密:如 GnuPG、OpenSSL,适合加密若干文件/目录而非整分区。
- 容器/跨平台:VeraCrypt 可创建加密容器或整盘,适合与 Windows/macOS 共享数据。
- 重要提示
- 加密会不可逆擦除目标分区数据,务必先完整备份。
- 忘记口令将无法恢复数据;请妥善保存恢复密钥/口令。
- 建议准备一个未加密的 /boot 分区(常规做法),以便引导加载程序能启动并提示解锁加密卷。
二 命令行方式 LUKS 加密分区(通用、可控)
- 安装工具
- sudo apt-get update && sudo apt-get install cryptsetup
- 准备分区
- 用 fdisk/gparted 新建分区(如:/dev/sdb1),不要在该分区上创建文件系统。
- 初始化 LUKS(会清空分区)
- sudo cryptsetup luksFormat /dev/sdb1
- 如需自定义参数(可选):
- sudo cryptsetup -c aes-xts-plain64 --key-size 512 --hash sha512 --time 5000 --use-urandom /dev/sdb1
- 打开并映射
- sudo cryptsetup luksOpen /dev/sdb1 encrypted
- 创建文件系统并挂载
- sudo mkfs.ext4 /dev/mapper/encrypted
- sudo mkdir -p /mnt/encrypted
- sudo mount /dev/mapper/encrypted /mnt/encrypted
- 卸载与关闭
- sudo umount /mnt/encrypted
- sudo cryptsetup close encrypted
- 说明
- 映射设备位于 /dev/mapper/;上述流程同样适用于新磁盘或新分区。
三 图形化方式 使用 Disks 加密分区
- 打开“磁盘”应用 → 选中目标磁盘/分区。
- 右上角菜单 → 选择“格式化加密分区” → 设置加密口令与文件系统(如 ext4)。
- 完成后按提示挂载使用;后续插入该磁盘时按口令解锁即可。
四 开机自动解锁与系统盘场景
- 自动挂载数据盘(已解锁后)
- 获取映射设备 UUID:sudo blkid /dev/mapper/encrypted
- 编辑 /etc/fstab,添加例如:
- /dev/mapper/encrypted /mnt/encrypted ext4 defaults 0 2
- 系统盘/根分区或 /home 加密(高级)
- 安装时选择“加密安装”,或手动用 LUKS 加密分区后在 /etc/crypttab 中登记,例如:
- home UUID=<HOME_UUID> none luks,discard
- 更新 initramfs 并在 chroot 中配置引导后重启:
- sudo update-initramfs -k all -c
- 说明:该流程涉及分区、LVM、initramfs 与引导配置,操作前请完整备份并熟悉流程。
五 其它加密方式与注意事项
- 文件级加密
- GnuPG:gpg --symmetric --cipher-algo AES256 file → 生成 file.gpg;解密:gpg --decrypt file.gpg
- OpenSSL:openssl enc -aes-256-cbc -salt -in file -out file.enc;解密:openssl enc -d -aes-256-cbc -in file.enc -out file
- 容器/跨平台
- VeraCrypt:创建加密容器或整盘,适合与 Windows/macOS 共享;安装后在 GUI 中创建卷并挂载。
- 安全与运维建议
- 高强度口令 + 妥善保管恢复密钥;对含敏感数据的磁盘/分区操作前务必全量备份。
- 加密会引入性能开销;在 SSD 上可考虑启用 discard(如 crypttab 的 luks,discard),并在支持的硬件上评估 TRIM 影响。