
Содержание статьи
Флавио де Стефано

Это руководство предназначено для всех, кто хочет USB-накопитель с a полная установка Kali для использования с вашими Mac(ами). Это не предназначено для упорной установки Live Kali.
Проблема при установке Kali на USB-накопитель состоит в том, что Kali разбивает диск на разделы с файловой системой VFAT. Mac OS распознает только разделы HFS+ с некоторыми файлами, необходимыми для этого.
Итак, вам нужно:
- Ваш Mac
- USB-накопитель с установщиком Kali ISO
- Целевая USB-флешка, SD-карта или внешний накопитель SSD, на который вы собираетесь установить Kali (рекомендуется 16 ГБ и USB 3.0)
Этот учебник был в значительной степени вдохновлен этим руководством с соответствующими поправками для Kali. https://medium.com/@mmiglier/ubuntu-installation-on-usb-stick-with-pure-efi-boot-mac-compatible-469ad33645c9
Установка USB Live
Прежде всего, установите Kali на USB-накопитель, следуя этому руководству. Я не буду беспокоить вас, как продолжить этот шаг, но начните здесь:
$ sudo dd if={KALI_ISO.iso} of=/dev/{USB} bs=1m
Когда вы будете готовы, перезагрузите Mac. Вставьте оба USB-накопителя, затем нажмите ALT и выберите Загрузка EFI для запуска программы установки.

Программа установки Kali задаст вам различные вопросы относительно часового пояса и раскладки клавиатуры.
Продолжайте, пока он не попросит разделить диски, выберите здесь: Пособие. Затем выберите свой USB цель диск (туда вы хотите установить Kali). Распознать можно по разным факторам, например, по размеру. Нажмите Продолжить: это разделит ваш диск.
Теперь вернитесь снова на тот же экран и выберите СВОБОДНОЕ ПРОСТРАНСТВО под целевой диск USB. Нажмите Продолжайте и выберите Автоматически разделять свободное пространство. Следуйте рекомендованному варианту. Затем нажмите на Завершите разделение и запишите изменения на диск.
Процесс инсталляции скопирует данные на диск. Подождите, пока он закончится (это займет 30 минут).
Загрузка с GRUB Live
После завершения ваш Mac перезагрузится, и вам придется нажать ALT снова. Выберите Загрузка EFI снова.
Теперь нам нужно скачать нашу установленную систему Kali через Живой GRUBпоскольку наша установленная система не имеет распознаваемого загрузчика MacOS.
После загрузки GRUB нажмите c для получения интерфейса командной строки GRUB.
Теперь вы должны понять, в каком HD находится ваша установка Kali. Для этого при загрузке GRUB cli введите ls; извлеките USB-накопитель и введите ls снова.
grub> ls
(memdisk) (hd0) (hd1) (hd1,gpt3) (hd1, gpt2) (hd1,gpt1) ...
Вы заметите, что an hd{X} исчез: это ваш диск. Теперь вы должны найти свое gpt. Наверное, это gpt2, но чтобы быть уверенным, введите:
grub> ls (hdX,gpt2)/boot/grub
unicode.pf2 ...
Если команда говорит unicode..
это правильный gpt; попробуйте другое gpts иначе. Теперь найдите свой UUID раздела и добавьте к нему аннотации.
grub> ls -l (hdX},gpt{X})
Partition hd2,gpt2: Filesystem type ext* 〈...snip...〉 UUID e86c20b9-83e1-447d-a3be-d1ddaad6c4c6 - Partition start at [...]
Теперь мы не можем установить параметры GRUB для загрузки (используйте табл ключ для использования автозаполнения):
grub> set root=(hd{X},gpt{X})
grub> linux /boot/vmlinuz〈...tab here!...〉.efi.signed root=UUID=〈the UUID〉
grub> initrd /boot/initrd〈...tab here!...〉
grub> boot
Это должно скачать ваш Полная установка Kali с помощью Live GRUB. Вы можете отличиться от среды Live по паролю, который он распознает во время входа.
Исправление раздела EFI
После того, как вы войдете в систему установки Kali, откройте терминал и введите:
$ fdisk -l
и найдите диск.
Теперь откройте gdisk (по умолчанию на Kali), чтобы разделить диск (будьте очень осторожны здесь):
$ gdisk /dev/sd{X}
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: present
Found valid GPT with hybrid MBR; using GPT.
Command (? for help):
Распечатайте таблицу разделов и убедитесь, что первый раздел имеет тип EF00:
Command (? for help): p
Disk /dev/sdd: ...
[...]
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00 EFI System Partition
[...]
Теперь мы должны:
- удалить этот раздел EF00
- создать новый HFS+ на его месте
Command (? for help): d
Partition number (1-3): 1
Command (? for help): n
Partition number (1-128, default 1): 1
Just leave defaults values in the sector phase
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): AF00
Changed type of partition to 'Apple HFS/HFS+'
Command (? for help): w
Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!
Do you want to proceed? (Y/N): Y
OK; writing new GUID partition table (GPT) to /dev/sdd.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot.
The operation has completed successfully.
Теперь у нас есть неформатированный раздел HFS+. Для форматирования нам понадобятся некоторые инструменты; но, чтобы получить эти инструменты, нам нужно добавить список источников Debian припр.
$ echo "deb unstable main contrib non-free" > /etc/apt/sources.list.d/debian.list
$ apt update
$ apt install hfsprogs
Мы можем отформатировать этот раздел:
$ mkfs.hfsplus /dev/sd{X}1 -v Kali
Initialized /dev/sd{X}1 as a 512 MB HFS Plus volume
Теперь нам нужно отредактировать /etc/fstab файл:
$ gedit /etc/fstab
Это запустит Gedit. В этом файле локализуйте эти строки:
# /boot/efi был в /dev/sd{X}1 при установке
UUID={XXXXXXX} /boot/efi vfat по умолчанию 0 1
и удалить их.
Теперь размонтируйте загрузочный раздел, локализовав его с помощью:
$ mount | grep /boot/efi
/dev/sd{Y}1 on /boot/efi ...
$ umount /dev/sd{Y}1
Затем запустите это, чтобы добавить необходимые записи в файл fstab:
$ echo "UUID=$(blkid -o value -s UUID /dev/sd{X}1) /boot/efi auto defaults 0 0" >> /etc/fstab
Теперь нам нужно переустановить GRUB, чтобы она могла использовать недавно отформатированный раздел HFS+ для своих данных EFI:
$ mkdir -p /boot/efi/EFI/Kali
$ echo "This file is required for booting" > /boot/efi/EFI/Kali/mach_kernel
$ echo "This file is required for booting" > /boot/efi/mach_kernel
$ grub-install --target x86_64-efi --boot-directory=/boot --efi-directory=/boot/efi --bootloader-id=Kali
Затем нам нужно «благословить» код загрузчика, чтобы загрузчик Mac загрузил его. Для этого нам нужно hfsbless двоичный файл, который недоступен через apt. Нет проблем, просто клонируйте репозиторий и собирайте:
$ cd /root
$ git clone
$ cd mactel-boot
$ make
Тогда благослови:
./hfs-bless /boot/efi/EFI/Kali/System/Library/CoreServices/boot.efi
Последним шагом является создание конфигурации grub:
$ sed -i 's/GRUB_HIDDEN/#GRUB_HIDDEN/g' /etc/default/grub
$ sed -i 's/GRUB_TIMEOUT=10/GRUB_TIMEOUT=0.1/' /etc/default/grub
$ grub-mkconfig -o /boot/grub/grub.cfg
Хорошо! Теперь перезагрузитесь, и вы увидите свой USB-накопитель в загрузчике Mac, нажав ALT.
Виртуализация USB через Virtualbox
Если вам когда-нибудь понадобится загрузить этот USB-накопитель через Virtualbox (на Mac OSX), для этого есть простой трюк.
Прежде всего, вы должны создать диск VMDK, указывающий на сектора вашего USB-накопителя. Итак, давайте идентифицируем этот диск:
$ diskutil list
/dev/disk0 (internal):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme 500.3 GB disk0
1: EFI EFI 314.6 MB disk0s1
2: Apple_APFS Container disk1 499.3 GB disk0s2
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +499.3 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 222.0 GB disk1s1
2: APFS Volume Preboot 22.4 MB disk1s2
3: APFS Volume Recovery 519.9 MB disk1s3
4: APFS Volume VM 3.2 GB disk1s4
/dev/disk3 (external, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *32.0 GB disk3
В нашем случае это да /dev/disk3. Давайте отключим, прежде чем продолжить:
$ diskutil unmountDisk /dev/disk{X}
Установив VirtualBox, запустите:
$ sudo VBoxManage internalcommands createrawvmdk -filename ~/Kali.vmdk -rawdisk /dev/disk{X}
$ chmod 777 ~/Kali.vmdk
$ chmod 777 /dev/disk{X}
Хорошо. Теперь запустите Virtualbox UI и создайте новую машину со следующими параметрами:

Когда VirtualBox спросит у вас диск, давайте укажем на тот VMDK, созданный ранее:

Прежде чем запускать аппарат, давайте перейдем к настройкам и настроим количество процессов, видео и память.
Главное – установить Включите EFI под Система > Motherboaр.

Это позволит вам загружаться через EFI. Теперь запустите виртуальную машину и сразу же нажмите F12.
Выберите Менеджер по обслуживанию загрузки:

Выберите Загрузка из файла:

Затем выберите {SATA_DRIVE} > EFI > Kali > Система > Библиотека > CoreServльда > boot.efi

И вуаля:

Следите за обновлениями 🙂