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. [Fundamental of Power Electronics]-PART I-4.开关实现-4.3 开关损耗/4.4 小结

    4.3 开关损耗/4.4 小结 使用半导体器件实现开关后,我们现在可以讨论变换器中损耗和低效的另一个主要来源:开关损耗.如前所述,半导体器件的导通和关断转换需要几十纳秒到几微秒的时间.在这些开关转换期 ...

  2. 201871030118-雷云云 实验二 个人项目—D{0-1}背包问题项目报告

    项目 内容 课程班级博客链接 班级博客 这个作业要求链接 作业链接 我的课程学习目标 1.了解并掌握psp2.掌握软件项目个人开发流程3.掌握Github发布软件项目的操作方法 这个作业在哪些方面帮助 ...

  3. 实战 Java 16 值类型 Record - 2. Record 的基本用法

    在上一篇文章实战 Java 16 值类型 Record - 1. Record 的默认方法使用以及基于预编译生成相关字节码的底层实现中,我们详细分析了 Record 自带的属性以及方法和底层字节码与实 ...

  4. Spring(四)Spring JdbcTemplate&声明式事务

    JdbcTemplate基本使用 01-JdbcTemplate基本使用-概述(了解) JdbcTemplate是spring框架中提供的一个对象,是对原始繁琐的Jdbc API对象的简单封装.spr ...

  5. 附034.Kubernetes_v1.21.0高可用部署架构二

    kubeadm介绍 kubeadm概述 Kubeadm 是一个工具,它提供了 kubeadm init 以及 kubeadm join 这两个命令作为快速创建 kubernetes 集群的最佳实践. ...

  6. Python:函数解释(面向过程)

    1. 函数概述 在编程的语境下,函数 (function) 是指一个有命名的.执行某个计算的语句序列 (sequence of statements) .函数可以针对某类问题建立了通用解决步骤(算法) ...

  7. Spring Cloud Alibaba(5)---Nacos(配置中心)

    Nacos(配置中心) 有关Spring Cloud Alibaba之前写过四篇文章,这篇也是在上面项目的基础上进行开发. Spring Cloud Alibaba(1)---入门篇 Spring C ...

  8. 0609-搭建ResNet网络

    0609-搭建ResNet网络 目录 一.ResNet 网络概述 二.利用 torch 实现 ResNet34 网络 三.torchvision 中的 resnet34网络调用 四.第六章总结 pyt ...

  9. Git 简介与仓库使用

    1. Git 简介 2. 远程仓库的使用 3. 本地仓库的使用 1. Git 简介 Git 是分布式版本控制系统,同一个 Git 仓库,可以分布到不同的机器上. 其原理是首先找一台电脑充当服务器的角色 ...

  10. 一键打造vim ide 支持python golang shell等高级特性

    1.vim-for-devops github: https://github.com/yxxhero/vim_for_devops 利用vim插件打造支持python.shell.golang的id ...