Как установить Kali на USB-накопитель с чистой загрузкой EFI на Mac (и давайте добавим виртуализацию…)

1656623894 kak ustanovit kali na usb nakopitel s chistoj zagruzkoj efi na

Флавио де Стефано

4gpgfTiIWkBqD2uzbQnol6MRZsush44I7cEv
Фото Джесси Смит на Unsplash

Это руководство предназначено для всех, кто хочет 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 для запуска программы установки.

herBiK1Li76oxQJ5Fl02yfTSfXGQdm5JgrCd

Программа установки 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 и создайте новую машину со следующими параметрами:

qS3uVh4RdvQJAFVy0jmkqZhpyQQ0PGQqmoWG

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

AA9j6gr54XyAfs3p8Mpd6HBZLcQK1-Rhs1Ih

Прежде чем запускать аппарат, давайте перейдем к настройкам и настроим количество процессов, видео и память.

Главное – установить Включите EFI под Система > Motherboaр.

0MGTYcD-c73t74caXSThnyGVs5tAxCckTUwj

Это позволит вам загружаться через EFI. Теперь запустите виртуальную машину и сразу же нажмите F12.

Выберите Менеджер по обслуживанию загрузки:

y2JWUUCp8tBEm8CXGFsPgQrAcIiSiOuESu7y

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

28WvE2oTBD8B76bqCuz82lkT5NYk9EhT44Ed

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

b8QCTg5i89Mlv3jGiuTWtokG0jHj4YkAgGyp

И вуаля:

m4XOkbkaermzUe7hS-3tZADOBUQsGE0nOUHI

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *