概要
単なる自分用の備忘録です。参照したマニュアルは以下。
Adding Persistence to a Kali Linux "Live" USB Drive
事前準備:Kali Linux を USB メモリに焼く
以下を参考に予め USB メモリに Kali Linux の Live Image を焼いておく。
Windows なら Etcher で、Linux なら dd コマンドで焼けば OK。
Making a Kali Bootable USB Drive
ディスクサイズのチェック
今回は 32GB の USB メモリで実施。実効容量は 28.93 GiB。
┌─[root@parrot]─[/home/jangari]
└──╼ #fdisk -l
Disk /dev/sdb: 28.93 GiB, 31042043904 bytes, 60628992 sectors
Disk model: USB Flash Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfb0b3988
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 64 5898239 5898176 2.8G 17 Hidden HPFS/NTFS
/dev/sdb2 5898240 5899711 1472 736K 1 FAT12
追加のパーティションを切る
開始位置はマニュアル通り、まずは Live Image の ISO のサイズのすぐ隣から。
終了位置はディスクサイズから余裕を持って 28gb。
┌─[root@parrot]─[/home/jangari]
└──╼ #end=28gb
┌─[root@parrot]─[/home/jangari]
└──╼ #read start _ < <(du -bcm /home/jangari/Downloads/kali-linux-2020.2-live-amd64.iso | tail -1); echo $start
2882
parted でパーティションを切ろうとすると直近の最適な始点じゃないから
アライメントがずれる、といった警告が出る。日和ったので適切な始点を
メモって一旦キャンセル。
┌─[root@parrot]─[/home/jangari]
└──╼ #parted /dev/sdb mkpart primary $start $end
Warning: You requested a partition from 2882MB to 28.0GB (sectors 5628906..54687500).
The closest location we can manage is 3021MB to 28.0GB (sectors 5899712..54687500).
Is this still acceptable to you?
Yes/No? Yes
Warning: The resulting partition is not properly aligned for best performance:
5899712s % 2048s != 0s
Ignore/Cancel? Cancel
┌─[✗]─[root@parrot]─[/home/jangari]
└──╼ #
改めて始点を指定してパーティションを切る。
┌─[root@parrot]─[/home/jangari]
└──╼ #parted /dev/sdb mkpart primary 3021MB $end
Information: You may need to update /etc/fstab.
┌─[root@parrot]─[/home/jangari]
└──╼ #fdisk -l
Disk /dev/sdb: 28.93 GiB, 31042043904 bytes, 60628992 sectors
Disk model: USB Flash Disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xfb0b3988
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 64 5898239 5898176 2.8G 17 Hidden HPFS/NTFS
/dev/sdb2 5898240 5899711 1472 736K 1 FAT12
/dev/sdb3 5900288 54687743 48787456 23.3G 83 Linux
ファイルシステムの作成
今回は mkfs.ext4 で ext4 を作った。ラベルは persistence としておく。
┌─[root@parrot]─[/home/jangari]
└──╼ #mkfs.ext4 -L persistence /dev/sdb3
mke2fs 1.45.6 (20-Mar-2020)
Creating filesystem with 6098432 4k blocks and 1525920 inodes
Filesystem UUID: 181ecc87-e2fd-4c2d-8feb-d2ee3655d23c
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
マウントポイントを作ってマウントできるか確認。
┌─[root@parrot]─[/home/jangari]
└──╼ #mkdir /mnt/my_usb
┌─[root@parrot]─[/home/jangari]
└──╼ #mount /dev/sdb3 /mnt/my_usb
┌─[root@parrot]─[/home/jangari]
└──╼ #mount | grep /dev/sdb3
/dev/sdb3 on /mnt/my_usb type ext4 (rw,relatime)
Live Image の Persistence の設定
persistence.conf を作る。
┌─[root@parrot]─[/home/jangari]
└──╼ #echo "/ union" > /mnt/my_usb/persistence.conf
┌─[root@parrot]─[/home/jangari]
└──╼ #ls -l /mnt/my_usb/persistence.conf
-rw-r--r-- 1 root root 8 Jun 8 16:20 /mnt/my_usb/persistence.conf
終わったらアンマウント。
┌─[root@parrot]─[/home/jangari]
└──╼ #umount /mnt/my_usb
┌─[root@parrot]─[/home/jangari]
└──╼ #mount | grep /dev/sdb3
┌─[✗]─[root@parrot]─[/home/jangari]
└──╼ #
おわりに
おわり!