参考官方教程
- https://www.kali.org/docs/usb/kali-linux-live-usb-install/
- https://www.kali.org/docs/usb/kali-linux-live-usb-persistence/
准备材料
- 一个格式化好的 u 盘,我用的是 32 G Kingston Data Traveler 2.0
- 下载好的 kali-linux-2020.4-live-amd64.iso
- 官网推荐的 Etcher 软件:https://www.balena.io/etcher/
镜像文件写入u盘
完了就是软件一键 FLASH 。。。
于是一个 kali live 的 u 盘就制作好了。。。
体验 kali live
把 u 盘插到电脑上,设置启动顺序第一个为 u 盘,
保存退出后就可以进入 kali 系统了
目前还没有作持久化,所以下面选择第一项进去看看就好了,
完了进取体验很不好,应该是缺少驱动的问题,不支持触控板单击,最好在有线鼠标上使用
持久化
刚才 iso 写入这个过程中,Etcher软件在 32G的u盘上分了两个区,一个 3.3 G, 一个736K
把u盘插到ubuntu电脑上:fdisk -l
,
分别是 /dev/sdb1 和 /dev/sdb2
把u盘插到windows电脑上,显示一个 F 盘,一个 G 盘
F盘打不开,因为是启动盘,说要格式化才能用,
G盘里存着几个引导相关的文件
G:\>tree .
文件夹 PATH 列表
卷序列号为 6666-6666
G:\
├─EFI
│ └─boot
└─boot
└─grub
通过磁盘管理查看分区,看到还有 25 G 未分配
接下来就是利用u盘中的未分配空间来对U盘进行持久化
把 u 盘插回到 ubuntu 电脑上进行分区格式化等操作
我本来想在windows上操作,但是发现win自带的格式化工具没法直接格式成 ext3 文件系统
官方给的分区建议:
end=7GiB
read start _ < <(du -bcm kali-linux-2020.4-live-amd64.iso | tail -1); echo $start
parted /dev/sdb mkpart primary ${start}MiB $end
其中第2行的意思就是把 iso 镜像文件的大小作为分区的起始点,可是我的 iso 在 windows 电脑里,那就只好自己算一下了,总的 MiB 数大概是:
3517394944
/
2
20
=
3355
3517394944 / 2^{20} = 3355
3517394944/220=3355
那么就用 3355 MB 作为分区起始点
sudo parted /dev/sdb mkpart primary 3355MiB 16GiB
通过 fdisk -l
查看到新建了一个分区 /dev/sdb3
接下来照着官方教程:新的分区格式化成 ext3 格式,标签命名为 persistence
sudo mkfs.ext3 -L persistence /dev/sdb3
sudo e2label /dev/sdb3 persistence
$ sudo mkfs.ext3 -L persistence /dev/sdb3
mke2fs 1.44.1 (24-Mar-2018)
创建含有 3335424 个块(每块 4k)和 833952 个inode的文件系统
文件系统UUID:03474301-cd2d-4030-816d-cf60990fa9d1
超级块的备份存储于下列块:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208
正在分配组表: 完成
正在写入inode表: 完成
创建日志(16384 个块) 完成
写入超级块和文件系统账户统计信息:
已完成
$ sudo e2label /dev/sdb3 persistence
然后在格式化后的新建分区中创建配置文件persistence.conf
sudo su
mkdir -p /mnt/my_usb
mount /dev/sdb3 /mnt/my_usb
echo "/ union" > /mnt/my_usb/persistence.conf
umount /dev/sdb3