安装Gentoo到基于dm-crypt加密的LVM分区

安装Gentoo到基于dm-crypt加密的LVM分区

最近对数据的安全性有了兴趣,正好也想试试LVM2(logical volume manager逻辑卷管理), 就想着在硬盘划出来个分区,用dm-crypt加密这个分区,然后用LVM2管理这个分区划分几个逻辑分区:/,/home,swap,

最终的硬盘分区
/sda1    100 MB     /boot
/sda2    10 GB    # For Windows
/sda3    剩下所有空间用dm-crypt加密然后创建逻辑卷供Gentoo使用

首先是检查kernel,把Device mapper support和Crypt target support还有相应的编译进内核(为了方便没有编译成模块),然后备份好Gentoo和相应的数据,用liveCD启动重新划分分区
 
1. 创建一个加密的分区,需要提供一个passphrase
# cryptsetup -c aes-xts-plain -y -s 512 luksFormat /dev/sda3
 2. 挂载该分区, 会提示你输入刚才你创建的passphrase
# cryptsetup luksOpen /dev/sda3 gentoo
3. 用LVM2管理/dev/mapper/gentoo,并划分pv,vg,lv
#pvcreate /dev/mapper/gentoo
#vgcreate gentoo /dev/mapper/gentoo
#lvcreate -L 10G -n root gentoo
#lvcreate -L 2G -n swap gentoo
#lvcreate -L 30G -n home gentoo
4.生成initramfs文件,
4.1创建一个如下层次的目录
mkdir initram
cd initram
mkdir bin dev dev/mapper dev/vc etc newroot proc sys
4.2复制如下的命令,并创建一些需要的链接
cp /bin/busybox /sbin/cryptsetup /sbin/lvm.static /sbin/mdadm bin
mv bin/lvm.static bin/lvm
ln -s busybox bin/cat
ln -s busybox bin/mount
ln -s busybox bin/sh
ln -s busybox bin/switch_root
n -s busybox bin/umount
ln -s busybox bin/sleep
ln -s lvm bin/vgscan
ln -s lvm bin/vgchange
4.3复制相应的device
cp -a /dev/console /dev/sda3 /dev/sda3 /dev/null /dev/urandom dev
cp -a /dev/mapper/gentoo-root dev/mapper
ln -s ../console dev/vc/0
4.4创建init脚本

 #!/bin/sh
mount -t proc proc /proc
CMDLINE=`cat /proc/cmdline`
mount -t sysfs sysfs /sys
#wait a little to avoid trailing kernel output
sleep 3
#dm-crypt
/bin/cryptsetup luksOpen /dev/sda3 gentoo
#lvm
/bin/vgchange -ay gentoo
#root filesystem
mount -r /dev/mapper/gentoo-root /newroot
#unmount pseudo FS
umount /sys
umount /proc
#root switch
exec /bin/busybox switch_root /newroot /sbin/init ${CMDLINE}

4.5执行如下命令来生成initramfs文件
chmod a+x initrd
find . | cpio --quiet -o -H newc | gzip -9 > /boot/initramfs

4.6修改如grub.conf,添加initrd条目
title Gentoo Linux AMD64
root (hd0,0)
kernel /boot/kernel video=uvesafb:1440x900-32,mtrr:3,ywrap splash=silent,fadein,theme:livecd-2007.0 console=tty1
initrd /boot/initramfs
以上参考了Gentoo Wiki里的 Root filesystem over LVM2, DM-Crypt and RAID

5.格式化并挂载lvm2创建的pv
mount /dev/mapper/gentoo-root      /mnt/gentoo
mount /dev/mapper/gentoo-home    /mnt/gentoo/home

6. 恢复之前备份的Gentoo到/mnt/gentoo
tar zvjfp gentoo.tar.bz2 -C /mnt/gentoo

7. 修改/mnt/etc/fstab文件,更改相应的device为lvm2创建的pv

重新启动电脑,没有问题的话会在引导kernel的时候提示你输入/devsda3的加密passphrase,如果正确就会像正常引导系统可以正常使用了,使用了dm-crypt加密之后可以保护电脑或者硬盘丢失后的数据安全(不能保证系统启动后的数据安全)

你可能感兴趣的:(linux,职场,休闲,dm-crypt)