Mac boot menu not showing recently installed Linux OS
I installed GNU/Linux Kali on my Early-2015 MacBook Pro (Mojave) by following the instructions on the Kali official website for dual boot. Linux runs fine but it boots by default. When I went to boot into Macintosh HD from the boot menu, I noticed my new Linux OS was not showing, so I held off on changing macOS to default.
The steps I followed for the installation were:
- Resize 500 GB partition to 450 GB with
diskutil apfs resizeContainer
- Download contents of kali-linux-2020.4-live-amd64.iso and burn into USB drive with
dd
- Boot into boot menu (hold down option key during power-on)
- Boot from USB
- Follow installation instructions (Guided - use the largest continuous free space)
Any ideas what could be wrong?
Listed disks in case that helps:
~$ diskutil list
/dev/disk0 (internal, physical):
#: TYPE NAME SIZE IDENTIFIER
0: GUID_partition_scheme *500.3 GB disk0
1: EFI EFI 209.7 MB disk0s1
2: Apple_APFS Container disk1 450.1 GB disk0s2
3: Linux Filesystem 48.9 GB disk0s3
4: Linux Swap 1.0 GB disk0s4
/dev/disk1 (synthesized):
#: TYPE NAME SIZE IDENTIFIER
0: APFS Container Scheme - +450.1 GB disk1
Physical Store disk0s2
1: APFS Volume Macintosh HD 268.7 GB disk1s1
2: APFS Volume Preboot 46.0 MB disk1s2
3: APFS Volume Recovery 510.4 MB disk1s3
4: APFS Volume VM 1.1 GB disk1s4
There are two methods which can be used when an installed Linux does not appear in the Mac Startup Manager. (The OP refers to the Mac Startup Manager as the "boot menu".)
- Method 1: Create folders, copy files and rename files from the linux installation so the Linux will appear in the Mac Startup Manager. This may not be possible will all Linux installations. The main problem with this method is that the Linux installation does not know of these changes. So future updates to Linux may cause an unstable boot environment.
- Method 2: Basically this is the same as Method 1 except instead of harvesting files from the Linux installation, the necessary files are taken from the download of the rEFInd Boot Manger.
In the case of Kali Linux, the steps to implement Method 1 are given below.
-
Boot to macOS.
-
Mount the EFI volume. Open a Terminal application window and enter the command given below.
sudo diskutil mount disk0s1
-
Create folders, copy files and rename files. Enter the following commands in the Terminal application window.
mkdir -p /Volumes/EFI/EFI/BOOT cp /Volumes/EFI/EFI/kali/grubx64.efi /Volumes/EFI/EFI/BOOT/bootx64.efi
-
Unmount the EFI volume. Enter the command given below.
diskutil unmount disk0s1
The steps to implement Method 2 are given below.
-
Boot to macOS.
-
Use Safari to download rEFInd. Be default, the download should automatically unzip to the
~/Downloads/refind-bin-0.12.0
folder. -
Mount the EFI volume. Open a Terminal application window and enter the command given below.
sudo diskutil mount disk0s1
-
Create folders, copy files and rename files. Enter the following commands in the Terminal application window.
cd ~/Downloads/refind-bin-0.12.0/refind mkdir -p /Volumes/EFI/EFI/BOOT cp refind_x64.efi /Volumes/EFI/EFI/BOOT/boot_x64.efi cp refind.conf-sample /Volumes/EFI/EFI/BOOT/refind.conf
-
Edit rEFInd configuration file. Enter the following command in the Terminal application window.
nano /Volumes/EFI/EFI/BOOT/refind.conf
Add the following text to the end of the file. When finished press control+X key combination to save the modified buffer and exit the editor.
timeout -1 hideui all scanfor manual menuentry Kali { loader /EFI/kali/grubx64.efi }
-
Change the label which will appear on the Mac Startup Manager display. Enter the command given below.
bless --folder /Volumes/EFI/EFI/BOOT --label Kali
-
(Optional.) Install a Kali icon to appear on the Mac Startup Manager display. Use Safari to download Mac icns. Enter the following commands to install the icon.
hdiutil attach ~/Downloads/mac-icns.dmg cp /Volumes/mac-icns/OSX10.11.6/os_kali.icns /Volumes/EFI/.VolumeIcon.icns diskutil eject mac-icns
-
Remove the
._*
files. Enter the command given below.dot_clean /Volumes/EFI/EFI/BOOT
-
Unmount the EFI volume. Enter the command given below.
diskutil unmount disk0s1
I should point out that the Offensive Security macOS/Kali dual boot installation instructions replaced the Mac Startup Manager with the rEFInd Startup Manager. The installation procedure outlined by the OP seems to followed those of Offensive Security, but did not finish with the installation of rEFInd. The OP might consider continuing the installation by starting with the instructions in the section titled "Installing rEFInd using Kali Linux".
macOS boot manager, on my system at least, only has the ability to select macOS and a bootcamp installation if present.
If you want to manage installations of operating systems outside of Apple's supported installation methods you'll need a boot manager such as refind.