4. 最后步骤

仍在chroot环境中,修改 /etc/fstab,使其包含以下内容:

/dev/loop0      /               ext3    defaults       0       1

删除 /etc/mtab 并退出 chroot。 最后,运行 "umount -d /mnt/efs" 并重启。 如果出现问题,您仍然可以通过在 LILO: 提示符下输入 "Linux root=/dev/hda3" 来启动未加密的分区。

如果一切顺利,您现在可以重新分区磁盘并加密 hda3 和 hda4。 在以下脚本中,我们假设 hda3 将保存交换设备,hda4 将包含 /home;您应该首先初始化这两个分区

shred -n 1 -v /dev/hda3
shred -n 1 -v /dev/hda4
losetup -e aes256 -S xxxxxx /dev/loop1 /dev/hda3
losetup -e aes256 -S xxxxxx /dev/loop2 /dev/hda4
mkswap /dev/loop1
mke2fs -j /dev/loop2

然后在系统启动目录中创建一个脚本并更新 fstab

cat > /etc/init.d/loop << "EOF"
#!/bin/sh

if [ "`/usr/bin/md5sum /dev/hda1`" != \
     "5671cebdb3bed87c3b3c345f0101d016  /dev/hda1" ]
then
    echo -n "WARNING! hda1 integrity verification FAILED - press enter."
    read
fi

echo "1st password chosen above" | \
    /sbin/losetup -p 0 -e aes256 -S xxxxxx /dev/loop1 /dev/hda3

echo "2nd password chosen above" | \
    /sbin/losetup -p 0 -e aes256 -S xxxxxx /dev/loop2 /dev/hda4

/sbin/swapon /dev/loop1

for i in `seq 0 63`
do
    echo -n -e "\33[10;10]\33[11;10]" > /dev/tty$i
done

EOF

chmod 700 /etc/init.d/loop
ln -s ../init.d/loop /etc/rcS.d/S00loop
vi /etc/fstab
...
/dev/loop2      /home           ext3    defaults       0       2