So installieren Sie Kali auf einem USB-Stick mit reinem EFI-Boot auf einem Mac (und lassen Sie uns die Virtualisierung einführen ...

Dieses Tutorial richtet sich an alle, die einen USB-Stick mit einer vollständigen Kali-Installation für Ihre Macs verwenden möchten. Dies ist nicht dazu gedacht, eine Live Kali-Installation mit Beständigkeit durchzuführen.

Das Problem bei der Durchführung einer Kali-Installation auf einem USB-Stick besteht darin, dass Kali die Festplatte mit dem VFAT-Dateisystem partitioniert. Mac OS erkennt nur HFS + -Partitionen zusammen mit einigen dafür benötigten Dateien.

Also brauchst du:

  • Dein Mac
  • Ein USB-Stick mit Kali ISO-Installationsprogramm
  • Ein Ziel-USB-Stick, eine SD-Karte oder ein externes SSD-Laufwerk, auf dem Sie Kali installieren möchten (16 GB und USB 3.0 empfohlen)

Dieses Tutorial wurde stark von diesem Tutorial mit den richtigen Korrekturen für Kali inspiriert. //medium.com/@mmiglier/ubuntu-installation-on-usb-stick-with-pure-efi-boot-mac-compatible-469ad33645c9

USB Live-Installation

Installieren Sie zunächst Kali auf einem USB-Stick, indem Sie diesem Tutorial folgen. Ich werde Sie nicht stören, wie Sie mit diesem Schritt fortfahren sollen, aber beginnen Sie hier:

$ sudo dd if={KALI_ISO.iso} of=/dev/{USB} bs=1m 

Wenn Sie bereit sind, starten Sie Ihren Mac neu. Stecken Sie beide USB-Sticks ein, drücken Sie ALT und wählen Sie den EFI-Start , um das Live-Installationsprogramm zu starten.

Das Kali-Installationsprogramm stellt Ihnen verschiedene Fragen zu Ihrer Zeitzone und Ihrem Tastaturlayout.

Fahren Sie fort, bis Sie aufgefordert werden, Festplatten zu partitionieren. Wählen Sie hier: Manuell. Wählen Sie dann Ihr USB- Ziellaufwerk aus (auf dem Sie Kali installieren möchten). Sie erkennen es an verschiedenen Faktoren, beispielsweise an der Größe. Klicken Sie auf Weiter: Dadurch wird Ihr Laufwerk partitioniert.

Kehren Sie nun wieder zum selben Bildschirm zurück und wählen Sie den FREE SPACE unter dem USB-Ziellaufwerk aus. Klicken Sie auf Weiter und wählen Sie Den freien Speicherplatz automatisch partitionieren. Befolgen Sie die empfohlene Option. Klicken Sie dann auf Partitionierung beenden und schreiben Sie die Änderung auf die Festplatte .

Der Installationsvorgang kopiert jetzt Daten auf die Festplatte. Warten Sie, bis es fertig ist (dies dauert ca. 30 Minuten).

Booten Sie von GRUB Live

Sobald Sie fertig sind, wird Ihr Mac neu gestartet und Sie müssen erneut ALT drücken . Wählen Sie erneut EFI-Start .

Was wir jetzt tun müssen, ist das Laden unseres installierten Kali-Systems über Live GRUB , da unser installiertes System keinen von MacOS erkennbaren Bootloader hat.

Sobald GRUB geladen ist, drücken Sie c , um die GRUB-Befehlszeilenschnittstelle aufzurufen.

Jetzt müssen Sie verstehen, in welcher HD Ihre Kali-Installation ist. Geben Sie dazu beim Laden von GRUB cli ls ein . Werfen Sie Ihren USB-Stick aus und geben Sie ls erneut ein.

grub> ls (memdisk) (hd0) (hd1) (hd1,gpt3) (hd1, gpt2) (hd1,gpt1) ...

Sie werden feststellen, dass ein HD {X} verschwunden ist: das ist Ihr Laufwerk. Jetzt musst du dein gpt finden. Wahrscheinlich ist es das gpt2 , aber um sicherzugehen, geben Sie Folgendes ein :

grub> ls (hdX,gpt2)/boot/grub unicode.pf2 ...

Wenn der Befehl sagt, dass unicode..es das richtige gpt ist; versuche es mit anderen gpts . Suchen Sie nun Ihre UUID der Partition und kommentieren Sie sie.

grub> ls -l (hdX},gpt{X}) Partition hd2,gpt2: Filesystem type ext* 〈...snip...〉 UUID e86c20b9-83e1-447d-a3be-d1ddaad6c4c6 - Partition start at [...]

Jetzt können wir die Parameter zum Booten nicht auf GRUB setzen (verwenden Sie die Tabulatortaste , um die automatische Vervollständigung zu verwenden):

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

Dies sollte Ihre vollständige Kali-Installation mit dem Live GRUB starten . Sie können sich von der Live-Umgebung durch das Kennwort unterscheiden, das während des Anmeldevorgangs erkannt wird.

Fixieren der EFI-Partition

Sobald Sie in Ihrer Kali-Installation angemeldet sind, öffnen Sie das Terminal und geben Sie Folgendes ein:

$ fdisk -l

und finde dein Laufwerk.

Öffnen Sie nun gdisk (standardmäßig auf Kali installiert), um das Laufwerk zu partitionieren (seien Sie hier sehr vorsichtig):

$ 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):

Drucken Sie die Partitionstabelle und bestätigen Sie, dass die erste Partition den Typ EF00 hat:

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 [...]

Jetzt müssen wir:

  • Löschen Sie diese EF00-Partition
  • Erstellen Sie einmal an seiner Stelle ein neues 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.

Jetzt haben wir eine unformatierte HFS + -Partition. Zum Formatieren benötigen wir einige Tools. Um diese Tools zu erhalten, müssen wir die Debian-Quellliste zu apt hinzufügen .

$ echo "deb //ftp.debian.org/debian unstable main contrib non-free" > /etc/apt/sources.list.d/debian.list $ apt update $ apt install hfsprogs

Wir können diese Partition formatieren:

$ mkfs.hfsplus /dev/sd{X}1 -v Kali Initialized /dev/sd{X}1 as a 512 MB HFS Plus volume

Jetzt müssen wir die Datei / etc / fstab bearbeiten :

$ gedit /etc/fstab

Dadurch wird Gedit gestartet. Lokalisieren Sie in dieser Datei die folgenden Zeilen:

# / boot / efi war während der Installation auf / dev / sd {X} 1

UUID = {XXXXXXX} / boot / efi vfat ist standardmäßig 0 1

und löschen Sie sie.

Hängen Sie nun die Startpartition aus und lokalisieren Sie sie mithilfe von:

$ mount | grep /boot/efi /dev/sd{Y}1 on /boot/efi ... $ umount /dev/sd{Y}1

Führen Sie dann Folgendes aus, um die erforderlichen Einträge zu Ihrer fstab-Datei hinzuzufügen:

$ echo "UUID=$(blkid -o value -s UUID /dev/sd{X}1) /boot/efi auto defaults 0 0" >> /etc/fstab

Jetzt müssen wir GRUB neu installieren, damit es die neu formatierte HFS + -Partition für seine EFI-Daten verwenden kann:

$ 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

Wir müssen dann den Bootloader-Code „segnen“, damit der Mac-Bootloader ihn bootet. Dazu benötigen wir eine hfsbless- Binärdatei, die nicht über apt verfügbar ist. Kein Problem, klonen Sie einfach das Repository und erstellen Sie:

$ cd /root $ git clone //github.com/detly/mactel-boot $ cd mactel-boot $ make

Dann segne:

./hfs-bless /boot/efi/EFI/Kali/System/Library/CoreServices/boot.efi

Der letzte Schritt besteht darin, die Madenkonfiguration zu erstellen:

$ 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

Perfecto! Starten Sie nun neu und Sie sollten Ihren USB-Stick im Mac-Bootloader sehen, indem Sie ALT drücken .

Virtualisierung des USB über Virtualbox

Wenn Sie diesen USB-Stick jemals über Virtualbox (unter Mac OS X) starten müssen, gibt es einen einfachen Trick, um dies zu tun.

Zunächst müssen Sie eine VMDK-Festplatte erstellen, die auf die Sektoren Ihres USB-Sticks verweist. Identifizieren wir also diese Festplatte:

$ 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

In our case, it is /dev/disk3. Let’s unmount before proceeding:

$ diskutil unmountDisk /dev/disk{X}

With VirtualBox installed, run:

$ sudo VBoxManage internalcommands createrawvmdk -filename ~/Kali.vmdk -rawdisk /dev/disk{X} $ chmod 777 ~/Kali.vmdk $ chmod 777 /dev/disk{X}

Perfecto. Now, run Virtualbox UI and create a new machine with the following settings:

When VirtualBox asks you for a disk, let’s point to that VMDK created before:

Before starting up the machine, let’s go to Settings and adjust your process counts, video and memory.

The important things are to set Enable EFI under System > Motherboard.

This will allow you to boot via EFI. Now start the virtual machine and immediately press F12.

Select Boot Maintenance Manager:

Select Boot from file:

Then select {SATA_DRIVE} > EFI > Kali > System > Library > CoreServices > boot.efi

And, voilà:

Stay tuned :)