http://blog.topsec.com.cn/truecrypt%E4%B8%8Ecryptsetup%E5%8F%8C%E7%B3%BB%E7%BB%9F%E5%85%A8%E7%9B%98%E5%8A%A0%E5%AF%86%E5%9B%BE%E6%96%87/
TrueCrypt與CryptSetup雙系統全盤加密(圖文)
By kernux TopSec α-lab
選取無系統硬盤進行說明。
1. 首先在硬盤上安裝Windows系統,過程簡單,直接光盤啟動電腦,或者PE安裝,都可以。
2. 安裝完成Windows后,開始安裝Kali Linux。同樣光盤啟動電腦,或者U盤啟動,進入安裝后,具體分區過程如下:
選擇Manual后
第一個是Windows分區,后面是空閑空間,在這里建立一個boot分區
再建立一個加密分區,選擇Configure encryted volumes

然后開始擦出分區信息,如果是新硬盤,則可以跳過
選擇Configure the Logical Volume Manager
然后將root掛在到/,swap格式化為swap分區
至此Linux 安裝完畢,重啟進入Linux后,生成g2ldr,目的在於用Windows來引導Linux,因為TrueCrypt不能引導Linux。執行如下命令:
grub-mkimage -o core.img -O i386-pc biosdisk part_msdos fat ntfs ext2 iso9660 udf configfile search help reiserfs font linux chain echo
cat /boot/grub/lnxboot.img core.img > g2ldr
然后將g2ldr還有/usr/lib/grub/i386-pc/g2ldr.mbr 復制到Windows根目錄下,在Windows目錄下創建grub目錄,將/boot/grub/grub.cfg 復制到Windows的grub目錄下,重啟進入Windows,安裝TrueCrypt,Ultraiso和bootice。打開bootice:
添加實模式啟動項,具體配置如下
重啟系統測試,啟動Linux成功:
再次進入Windows,開始加密。
最后一步選擇NO
創建恢復盤鏡像,然后用Ultraiso加載到虛擬光驅,不然不能進行下一步。此鏡像要好好保管。
重啟電腦后,提示輸入剛剛的加密密碼:
測試成功后,開始加密系統。
完成后,雙系統的全盤加密就安裝完畢了。進Windows需要輸入TrueCrypt秘鑰,進Linux則兩個秘鑰都需要輸入。
最后我們再進入Linux系統,給系統加上一個nuke密碼,這樣如果我們啟動Linux時,輸入nuke密碼,將會將Linux系統的加密分區信息頭銷毀,這樣就算是正確的密碼也解不開Linux分區了。具體操作很簡單:
cryptsetup luksDump /dev/sdxx
這里的/dve/sdxx是你的系統分區設備,如果不知道,可以fdisk -l 查看,或者挨個試,加密分區會打印出正確的信息。然后
cryptsetup luksAddNuke /dev/sdxx
會提示你先輸入之前的任意密碼作為驗證,然后再輸入新的slot密碼(nuke)。
cryptsetup luksDump /dev/sdxx 來查看一下結果,發現多了一個slot是enable狀態,說明成功。到此nuke就完成了。我們隨時可以銷毀Linux系統。當然,銷毀的系統還是可以恢復的,這需要我們在銷毀前保存一份luksHeader信息,具體如下:
cryptsetup luksHeaderBackup –header-backup-file luksheader.back /dev/sdxx
openssl enc -aes-256-cbc -salt -in luksheader.back -out luksheader.back.enc
得到ase加密后的luksheader.back.enc,好好保存。
然后假設系統被銷毀,恢復操作需要借助其他方法加載硬盤,執行恢復操作。先解密luks header
openssl enc -d -aes-256-cbc -in luksheader.back.enc -out luksheader.back
恢復luks header到分區
cryptsetup luksHeaderRestore –header-backup-file luksheader.back /dev/sdxx
到此一個經過完整加密的多系統就實現了。
























































