|
一直想用加密让系统和数据更加安全,最近终于把我的arch迁移到加密分区上,加密方法是用cryptsetup。 我的arch有两个分区,一个根分区和一个home分区,都要加密。因此先在硬盘上准备好合适大小的两个分区分别用来做加密的根分区和home分区,比如是/dev/sda11做为根分区,/dev/sda12做为home分区。分区完成后: cryptsetup luksFormat /dev/sda11cryptsetup luksFormat /dev/sda12第一次好像会问是passphrase还是keyfile,我选择密码了。 cryptsetup luksOpen /dev/sda11 archRootmkfs.ext4 -L archRoot /dev/sda11cryptsetup luksOpen /dev/sda12 archHomemkfs.ext4 -L archHome /dev/sda12接下来关机,开机进入另一个linux系统,把两个分区的文件rsync到对应的加密分区。接着就是修改fstab,crypttab和boot了。
/etc/fstab文件修改如下: /dev/sda11修改为/dev/mapper/archRoot/dev/sda12修改为/dev/mapper/archHome如果是用UUID表示的也是一样修改。
/etc/crypttab文件内容如下: archRoot /dev/sda11 none luksarchHome /dev/sda12 none luks由于载入内核之前必须在解密之前,所以要把内核放到未加密的分区,载入内核之后就可以解密根分区。正好我把grub配置文件放在了单独的分区,我只需要重新安装一下grub,/boot目录下的内核和initramfs-linux.img复制过去,重写下grub.cfg就好了。grub.cfg写法: linux /vmlinuz-linux root=/dev/mapper/archRoot cryptdevice=/dev/sda11:archRoot ro quiet这样就算完成了,重新开机,输入三次密码才能进入桌面。现在就还剩下swap分区和内核所在的boot分区没有加密。以后把swap也加密下。加密后,现在用着速度没感到什么差别,还是非常好。
|