shipinsky 2019-11-05
准备一个32G的U盘,然后下载KALI ISO,使用LIVE进入KALI系统,并使用DD命令将kali系统ISO写入U盘中
1.虚拟机进入Kali环境,插入U盘,使用dmesg命令检查U盘的盘符和信息
2.启动gparted 卸载掉分区后,删除分区
3.使用dd命令将Kali iso 写入U盘
dd if=kali-linux-kde-2019.2-amd64.iso of=/dev/sdb bs=1M
4.使用DiskGenius 将U盘中EFI分区的文件保存起来备用
5.使用ghost工具将制作好的KALI系统分区备份成kali.gho
5.1 打开Ghost按照1.2.2的菜单顺序备份分区
使用DiskGenius将U盘格式化成NTFS的一个分区
去无忧论坛下载一个可以格式化三分区的EFI系统
微PE工具箱V1.2&2.0 UD三分区 EFI分区共享 新增双64位合盘【201900702更新】
打开相关PE制作文件,使用专用U盘三分区工具来制作PE
制作完成后,打开DiskGenius来查看分区
分区已经制作好
检查EFI分区中的文件夹是否与图片一致
如果不一致需要重新制作
1.使用DiskGenius将DATA分区格式化成4G的分区FAT32格式,注意4K对其
2.使用DiskGenius将剩余的分区格式化成10G的KALI的数据分区和剩余的U盘自用分区
3.使用GHOST还原KALI分区
使用1.2.3 的顺序来还原分区
还原完成后,使用DiskGenus查看分区情况
如图则为还原igg
1.配置BIOS启动的启动菜单
使用FbinstTool来读取UD分区中的文件
如果提示MBR被破坏,修复它!
打开后,会读取UD分区中的内容
将wepe.iso拷贝出来
使用UltraISO打开拷贝出来的wepe.iso
将其中的WEPEMENU.INI拷贝出来
打开后是如下代码
timeout 5 default 1 gfxmenu /WEPE/MESSAGE title [01] 微 PE 工具箱(10) [支持NVMe] 64位 chainloader ()/WEPE/W10PE64 || find --set-root --ignore-floppies --ignore-cd chainloader /WEPE/W10PE64 title [02] 微 PE 工具箱(8) [老机适用] 64位 chainloader ()/WEPE/W8PE64 || find --set-root --ignore-floppies --ignore-cd chainloader /WEPE/W8PE64 title [03] MaxDOS 工具箱 map --mem /WEPE/MAXDOS.IMG (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) title [04] 自定义ISO镜像 graphicsmode -1 640 font /WEPE/MENU.HEX /WEPE/RUN --automenu-all /ISO/ title [05] 从硬盘启动 find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr map () (hd0) map (hd0) () map --rehook find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr chainloader /ntldr || chainloader /bootmgr title [06] 重启计算机 reboot title [07] 关闭计算机 halt
在02 和 03 之间添加一个启动项用于启动KALI
timeout 5 default 1 gfxmenu /WEPE/MESSAGE title [01] 微 PE 工具箱(10) [支持NVMe] 64位 chainloader ()/WEPE/W10PE64 || find --set-root --ignore-floppies --ignore-cd chainloader /WEPE/W10PE64 title [02] 微 PE 工具箱(8) [老机适用] 64位 chainloader ()/WEPE/W8PE64 || find --set-root --ignore-floppies --ignore-cd chainloader /WEPE/W8PE64 title [03] MaxDOS 工具箱 map --mem /WEPE/MAXDOS.IMG (fd0) map --hook chainloader (fd0)+1 rootnoverify (fd0) title [04] Kali Linux configfile /WEPE/KALI.LST title [05] 自定义ISO镜像 graphicsmode -1 640 font /WEPE/MENU.HEX /WEPE/RUN --automenu-all /ISO/ title [06] 从硬盘启动 find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr map () (hd0) map (hd0) () map --rehook find --set-root --ignore-floppies --ignore-cd /ntldr || find --set-root --ignore-floppies --ignore-cd /bootmgr chainloader /ntldr || chainloader /bootmgr title [07] 重启计算机 reboot title [08] 关闭计算机 halt
新建一个文本文件取名为KALI.LST
内容如下
timeout 25 default 2 gfxmenu /WEPE/MESSAGE title [01] Kali Linux 【persistence】 find --set-root /g2ldr.mbr kernel /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali persistence initrd /live/initrd.img title [02] Kali Linux 【Encrypted Persistence】 find --set-root /g2ldr.mbr kernel /live/vmlinuz boot=live noconfig persistent=cryptsetup persistence-encryption=luks noconfig=sudo username=root hostname=kali persistence initrd /live/initrd.img title [03] Kali Linux 【failsafe】 find --set-root /g2ldr.mbr kernel /live/vmlinuz boot=live config memtest noapic noapm nodma nomce nolapic nomodeset nosmp nosplash vag=normal initrd /live/initrd.img title [04] Kali Linux 【forensic mode】 find --set-root /g2ldr.mbr kernel /live/vmlinuz boot=live noconfig=sudo username=root hostname=kali noswap noautomount initrd /live/initrd.img title [05] 命令行 commandline title [06] 返回主菜单 configfile /WEPE/WEPEMENU.INI
将修改好的文件WEPEMENU.INI和KALI.LST导入回刚刚提取出来的wepe.iso
最后结果如下
保存该ISO
然后导入到UD分区中去
2.配置UEFI的KALI启动
下载grub-2.02-for-windows
解压缩后进入目录
建立一个配置文件x86_64-eif.cfg
内容如下
search.file /EFI/grub/x64.cfg root set prefix=($root)/EFI/grub configfile ($root)/EFI/grub/x64.cfg
进入该目录的CMD
输入一下代码
grub-mkimage.exe -d x86_64-efi -c x86_64-efi.cfg -p /EFI/grub -o bootx64.efi -O x86_64-efi part_gpt part_msdos disk fat exfat ext2 ntfs xfs appleldr hfs iso9660 normal search_fs_file configfile linux linux16 chain loopback echo efi_gop efi_uga video_bochs video_cirrus file gfxmenu gfxterm gfxterm_background gfxterm_menu halt reboot help jpeg ls png true
执行完成后,会生成bootx64.efi
打开U盘EFI分区的EFI目录
建立KALI文件夹
将EFI文件夹下BOOT中的BOOTX64.efi复制一份到EFI/MICROSOFT/BOOT下
将之前grub中生成的bootx64.efi复制到EFI/BOOT下覆盖
在EFI文件夹下建立grub文件夹
在grub文件夹下建立配置文件x64.cfg
内容如下
set default=0 set fallback=1 set timeout=5 menuentry "Windows" --hotkey=0 { chainloader /efi/microsoft/boot/bootx64.efi } menuentry "Kali Linux" --hotkey=1 { chainloader /efi/kali/bootx64.efi }
现在UEFI启动更改完成
这里使用虚拟机来演示
1.使用EFI进入菜单界面,选择Kali Linux
2.选择live 模式
3.进入kali后,打开终端,使用gparted查看需要持久化和加密的分区标识
这里是/dev/sdb2
4.使用luks加密该分区
cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb2
提示会删除掉这个分区的所有数据,是否继续呢?
输入大写的YES后,输入加密分区的密码,即可加密成功。
5.设置持久化
首先使用luks open 打开该分区,挂在到/dev/mapper/usb下。
cryptsetup luksOpen /dev/sdb2 usb
将加密分区格式化成EXT4
mkfs.ext4 /dev/mapper/usb
格式化完成后,需要给这分区添加一个卷标 persistence
卷标名必须为【persistence】,这个是Kali系统规定的的可持续卷标
e2label /dev/mapper/usb persistence
写入一个配置文件 persistence.conf 到加密分区,以便kali启动时候寻找
persistence.conf
/ union
首先mount 该加密分区到文件系统
mkdir -p /mnt/usb mount /dev/mapper/usb /mnt/usb/ echo " / union" > /mnt/usb/persistence.conf
至此所有操作完成
重启系统,其后选择外部加密登录
系统会检查到加密分区
输入密码后,即可进入Kali系统