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

到此一个经过完整加密的多系统就实现了。

TrueCrypt与CryptSetup双系统全盘加密(图文)的更多相关文章

  1. Windows8和CentOS6.4(64)双系统硬盘安装(图文)【转】

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://asange.blog.51cto.com/7125040/1193980 最近在 ...

  2. Windows XP硬盘安装Ubuntu 12.04双系统图文详解

    Windows XP硬盘安装Ubuntu 12.04双系统图文详解 Ubuntu 12.04 LTS版本于2012年4月26日发布,趁着五一放假,赶紧在自己的Windows XP的电脑上安装下Ubun ...

  3. Windows XP硬盘安装Ubuntu 16.04双系统图文详解

    需要下载的东西有两个,一个是grub4dos,另一个是Ubuntu 16.04 LTS的镜像文件,具体下载地址如下:   1 2 3       1.grub4dos  点击下载 grub4dos 2 ...

  4. UEFI模式安装Win10和Linux双系统

    最近心血来潮,想装一个Linux.Windows双系统,吸取上次安装的经验,这次一定都要使用UEFI模式启动,需要注意的是必须是支持此种启动模式的系统(一般解压之后都有efi文件夹不需要刻录),这次遇 ...

  5. <转>Win7系统下利用U盘安装Ubuntu_12.04实现双系统教程

    目前网上流传的关于Linux 系统的安装教程可是说是五彩缤纷,之前想采用硬盘安装方式,由于配置问题未能正确安装,现研究了下U盘安装,根据互联网上的一些资料及自己的总结,在Windows7 系统下采用U ...

  6. 在ubuntu上搭建开发环境1---在windows7的基础上在安装ubuntu(双系统)

    转载:http://jingyan.baidu.com/article/60ccbceb18624464cab197ea.html 当需要频繁使用ubuntu时,vmware虚拟机下运行ubuntu, ...

  7. win7 下安装 ubuntu 16.04双系统

    Ubuntu 每年发布两个版本,目前最新正式版版本也升到了 16.04.Ubuntu 16.04 开发代号为"Xenial Xerus",为第六个长期支持(LTS)版本,其主要特色 ...

  8. UEFI+GPT安装WIN7,WIN8/WIN10下安装WIN7双系统

    一.BIOS更改 首先来bios更改:我们知道,uefi+gpt引导虽然出来的时间比较长,但是win7还不能完全的支持,所以在使用uefi+gpt安装win7的时候就会出现各种错误!所以我们在安装Wi ...

  9. CentOS 7系统上制作Clonezilla(再生龙)启动U盘并克隆双系统

    笔记本安装的是双系统:Win7 64位,CentOS 7 64位. 政采就是个巨大的坑,笔记本标配的是5400转的机械硬盘,开机时间常常要一至两分钟,软件运行起来时各种数据的读写也非常慢,忍无可忍,决 ...

随机推荐

  1. Chrome89针对sessionStorage的更新导致数据共享问题

    最近将chrome更新到最新的版本,然后发现以前可以正常使用的功能无法使用了,经过分析后发现是浏览器新版本才出现的问题,今天记录以下. 一.遇到的问题 我们具体的问题场景,在A页面中需要打开B页面,同 ...

  2. 【C/C++】面向对象开发的优缺点

    原创文章,转发请注明出处. 面向对象开发的优缺点 面向对象开发 是相对于 面向过程开发 的一种改进思路. 由于流水线式的面相过程开发非常直接,高效.在面对一些简单项目时,只需要几百行,甚至是几十行代码 ...

  3. 前端开发面试题 — css篇

    1.介绍一下标准的CSS的盒子模型?低版本IE的盒子模型有什么不同的? (1)有两种, IE 盒子模型.W3C 盒子模型: (2)盒模型: 内容(content).填充(padding).边界(mar ...

  4. canvas判断点是否在路径内

    应用场景 我们的项目中有个功能是,canvas上的某个图片选中后可以再这个图片上用鼠标拖拽绘制画笔线条. 当然绘制的边界要控制在图片大小范围内的,那么鼠标是可以随意动的,怎么能控制只在图片上的时候才绘 ...

  5. 痞子衡嵌入式:在i.MXRT启动头FDCB里调整Flash工作频率也需同步设Dummy Cycle

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是Flash工作频率与Dummy Cycle的联系. 上一篇文章 <从头开始认识i.MXRT启动头FDCB里的lookupTable ...

  6. 6.3string用法

    string类型可以大大方便对字符串的处理 1.string的定义 string str; string str="abcd"; 2.string中内容的访问 (1)可以像字符数组 ...

  7. day-7 xctf-level2

    xctf-level2 题目传送门:https://adworld.xctf.org.cn/task/answer?type=pwn&number=2&grade=0&id=5 ...

  8. 实战项目部署应用到kubernetes流程(jenkins+docker+k8s)

    说明 通过jenkins构建java应用程序发布到k8s集群中 本文已一个大数据的java项目来演示构建部署过程 支持发布和回滚 支持一套模板应用不同项目 k8s基础准备 创建项目名称空间 [root ...

  9. 【责任链模式】责任链模式结合Spring实战Demo

    备注: 责任链与策略模式有很多相似之处,如都是行为型设计模式,都能够处理代码中的if-else逻辑 主要区别在于: 策略模式 封装了算法,通过上下文对象去接受客户端的数据,根据数据类型执行不同的算法 ...

  10. ACM JAVA大数

    有的水题自己模拟下大数就过了,有的各种坑,天知道曾经因为大数wa了多少次....自己最近学者用JAVA,下面是自己总结的JAVA常用知识.. 框架 import java.util.Scanner; ...