You can setup a grubless boot of Ubuntu which can be executed by the Mac boot loader, however the Mac Startup Manager will not detect such an arrangement. You would have to use a different boot manager such as rEFInd.
Another solution would be to install grub entirely on the SD card, leaving the EFI partition on the internal drive use by Windows. Or, create a second EFI partition on the internal drive, so the grub and Windows boot files will not overlap.
Moving Grub Boot Files to the SD Card
When installing Ubuntu on the SD card, an EFI partition should be created on this card. The Grub boot files should be installed in the EFI partition. The However, the Ubuntu installation software will install the Grub boot files on internal drive EFI partition instead. Below are instructions for moving these files to the EFI partition on the SD card.
Note: The steps below assume the device name for the SD card is
/dev/sdb. If your device name is different, then make the appropriate substitutions when entering the commands.
Boot to Ubuntu.
Turn off automatic updates. Open "Software & Updates" and set "Automatically check for Updates:" to
Never. See the image below.
Open a Terminal window.
Verify the first partition on the SD Card is FAT formatted. Enter following command.
sudo blkid /dev/sdb1
TYPE is not equal to
vfat, then the first partition on the SD card is not an EFI Partition. If
TYPE is equal to
vfat, then record the
UUID value and proceed with these instructions.
Move the Grub boot files to the SD Card. Enter the following commands.
sudo mount -t vfat /dev/sdb1 efi
sudo mv /boot/efi/EFI/Boot efi/EFI/boot
sudo mv /boot/efi/EFI/ubuntu efi/EFI/ubuntu
sudo umount /dev/sdb1
/etc/fstab file so Ubuntu will know the new location of the Grub boot files. Enter the following command.
sudo nano /etc/fstab
Find the line with the mount point
/boot/efi. Replace the
UUID value on this line with with the value recorded in step 4. Exit the editor and save the change.
The installation of Ubuntu replaced the
bootx64 file that was first created by the Boot Camp installation. The following commands rectify this replacement. (The
bootmgfw.efi files used by Windows are the same.)
sudo mkdir /boot/efi/EFI/Boot
sudo cp /boot/efi/EFI/Microsoft/Boot/bootmgfw.efi /boot/efi/EFI/Boot/bootx64.efi
Restart the Mac and boot back to Ubuntu.
If necessary, restore automatic updates to the previous setting.