当前情况描述

当前情况描述

我本质上是想将 Kali 安装到 USB 驱动器上。我不是要制作一个带/不带持久性的实时 Kali,而是要将 Kali 完全安装到 USB 驱动器上。

对我来说,具有持久性的 Live USB 限制有点太多,我通常在 ubuntu 上工作,我认为我可以切换到 Kali 然后就结束了。

当前情况描述

我的 MacBook Pro 已经具有 Windows 10 和 Mac OS X 双启动功能。我正在尝试创建一个可以被 Mac 引导加载程序识别的 USB Kali 安装。

我安装 Kali 的方式是设置一个 Vbox 以使用物理硬盘(usb)作为主磁盘,然后将 kali live 安装到虚拟 cd 并将其直接安装到棒上。

效果很好。

问题

问题是默认情况下 grub 会安装到 MBR,而最近版本的 MacBook 似乎不喜欢这种做法(当我使用选项启动时,我从未在其他分区旁边看到过 USB)。我想我需要某种 EFI 兼容性/配置,但不太确定如何继续。

我在网上找到的大多数信息都是关于制作实时 USB 而不是实际安装。似乎有一种方法可以在主机上使用 rEFInd,但我正在寻找一种可以让我的 USB 在任何设备上启动的选项。

任何帮助,将不胜感激。

答案1

回答我自己的问题。

简短的回答是,最近的 MacBook Pro(至少 2017 年及以后)希望在 USB 的开头有一个 ESP(FAT32)分区,文件位于/EFI/boot/bootx64.efi(如果您来这里是为了解决类似的问题,但不是在 Mac 上,请将 x64 替换为您的体系结构。本答案的其余部分将假设 x64)。奇怪的是,Kali 安装不包括此路径上的文件,而是将其放在/EFI/kali/kalix64.efi。这很奇怪,因为安装的 Kali 包含在 ./boot/efi/EFI/boot/bootx64.efi旁边/boot/efi/EFI/kali/kalix64.efi。想知道为什么它从一开始就不直接将其包含在正确的分区中。

还有一些其他注意事项,因此下面是基本操作。我使用 VirtualBox 是因为默认情况下不支持内置键盘、触摸板和 wifi,因此直接安装需要 2 个 USB 驱动器,以及至少一个外置键盘或自定义版本的 kali 安装程序,与 VirtualBox 相比,这两项工作对我来说都太繁重了:

  • 在 Mac OS X 上,以 root 身份打开 VirtualBox,以避免使用以下方法出现奇怪的分区错误:sudo VirtualBox
  • 创建一个新的虚拟机,任何硬盘选项都可以。确保你已Settings > System > Enable EFI检查,这是必需的。在 中设置你的 USB ,并在虚拟 CD 上Ports设置你的 kali 安装 ISOStorage
  • 启动虚拟机并继续安装
  • 同意任何与 UEFI 相关的内容
  • 当涉及到分区时,选择entire device您的 USB。它会询问您是否要重新格式化分区表(或类似的东西),选择是。之后选择可用空间并执行推荐的安装。您现在应该有 3 个分区(ESP、ext4、swap)。如果您仔细检查 ESP 分区,它应该是 EFI 可启动分区(我看到的默认设置,但值得仔细检查)
  • 继续安装
  • 同意安装 grub,如果系统提示你安装到哪个设备,请选择你的 USB
  • 完成安装后你将自动重新启动进入 kali 安装

现在,在 kali 中我们将修复启动并安装您的 MacBook 缺少的驱动程序:

  • 安装键盘和触摸板驱动程序检查完整安装文档适用于您的特定 MacBook 版本。以下是对我有用的方法(14,3):
echo -e "\n# applespi\napplespi\nspi_pxa2xx_platform\nintel_lpss_pci" >> 
/etc/initramfs-tools/modules

apt install dkms
git clone https://github.com/roadrunner2/macbook12-spi-driver.git /usr/src/applespi-0.1
dkms install -m applespi -v 0.1
  • 通过运行 修复 grub 选项sudo update-grub。由于某种原因,安装grub.cfg文件包含设备路径而不是 UUID。可能是因为实时 grub 配置。这将修复它并防止出现令人讨厌的问题,即您看到 grub,但它却无法找到正确的分区和文件路径
  • 使用 找到您的 ESP 分区fdisk -l。您正在寻找一个 200-250MB 的 fat32 分区,应该是 USB 上的第一个分区。找到后,/dev/sd{x}{#}继续下一步。(/dev/sdb1如果您遵循上述 VM 配置,则可能会如此)
  • 使用以下方式挂载分区mount /dev/sd{x}{#} /mnt(根据需要替换 {x}、{#})
  • ls /mnt/EFI/kali/应该会显示一个kalix64.efi文件。只需创建一个新的启动文件夹并复制此文件并重命名它:
mkdir /mnt/EFI/boot
cp /mnt/EFI/kali/kalix64.efi /mnt/EFI/boot/bootx64.efi
  • option关闭虚拟机,插入 USB 并按下按钮重启 Mac
  • 享受。

相关内容