Ubuntu安装后启用或配置LUKS全盘加密的方法咨询
Ubuntu安装后启用或配置LUKS全盘加密的方法咨询
当然可以实现!不过咱得先敲个警钟:这个操作有一定风险,务必提前备份好所有重要数据,不然出问题哭都来不及。下面是一步步的实操指南:
- 先准备一个Ubuntu Live USB启动盘,因为不能在正在运行的系统上直接加密根分区,得从外部环境操作。
- 用Live USB启动电脑,打开终端,先确认要加密的分区:输入
lsblk或者fdisk -l,找到你的根分区(比如/dev/sda2,记得换成你自己的实际分区路径)。 - 备份分区数据:把分区内容导出到外接存储设备(比如U盘),命令是
dd if=/dev/sda2 of=/media/ubuntu/你的U盘挂载点/backup.img,耐心等备份完成。 - 初始化LUKS加密容器:输入
cryptsetup luksFormat /dev/sda2,按提示设置加密密码——这个密码一定要记死,丢了就再也打不开分区了! - 打开加密容器:
cryptsetup luksOpen /dev/sda2 cryptroot,这时候会生成一个映射设备/dev/mapper/cryptroot。 - 在映射设备上创建文件系统:
mkfs.ext4 /dev/mapper/cryptroot(如果原来用的是其他文件系统,换成对应的命令就行)。 - 挂载加密分区:
mount /dev/mapper/cryptroot /mnt,然后把之前备份的数据恢复回去:dd if=/media/ubuntu/你的U盘挂载点/backup.img of=/dev/mapper/cryptroot。 - 挂载系统必要的分区和目录:
- 挂载/boot分区(假设是
/dev/sda1):mount /dev/sda1 /mnt/boot - 绑定proc、sys、dev目录:
mount --bind /proc /mnt/proc,mount --bind /sys /mnt/sys,mount --bind /dev /mnt/dev
- 挂载/boot分区(假设是
- 切换到本地系统环境:
chroot /mnt - 配置开机自动解密:
- 编辑
/etc/crypttab,添加一行:cryptroot /dev/sda2 none luks(替换成你的分区路径) - 编辑
/etc/fstab,把原来的根分区条目替换成/dev/mapper/cryptroot / ext4 defaults 0 1
- 编辑
- 更新启动镜像:
update-initramfs -u -k all,这一步是让系统启动时加载LUKS解密模块。 - 更新GRUB配置:
update-grub,确保GRUB能识别加密分区。 - 最后退出chroot(输入
exit),重启电脑,之后开机就会提示你输入加密密码,验证通过后就能进入系统了。
额外提醒:如果连/boot分区也想加密,操作会更复杂,因为GRUB需要读取/boot的内容,通常需要单独留一个未加密的小分区来存放GRUB相关文件,或者配置GRUB的LUKS支持,新手建议先只加密根分区。
备注:内容来源于stack exchange,提问作者ASA
相关产品推荐
相关产品推荐

