小提示:本文使用的操作系统为linux,所有命令都在 root 用户下执行。
在计算机硬件越来越NB的时代下,把Kali安装到USB中对我们来讲然意义并不是太大,那为什么还要介绍Kali的U盘安装方法呢?
准备Kali镜像:这是我所下载的Kali镜像
准备U盘:
a. 插入U盘,确认设备名称以及分区。
使用以下命令查看:
fdisk -l
由上面可以看出,目前我的系统有三个磁盘:
b. 清除分区(如果你的U盘没有分区,那你可以直接跳到下一步);
以下是分区清除过程:“
# 进入U盘(操作U盘) root@c5:/home/code5# fdisk /dev/sdc Welcome to fdisk (util-linux 2.29.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. # 输入指令 d ,表示删除分区 Command (m for help): d # 输入3 表示删除分区3,也就是 /dev/sdc3 这个分区 Partition number (1-3, default 3): 3 Partition 3 has been deleted. # 删除分区 2 Command (m for help): d Partition number (1,2, default 2): 2 Partition 2 has been deleted. # 删除分区 1,由于上面删除了两个分区,U盘中只剩下一个分区,所以不用选择分区号,fdisk会直接删除分区1 Command (m for help): d Selected partition 1 Partition 1 has been deleted. # 写入对U盘的修改 Command (m for help): w
再次查看分区;
fdisk -l
从上面可以看到,我们的U盘已经没有任何分区了;
所以我们现在拥有了一个没有任何分区的纯净U盘。
现在我们的Kali镜像以及纯净U盘准备好了,开始制作kali的启动盘。
要制作Kali的启动盘很简单,使用dd命令即可。
# 把 kali 镜像写入到我们的U盘中 dd if=./kali-linux-2019.1a-amd64.iso of=/dev/sdc bs=1M # if(input file) : 输入 # of(output file): 输出 # bs(bytes) : 输入/输出块大小
写入完成后,你U盘会多出两个分区,一个是引导分区,一个是Kali的系统分区。
所以,你的U盘看起来应该是这样的:
使用 dd 命令制作Kali启动盘后就是可直接使用的 Live 系统了,插上到USB中,把电脑设置为USB启动即可使用。
第二步中我们已经把Kali的启动盘制作好了,但还不能持久化存储数据,一旦重启,你对Kali的所有修改都会复原,所以我们要对启动盘做一些持久化的处理,让其可以存储我们的修改和数据。
做持久化处理说白了就是在启动盘中:划分存储分区,配置存储分区,用于存储数据。
所以,我们先使用 parted命令 在U盘中新建一个分区,以下是新建分区步骤:
# 进入U盘(操作U盘) root@c5:/home/code5# parted /dev/sdc GNU Parted 3.2 Using /dev/sdc Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) (parted) # 使用print指令查U盘所有分区 (parted) print Model: Generic Flash Disk (scsi) Disk /dev/sdc: 8053MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: s # 未划分前有两个分区 Number Start End Size Type File system Flags 1 32.8kB 3483MB 3483MB primary boot, hidden 2 3483MB 3484MB 721kB primary # 把剩余空间划分为存储分区 # 3484: 第二个分区的起点 # 8053: U盘总大小 (parted) mkpart primary 3484 8053 (parted) print Model: Generic Flash Disk (scsi) Disk /dev/sdc: 8053MB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: # 划分存储分区后 Number Start End Size Type File system Flags 1 32.8kB 3483MB 3483MB primary boot, hidden 2 3483MB 3484MB 721kB primary 3 3484MB 8053MB 4569MB primary lba # 退出 parted (parted) quit Information: You may need to update /etc/fstab. root@c5:/home/code5#
现在,你的U盘看起来应该是这样:
分区划分好了,向分区写入 ext3 文件系统, 并命名为 persistence(这一步很重要!这一步很重要!这一步很重要!)
mkfs.ext3 -L persistence /dev/sdc3
写入文件系统后,为存储分区分配一个名为 persistence 的卷标(这一步很重要!这一步很重要!这一步很重要!)
e2label /dev/sdc3 persistence
现在你可以从U盘启动你的Kali,并在Kali的设置中把语言改为中文,重启Kali。
重启后你会发现,语言是英文而不是我们重启前所设置的中文,这说明我们的Kali启动盘还没有实现数据的持久化存储。
那是因为我们还未配置我们的存储分区。
现在,让我们重新插入U盘。
挂载我们的存储分区(因为我们要向存储分区写入配置文件)。
# 在挂载目录下新建 my_usb 目录用于挂载我们的存储分区 mkdir -p /mnt/my_usb # 挂载存储分区到 /mnt/my_usb mount /dev/sdc3 /mnt/my_usb
写入配置文件;
# 在存储分区创建配置文件 persistence.conf 并写入内容: / union echo "/ union" > /mnt/my_usb/persistence.conf
卸载存储分区;
umount /dev/sdc3
持久化的处理到这里已经结束了,现在!你可以弹出你的U盘,再次尝试修改Kali的使用语言 ~
在启动过程中你会发现Kali给出了许多个启动选项;
其中关于 持久化 的选项有两个
Live system (persistence, check kali.org/prst):这个选项用于启动可持久化的Kali
Live system (encrypted persistence, check kali.org/prst):这个选项用于启动可持久化的加密kali(也就是把存储分区加密后的kali),关于如何制作加密Kali,请看Kali官方教程,这里不再赘述。
什么,你不想看官方教程,那我在这里把命令简单的复制并解释一下下。
# 首先把你的U盘搞成纯净U盘 # 假设你的U盘设备为 /dev/sdc # 假设你使用的Kali镜像为 kali.IOS ### 把镜像写入到到U盘,得到两个分区 /dev/sdc1 /dev/sdc2 dd if=kali.iso of=/dev/sdb bs=1M ### 划分存储分区 /dev/sdc3 # 选择操作的设备 parted /dev/sdc #划分一个 start~end 大小的分区,根据你的U盘大小来设置 mkpart primary start end # 退出 parted quit ### 加密存储分区 /dev/sdb3 # LUKS加密 存储分区 /dev/sdc3 cryptsetup --verbose --verify-passphrase luksFormat /dev/sdc3 # 映射 /dev/sdb3 存储分区为 my_sub cryptsetup luksOpen /dev/sdc3 my_usb # 向分区写入 ext3 文件系统 mkfs.ext3 /dev/mApper/my_usb # 为存储分区分配卷标 persistence e2label /dev/mapper/my_usb persistence ### 写入配置文件 # 创建挂载目录 mkdir -p /mnt/my_usb # 挂载存取分区到 /mnt/my_usb mount /dev/mapper/my_usb /mnt/my_usb # 向存储分区写入配置文件 persistence.conf ,内容为:/ union echo "/ union" > /mnt/my_usb/persistence.conf # 卸载存储分区 umount /dev/mapper/my_usb # 关闭映射 cryptsetup luksClose /dev/mapper/my_usb
其实制作加密版的可持久化Kali只是多了一个 LUKS加密 的步骤,和普通的可持久Kali的制作差不多。
本文引自网络,目的在于技术学习交流,有最新技术分享的伙伴们欢迎在下方留下足迹~